RenkoChart

RenkoChart[{{date1,p1},{date2,p2},}]

makes a Renko chart with prices pi at date datei.

RenkoChart[{"name",daterange}]

makes a Renko chart of closing prices for the financial entity "name" over the date range daterange.

RenkoChart[{},s]

makes a Renko chart with brick height of fraction s of the average price.

Details and Options

  • RenkoChart displays as a sequence of bricks and is used to track price movement; neither time nor volume is included.
  • A Renko chart is drawn as a series of fixed-height bricks. A brick is drawn in a new column when the price rises above the top of the previous brick or drops below the bottom of the previous brick, by a fixed amount.
  • RenkoChart[] is equivalent to RenkoChart[,{"Relative",0.1}, 1] for a brick height of 10% of the high minus low price range.
  • The following arguments can be used to specify the brick height s:
  • {"Relative",p}fraction of high minus low price (default)
    {"Absolute",p}absolute price change
  • The dates datei are considered an ordered sequence of events and are not shown on an absolute time scale.
  • The date formats for datei are the same as used in DateListPlot.
  • The "name" and daterange are the same as used in FinancialData.
  • Data elements for RenkoChart can be given in the following forms:
  • {datei,pi}a pure date-price pair
    wi[{datei,pi},]a date-price pair and wrapper wi
    formi->mia date-price pair with metadata mi
  • A brick may represent several date-price pairs, and the corresponding wrappers will apply to the entire brick.
  • Data not given in these is taken to be missing and typically is excluded when generating the chart.
  • Data for RenkoChart can be given in the following forms:
  • {e1,e2,}list of elements with or without wrappers
    w[{e1,e2,}]wrapper applied to the whole data
  • The following wrappers can be used for data elements:
  • Annotation[e,label]provide an annotation
    Button[e,action]define an action to execute when the element is clicked
    EventHandler[e,]define a general event handler for the element
    Hyperlink[e,uri]make the element act as a hyperlink
    Labeled[e,]display the element with labeling
    PopupWindow[e,cont]attach a popup window to the element
    StatusArea[e,label]display in the status area when the element is moused over
    Style[e,opts]show the element using the specified styles
    Tooltip[e,label]attach an arbitrary tooltip to the element
  • In RenkoChart, Labeled and Placed allow the following positions:
  • Top,Bottom,Left,Right,Centerpositions within bricks
    Above, Below, Before, Afterpositions outside bricks
    {{bx,by},{lx,ly}}scaled position {lx,ly} in the label at scaled position {bx,by} in the brick
  • RenkoChart has the same options as Graphics, with the following additions and changes:
  • AspectRatio1/GoldenRatiooverall ratio of width to height
    AxesTruewhether to draw axes
    ChartBaseStyleAutomaticoverall style for bricks
    ChartElementFunctionAutomatichow to generate raw graphics for bricks
    ChartElementsAutomaticgraphics to use in each of the bricks
    DateFunctionAutomatichow to convert dates to standard form
    EventLabelsNoneevents to label
    GridLinesAutomaticgrid lines to draw
    GridLinesStyleAutomaticstyle for grid lines
    PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
    PlotTheme$PlotThemeoverall theme for the plot
    TrendStyleAutomatichow to style up and down trends
    ScalingFunctionsNonehow to scale the axis
  • The arguments supplied to ChartElementFunction are the brick region {{xmin,xmax},{ymin,ymax}}, the date-price pairs list, and metadata {m1,m2,}.
  • A list of built-in settings for ChartElementFunction can be obtained from ChartElementData["RenkoChart"].
  • With the setting ChartElements->{up,down}, up and down will be used for up and down bricks, respectively.
  • EventLabels->{,datei->lbli,} specifies a label associated with datei. The label will be displayed with the brick that has a date range that includes datei.
  • With ScalingFunctions->sy, the function sy is applied to the prices. ScalingFunctions only affects the display and none of the controls.
  • Style and other specifications from options and other constructs in RenkoChart are effectively applied in the order TrendStyle, Style and other wrappers, and ChartElementFunction, with later specifications overriding earlier ones.

Examples

open allclose all

Basic Examples  (2)

Chart the prices from a list of values:

Use three months of prices from FinancialData entities:

Specify a date range:

Scope  (20)

Data and Wrappers  (12)

Automatically get quarterly data for a financial entity:

Get data for a specific date range:

Get data from FinancialData:

Brick size by default is a fraction of the price range:

Specify brick sizes as a fraction of the price range:

Use absolute brick sizes:

Use wrappers on individual data:

Use wrappers on entire datasets:

Wrappers can be nested:

Override the default tooltips:

Use PopupWindow to provide additional drilldown information:

Button can be used to trigger any action:

Styling and Appearance  (5)

Specify styles for up and down trends:

Use preset styles:

ChartBaseStyle can be used to set a style for all chart elements:

Style can be used to override styles:

Use built-in programmatically generated bars:

Labeling  (3)

Use Labeled to add a label to a bar:

Use symbolic positions for label placement:

Label a list of date events:

Use Placed to control the positioning of labels, using the same positions as for Labeled:

Options  (44)

Axes  (2)

Use the default axes:

Turn off the axes:

AxesOrigin  (3)

Axes origin is on the left by default:

Place the axis at the end of February:

Use named positions for the axis:

ChartBaseStyle  (5)

Use ChartBaseStyle to apply overall styles for the bricks:

Add gray edges to the bricks:

ChartBaseStyle combines with TrendStyle:

TrendStyle may override the settings for ChartBaseStyle:

Style overrides the settings for ChartBaseStyle:

ChartElements  (6)

Use any Graphics object for the bricks:

Use different markers for up and down trends:

Graphical elements pick up the style from TrendStyle:

Graphics3D:

Use images for the bars:

Chart elements are sized to fill the bricks:

Use explicit sizes for width and height:

ChartElementFunction  (4)

Get a list of built-in settings for ChartElementFunction:

These examples of ChartElementFunction show the global scale:

Write a custom ChartElementFunction:

EventLabels  (3)

Label a date event:

Use Placed to control label placement:

Use Placed to control label appearance:

GridLines  (4)

Grid lines are used by default:

Turn off date grid lines:

Turn off price grid lines:

Place grid lines at month or year boundaries:

Use dotted grid lines for months and red grid lines for years:

GridLinesStyle  (3)

By default, GridLinesStyle uses dotted grid lines with emphasized year grid lines:

Style grid lines:

GridLines overrides GridLinesStyle:

PerformanceGoal  (3)

Generate a RenkoChart with interactive highlighting:

Emphasize performance by disabling interactive behaviors:

Typically, less memory is required for non-interactive charts:

PlotRange  (3)

RenkoChart automatically draws all price dates:

Limit to a specific date range:

PlotRange only includes dates for which there is data:

ScalingFunction  (2)

Prices are normally shown on a linear scale:

Show prices on a logarithmic scale:

TrendStyle  (6)

TrendStyle uses green for up trends and red for down trends by default:

Use black for up trends and red for down trends:

Use named styles:

TrendStyle combines with ChartBaseStyle:

With TrendStyle set to None, the base style is used for up trends and empty bars for down trends:

TrendStyle->style uses style for up trends and empty bars for down trends:

Properties & Relations  (7)

Larger brick sizes filter out more noise:

RenkoChart only shows time periods with significant changes in price:

Use CandlestickChart to visualize the financial data:

Use TradingChart to visualize and analyze financial data:

Use InteractiveTradingChart to visualize and interactively analyze financial data:

Use PointFigureChart, LineBreakChart, and KagiChart to analyze the relation of financial prices and time:

Use DateListPlot to visualize financial data:

Introduced in 2010
 (8.0)
 |
Updated in 2014
 (10.0)