R语言blotter包及相关工具
(a) 簡(jiǎn)介
blotter依然是一個(gè)正在開發(fā)中的包,是TradeAnalytics項(xiàng)目的一部分,主要作者是Peter Carl,Brian Peterson。
http://r-forge.r-project.org/R/?group_id=316
http://r-forge.r-project.org/projects/blotter/
blotter包定義了一個(gè)交易系統(tǒng)所應(yīng)具有的產(chǎn)品、交易、組合和賬戶等基礎(chǔ)工具??梢灾С侄鄠€(gè)資產(chǎn)類別和多個(gè)幣種的投資組合。
(b) blotter包主要函數(shù)
賬戶的初始化: initPortf 初始化一個(gè) portfolio對(duì)象(投資組合)
initAcct 初始化一個(gè) account對(duì)象(賬戶)
處理: addTxn 為組合增加交易(transaction)
updatePortf 對(duì)每個(gè)周期的每個(gè)代碼(symbol)計(jì)算盈虧(P&L)(也會(huì)是更新組合的情況)
updateAcct 從組合數(shù)據(jù)和對(duì)應(yīng)的收盤價(jià)構(gòu)建證券賬戶
updateEndEq 對(duì)賬戶更新終止權(quán)益
getEndEq 獲得權(quán)益賬戶的最新值
getPosQty 獲得某日期的頭寸
分析:chart.Posn 為市場(chǎng)數(shù)據(jù)、頭寸大小和累積P&L繪制圖表
PortfReturns 計(jì)算組合產(chǎn)品的回報(bào)
getAccount 從 .blotter 環(huán)境獲得一個(gè)account對(duì)象
getPortfolio 從 .blotter 環(huán)境獲得一個(gè)portfolio對(duì)象
getTxns 從組合中取回交易
tradeStats 計(jì)算交易(trade)統(tǒng)計(jì)
perTradeStats 計(jì)算每一項(xiàng)交易(trade) flat to flat的統(tǒng)計(jì) (注:這里的trade指的是在某一個(gè)證券持有頭寸的完整交易過程,其中可以包括許多筆交易transaction)
(c) .blotter和.instrument環(huán)境
blotter包創(chuàng)建了一個(gè)名為.blotter的環(huán)境(environment)可以為account對(duì)象和portfolio對(duì)象提供專用的存貯。在R當(dāng)中,環(huán)境(environment)指的是創(chuàng)建函數(shù)時(shí)出現(xiàn)的對(duì)象集合。
?
library(blotter)
s()
## character(0)
ls(all = T)
## [1] ".blotter"
下面會(huì)用到的FinancialInstrument包也創(chuàng)建了一個(gè)叫做.instrument的環(huán)境用來存貯定義的產(chǎn)品(如股票、期貨等)
2 FinancialInstrument包和PerformanceAnalytics包簡(jiǎn)介
FinancialInstrument包提供了一個(gè)定義金融工具的元數(shù)據(jù)和彼此聯(lián)系的基礎(chǔ)架構(gòu)。 主要函數(shù)包括currency stock bond option future fund exchange_rate 分別用于創(chuàng)建對(duì)應(yīng)的產(chǎn)品類。
3基于blotter包的策略回測(cè)
交易賬戶的管理適合交易過程同步的。為了說明blotter包的功能,下面以一個(gè)策略的回測(cè)流程進(jìn)行說明。所謂回測(cè),就是對(duì)設(shè)計(jì)好的策略或模型在歷史數(shù)據(jù)上的測(cè)試和評(píng)估。
(a) 回測(cè)流程
初始化:
????? 初始化資金和金融產(chǎn)品,載入歷史數(shù)據(jù);
????? 初始化組合和賬戶。
bar-by-bar處理:
????? 檢查價(jià)格和指標(biāo)是否觸發(fā)買入或賣出條件;
????? 更新組合和賬戶中的頭寸和證券;
????? 重復(fù)上面兩個(gè)步驟直到數(shù)據(jù)結(jié)束。
評(píng)價(jià):
???? 生成組合表現(xiàn)的評(píng)價(jià)并可視化。
(b) 回測(cè)實(shí)例
見下篇文章
4使用PerformanceAnalytics包來評(píng)價(jià)交易表現(xiàn)
PerformanceAnalytics包提供了一系列的評(píng)價(jià)交易表現(xiàn)和風(fēng)險(xiǎn)的計(jì)量工具,包括各種評(píng)價(jià)交易的圖標(biāo)、指標(biāo)和比率,并支持建立度量的表格。
charts.PerformanceSummary函數(shù)繪制累積回報(bào),月度表現(xiàn)和回撤
table.Arbitrary函數(shù)可以創(chuàng)建一個(gè)統(tǒng)計(jì)表
5一個(gè)新的交易表現(xiàn)評(píng)價(jià)的模版
https://gist.github.com/thertrader/7038864
?原文:http://site.douban.com/182577/widget/notes/10568316/note/313993493/
?
總結(jié)
以上是生活随笔為你收集整理的R语言blotter包及相关工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R语言任务视图:机器学习与统计学…
- 下一篇: R语言blotter包回测实例