[分享] 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