2015-11-03 36 views
1

我似乎沒有發現是否有方法在查看交易時查看交易的規則名稱/標籤。我使用getTxns(),但它來自於吸墨包,它不知道由quantstrat創建的規則。什麼是最好的方式來做到這一點?交易中的Quantstrat規則標籤

回答

1

作爲一般規則,吸墨紙不知道什麼是quantstrat所做的(除了quantstrat創建的交易)。

我相信tradeOrderStats功能可以完成您所尋找的任何操作。它將包含規則標籤的quantstrat訂單簿與記事簿txn表合併。

例如:

require(quantstrat) 
demo("macd", ask=FALSE) 
head(tradeOrderStats(portfolio.st, stock.str),2) 
      Order.Qty Order.Price Order.Type Order.Side Order.Threshold 
2007-08-17 "all"  "117.049995" "market" "long"  NA    
2008-01-16 "all"  "169.039997" "market" "long"  NA    
      Order.Status Order.StatusTime  Prefer Order.Set Txn.Fees Rule 
2007-08-17 "closed"  "2007-08-17 00:00:00" ""  "exit2" "0"  "exit" 
2008-01-16 "closed"  "2008-01-16 00:00:00" ""  "exit2" "0"  "exit" 
      Time.In.Force Start  End   Init.Pos Max.Pos Num.Txns 
2007-08-17 ""   "2007-03-16" "2007-08-17" "100" "100" "2"  
2008-01-16 ""   "2007-09-05" "2008-01-16" "100" "100" "2"  
      Max.Notional.Cost Net.Trading.PL MAE   MFE   
2007-08-17 " 8957"   " 3249.0002" " 0.0000" " 5643.0003" 
2008-01-16 "14416"   " 1547.9994" "-1239.0003" " 5566.9992" 
      Pct.Net.Trading.PL Pct.MAE  Pct.MFE  tick.Net.Trading.PL 
2007-08-17 " 0.36273308"  " 0.00000000" "0.630010074" " 3249.0002"  
2008-01-16 " 0.10738065"  "-0.08594619" "0.386168086" " 1547.9994"  
      tick.MAE  tick.MFE  
2007-08-17 " 0.0000" " 5643.0003" 
2008-01-16 "-1239.0003" " 5566.9992" 
0

你可以用手動吸墨紙的交易,這將給你的交易(出入口)的完整列表,以及對貿易規則標籤合併Quantstrat的手持訂單。

library(plyr) 

QSOrderbook <- ldply(getOrderBook(portfolio.st), data.frame) 
rownames(QSOrderbook) <- as.POSIXct(QSOrderbook$data.Order.StatusTime, format = "%Y-%m-%d %H:%M") 

bltrTransactions <- as.data.frame(getTxns(Portfolio=portfolio.st, symbols)) 

Transactions <- merge(QSOrderbook, bltrTransactions[-1,], by=0)