[分享] quantstrat 套件分享

楼主: naturalsmen (日日夜夜)   2016-07-24 02:53:28
1. 套件名称:
quantstrat 0.9.1739
Depends:
R(>= 2.10),
quantmod,
xts(>= 0.8-2),
blotter(>= 0.9),
FinancialInstrument(>= 0.12.5),
foreach(>= 1.4.0)
Repos:
https://github.com/braverock/quantstrat
https://R-Forge.R-project.org
2. 套件主要用途:
提供股票和各国货币等资产组合模拟交易的框架
能够产生商品k线图、进出场flag、留仓部位等
也支援使用者定义的技术指标、买卖手续费设定
http://imgur.com/a/BJ5Zo
提供交易次数、Annual Sharpe Ratio、MAE、MFE、年化算术平均/几何报酬率等统计资料
http://imgur.com/a/RsTO1
还有基于平行运算的Walk Forward Analysis
http://imgur.com/a/vsm9l
但因为OS的问题 注册cluster的方式不一样 需要不同的package
Windows: doParallel、doRedis、snow等
Ubuntu: doMC
由于多数Finance相关的package都是基于quantmod的框架再延伸
所以有蛮多相依的套件,但我觉得主要功能是在quantstrat
所以标题就用quantstrat了XD
3. 套件主要函数列表:
quantstrat:
add.indicator
add.signal
add.rule
applyStrategy
apply.paramset
add.distribution
add.distribution.constraint
walk.forward
blotter:
tradeStats
chart.Posn
FinancialInstrument:
currency
stock
4. 分享内容:
其实网络上资料蛮多的,但都是英文
所以我很纳闷怎么都没有人写中文的教学文
台湾看到的回测程式大多是用Python、VBA或现成套装软件居多
想说可以推广一下R这个还蛮方便的package
Analysis、Visualization和用平行运算处理参数最佳化和WFA是他的特色
不过觉得他的documentation不是很完整
由于我今年GSoC的project是整合Josh新的xts_0.10-0和quantmod、quantstrat等套件
和加入dynamic graphs feature
顺利的话在计画结束前应该能把他补得更完整
如果想要自动交易
台湾券商的话 可以将R作为computing server
将结果pass到C++进行下单
国外券商的话
可以用IBroker直接用R跟国外券商API串接
就可以下单了
如果跟shiny结合 就可以做出一个简单的线上应用
https://naturalsmen.shinyapps.io/Backtest
这是小弟有段时间之前写来自用的
已经内建策略了
所以请忽略首页设定参数的tab
直接到Backtest 选择股号就可以run了
run完请选择Backtest result
highchart是我之前加上去的
不在本文介绍的范围内
日后有时间应该会把他完善
这边就先用来做个简单的范例
作者: cywhale (cywhale)   2016-07-24 08:13:00
传这个给同事他应该就有动力学R了 详细推~~
作者: ofspring (青春无敌)   2016-07-24 10:10:00
impressive, 想问MAC需要的套件组要到哪个网站查询呢?
作者: LinNine (0-9)   2016-07-24 10:24:00
推~
作者: snoopyleo (snoopyleo)   2016-07-24 21:07:00
谢谢分享!
作者: roqe (sojourner)   2016-07-24 23:35:00
好长,慢慢看~
作者: kevin0401 (kevin)   2016-07-25 08:00:00
GOOD
作者: psinqoo (零度空間)   2016-07-25 08:29:00
拍手~~
作者: howard40116   2016-07-25 20:31:00
推广一下~~会有一堆人想来学
作者: celestialgod (天)   2016-07-25 20:36:00
推,谢谢大大分享
作者: h310713 (虎虎虎)   2016-07-28 09:44:00
跪下来了

Links booklink

Contact Us: admin [ a t ] ucptt.com