Learn R Programming

quantmod (version 0.4-5)

tradeModel: Simulate Trading of Fitted quantmod Object

Description

Simulated trading of fitted quantmod object. Given a fitted model, tradeModel calculates the signal generated over a given historical period, then applies specified trade.rule to calculate and return a tradeLog object. Additional methods can then be called to evaluate the performance of the model's strategy.

Usage

tradeModel(x, signal.threshold = c(0, 0), leverage = 1, return.model = TRUE, plot.model = FALSE, trade.dates = NULL, exclude.training = TRUE, ret.type = c("weeks", "months", "quarters", "years"), ...)

Arguments

x
a quantmod object from buildModel
signal.threshold
a numeric vector describing simple lower and upper thresholds before trade occurs
leverage
amount of leverage to apply - currently a constant
return.model
should the full model be returned?
plot.model
plot the model?
trade.dates
specific trade interval - defaults to full dataset
exclude.training
exclude the period trained on?
ret.type
a table of period returns
...
additional parameters needed by the underlying modelling function, if any

Value

A quantmodResults object

Details

Still highly experimental and changing. The purpose is to apply a newly contructed model from buildModel to a new dataset to investigate the model's trading potential.

At present all parameters are very basic. The near term changes include allowing for a trade.rule argument to allow for a dynamic trade rule given a set of signals. Additional the application of variable leverage and costs will become part of the final structure.

Any suggestions as to inclusions or alterations are appreciated and should be directed to the maintainer of the package.

See Also

specifyModel buildModel

Examples

Run this code
## Not run: 
# m <- specifyModel(Next(OpCl(QQQQ)) ~ Lag(OpHi(QQQQ)))
# m.built <- buildModel(m,method='rpart',training.per=c('2007-01-01','2007-04-01'))
# 
# tradeModel(m.built)
# tradeModel(m.built,leverage=2)
# ## End(Not run)

Run the code above in your browser using DataLab