Learn R Programming

quantmod (version 0.4.25)

chartSeries: Create Financial Charts

Description

Charting tool to create standard financial charts given a time series like object. Serves as the base function for future technical analysis additions. Possible chart styles include candles, matches (1 pixel candles), bars, and lines. Chart may have white or black background.

reChart allows for dynamic changes to the chart without having to respecify the full chart parameters.

Usage

chartSeries(x,
           type = c("auto", "candlesticks", "matchsticks", "bars","line"), 
           subset = NULL,
           show.grid = TRUE, 
           name = NULL,
           time.scale = NULL,
           log.scale = FALSE,
           TA = 'addVo()',
           TAsep=';',
           line.type = "l",
           bar.type = "ohlc",
           theme = chartTheme("black"),
           layout = NA,
           major.ticks='auto', minor.ticks=TRUE,
           yrange=NULL,
           plot=TRUE,
           up.col,dn.col,color.vol = TRUE, multi.col = FALSE,
           ...)

reChart(type = c("auto", "candlesticks", "matchsticks", "bars","line"), subset = NULL, show.grid = TRUE, name = NULL, time.scale = NULL, line.type = "l", bar.type = "ohlc", theme = chartTheme("black"), major.ticks='auto', minor.ticks=TRUE, yrange=NULL, up.col,dn.col,color.vol = TRUE, multi.col = FALSE, ...)

Value

Returns a standard chart plus volume, if available, suitably scaled.

If plot=FALSE a chob object will be returned.

Arguments

x

an OHLC object - see details

type

style of chart to draw

subset

xts style date subsetting argument

show.grid

display price grid lines?

name

name of chart

time.scale

what is the timescale? automatically deduced (broken)

log.scale

should the y-axis be log-scaled?

TA

a vector of technical indicators and params, or character strings

TAsep

TA delimiter for TA strings

line.type

type of line in line chart

bar.type

type of barchart - ohlc or hlc

theme

a chart.theme object

layout

if NULL bypass internal layout

major.ticks

where should major ticks be drawn

minor.ticks

should minor ticks be draw?

yrange

override y-scale

plot

should plot be drawn

up.col

up bar/candle color

dn.col

down bar/candle color

color.vol

color code volume?

multi.col

4 color candle pattern

...

additional parameters

Author

Jeffrey A. Ryan

Details

Currently displays standard style OHLC charts familiar in financial applications, or line charts when not passes OHLC data. Works with objects having explicit time-series properties.

Line charts are created with close data, or from single column time series.

The subset argument can be used to specify a particular area of the series to view. The underlying series is left intact to allow for TA functions to use the full data set. Additionally, it is possible to use syntax borrowed from the first and last functions, e.g. ‘last 4 months’.

TA allows for the inclusion of a variety of chart overlays and tecnical indicators. A full list is available from addTA. The default TA argument is addVo() - which adds volume, if available, to the chart being drawn.

theme requires an object of class chart.theme, created by a call to chartTheme. This function can be used to modify the look of the resulting chart. See chart.theme for details.

line.type and bar.type allow further fine tuning of chart styles to user tastes.

multi.col implements a color coding scheme used in some charting applications, and follows the following rules:

  • grey => Op[t] < Cl[t] and Op[t] < Cl[t-1]

  • white => Op[t] < Cl[t] and Op[t] > Cl[t-1]

  • red => Op[t] > Cl[t] and Op[t] < Cl[t-1]

  • black => Op[t] > Cl[t] and Op[t] > Cl[t-1]

reChart takes any number of arguments from the original chart call --- and redraws the chart with the updated parameters. One item of note: if multiple color bars/candles are desired, it is necessary to respecify the theme argument. Additionally it is not possible to change TA parameters at present. This must be done with addTA/dropTA/swapTA/moveTA commands.

References

Josh Ulrich - TTR package and multi.col coding

See Also

getSymbols, addTA, setTA, chartTheme

Examples

Run this code
if (FALSE) {
getSymbols("YHOO")
chartSeries(YHOO)
chartSeries(YHOO, subset='last 4 months')
chartSeries(YHOO, subset='2007::2008-01')
chartSeries(YHOO,theme=chartTheme('white'))
chartSeries(YHOO,TA=NULL)   #no volume
chartSeries(YHOO,TA=c(addVo(),addBBands()))  #add volume and Bollinger Bands from TTR

addMACD()   #  add MACD indicator to current chart

setTA()
chartSeries(YHOO)   #draws chart again, this time will all indicators present
}

Run the code above in your browser using DataLab