首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >交易中的Quantstrat规则标签

交易中的Quantstrat规则标签
EN

Stack Overflow用户
提问于 2015-11-03 22:13:34
回答 2查看 211关注 0票数 1

在查看事务时,我似乎没有找到查看事务的规则名称/标签的方法。我使用getTxns(),但它来自blotter,它不知道quantstrat创建的规则。最好的方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-04 03:06:38

作为一般规则,blotter不知道quantstrat做什么(除了quantstrat创建的事务)。

我相信tradeOrderStats函数所做的事情与您所要寻找的非常接近。它将包含规则标签的quantstrat与blotter txn表合并。

例如:

代码语言:javascript
复制
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"
票数 1
EN

Stack Overflow用户

发布于 2016-06-05 17:03:03

您可以手动将Quantstrat的Orderbook与Blotter的事务合并,这将为您提供事务的完整列表(条目和出口)以及该交易的规则标签。

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33510088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档