R/quantstrat For Fun & Profit

advertisement
R/quantstrat For Fun & Profit
Motivation
Why R/quantstrat?
Overview: The Toolset
Data Warehousing with XTS
Modeling
Backtesting
E. Allen (e@biglucre.com)
Nov. 4th 2013
Pittsburgh R Users Group Lightning Talk
References
Jan Humme, Brian Peterson @ R/Finance 2013:
http://www.rinfinance.com/agenda/2013/workshop/Humme+Peterson.pdf
Guy Yollin, quantstrat/blotter lecture notes:
http://www.r-programming.org/papers
Blair Hull @ R/Finance 2012:
http://www.rinfinance.com/agenda/2012/talk/BlairHull.pdf
My Blog: http://ww.biglucre.com/
This presentation focuses on brevity and perceived gaps in
more comprehensive resources. Slides will be available.
R/quantstrat For Fun & Profit: Motivation
Quantitative Trading Motivation
• Profit!
• But, it’s risky – not good for regular income to pay the
rent. Don’t quit your day job – unless you’re working for a
group that really knows what they’re doing.
• But, it is also interesting!
• Not as expensive as you might think to trade –except for
High Frequency.
R/quantstrat For Fun & Profit: Why R/quantstrat?
Why R/quantstrat?
• Features – Leveraging framework with much of what
commercial packages offer.
• Flexibility – Ability to change for own use.
• Cost
• Used in professional trading firms.
• From Blair Hull: xts, xtime, indexing, sde, monomvn, lars,
fUnitRoots, fGarch, manova
• Proprietary trading firm contributions, even those with
large operations.
R/quantstrat For Fun & Profit: The Toolset
The Toolset (from Humme/Peterson)
R/quantstrat For Fun & Profit: The Toolset: quantstrat
The Toolset: quantstrat
• Part of the TradeAnalytics package
• https://r-forge.r-project.org/projects/blotter/
• Not yet available on CRAN (under heavy development)
• Installing quantstrat:
• http://biglucre.com/environment/ (Linux/from source)
• or, you can try:
install.packages("quantstrat", repos="http://R-Forge.Rproject.org")
R/quantstrat For Fun & Profit: The Toolset: quantstrat
The Toolset: quantstrat
• Recommended Reading: Trading
Systems: A New Approach to System
Development and Portfolio
Optimisation by Tomasini and Jaekle
• This text follows the development
and testing of a simple system, Luxor
which is featured in several quantstrat
demos.
R/quantstrat For Fun & Profit: The Toolset: quantstrat
Professional+Commercial Tools will provide:
1. Data Warehouse
2. System Development
3. Production Strategy Deployment
R/quantstrat can be used for 1 and 2 –
maybe 3.
R/quantstrat For Fun & Profit: The Toolset: quantstrat
Toolset: quantstrat (from Humme/Peterson)
R/quantstrat For Fun & Profit: The Toolset: quantstrat
Toolset: quantstrat
Functional Programming Workflow
• Indicators and Signals add columns to mkdata xts
object.
• Applying a Strategy results in a blotter object that
contains trade information, ready for analysis.
• More advanced features include optimization
methods and parallelization.
R/quantstrat For Fun & Profit: Data Warehousing
Data Warehousing
• Acquire Data
• Record from feed (IQFeed, Interactive Brokers)
• Purchase (tickdata.com, IQFeed 6-mo backfill)
Code for the following forthcoming at www.biglucre.com
• Import Data
• Use read.csv, convert to xts, name columns for BBO or
OHLC data
• Use FinancialInstrument SaveSymbols()/getSymbols.FI to
• save xts data into daily .rda data files
• load/merge subsets of daily data into xts objects
R/quantstrat For Fun & Profit: Modeling
Modeling
R offers many useful packages. Some examples:
• urca: Unit root and cointegration tests for time series data
http://cran.r-project.org/web/packages/urca/index.html
• fGarch: Rmetrics - Autoregressive Conditional
Heteroskedastic Modelling
http://cran.r-project.org/web/packages/urca/index.html
R/quantstrat For Fun & Profit: Backtesting
Backtesting (from Humme/Peterson)
R/quantstrat For Fun & Profit: Backtesting
Backtesting (from Humme/Peterson)
R/quantstrat For Fun & Profit: Optimization
Optimization/Parallelization (from Guy Yollin)
R/quantstrat For Fun & Profit: Questions?
Questions?
Appendix A: Equity curve for a strategy
under development.
Download