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、留倉部位等
也支援使用者定義的技術指標、買賣手續費設定
提供交易次數、Annual Sharpe Ratio、MAE、MFE、年化算術平均/幾何報酬率等統計資料
還有基於平行運算的Walk Forward Analysis
但因為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是我之前加上去的
不在本文介紹的範圍內
日後有時間應該會把他完善
這邊就先用來做個簡單的範例