- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 quantstrat 中实现“以开盘价在下一个柱线买入”?
这是我对 maCross.R 样本的实验。
prefer='Open'
在规则信号stratMACROSS <- add.rule(strategy = stratMACROSS, name='ruleSignal',
arguments = list(sigcol="ma50.gt.ma200", sigval=TRUE, orderqty=100000, ordertype='market', orderside='long', prefer='Open'), type='enter')
stratMACROSS <- add.rule(strategy = stratMACROSS, name='ruleSignal',
arguments = list(sigcol="ma50.lt.ma200", sigval=TRUE, orderqty=-100000, ordertype='market', orderside='long', prefer='Open'), type='exit')
Open
价格,但在下一个柱线执行 Close
.> orders <- getOrderBook(portfolio.st)
> head(orders)
Order.Qty Order.Price Order.Type Order.Side Order.Threshold Order.Status Order.StatusTime
2011-05-22 00:00:00 "0" NA "init" "long" "0" "closed" "2011-05-22"
2011-05-24 04:30:00 "1e+05" "1.61297" "market" "long" NA "closed" "2011-05-24 05:00:00"
2011-05-25 03:00:00 "-1e+05" "1.61523" "market" "long" NA "closed" "2011-05-25 03:30:00"
2011-05-25 05:00:00 "1e+05" "1.61537" "market" "long" NA "closed" "2011-05-25 05:30:00"
2011-05-30 09:30:00 "-1e+05" "1.64679" "market" "long" NA "closed" "2011-05-30 10:00:00"
> txns <- getTxns(Portfolio=portfolio.st, Symbol=fx.st[1])
> head(txns)
Txn.Qty Txn.Price Txn.Fees Txn.Value Txn.Avg.Cost Net.Txn.Realized.PL
2011-05-22 00:00:00 0e+00 0.00000 0 0 0.00000 0
2011-05-24 05:00:00 1e+05 1.61227 0 161227 1.61227 0
2011-05-25 03:30:00 -1e+05 1.61437 0 -161437 1.61437 210
2011-05-25 05:30:00 1e+05 1.61929 0 161929 1.61929 0
2011-05-30 10:00:00 -1e+05 1.64584 0 -164584 1.64584 2655
2011-05-30 19:30:00 1e+05 1.65046 0 165046 1.65046 0
Open
价格 1.61523,但交易在 03:30:00 与 Close
价格 1.61437Date Time Open High Low Close Up Down
5/24/2011 430 1.61297 1.6153 1.61288 1.61421 1804 1700
5/24/2011 500 1.61409 1.61445 1.61224 1.61227 1709 1662
5/25/2011 300 1.61523 1.61628 1.61318 1.6139 1526 1465
5/25/2011 330 1.61393 1.61541 1.61345 1.61437 1713 1583
最佳答案
使用 maCross.R 演示,如果您将 applyStrategy 行更改为包含 prefer=Open
像这样
out<-try(applyStrategy(strategy=stratMACROSS , portfolios=portfolio.st, prefer='Open'))
> head(txns)
Txn.Qty Txn.Price Txn.Fees Txn.Value Txn.Avg.Cost Net.Txn.Realized.PL
1999-12-31 0e+00 0.000000 0 0.0 0.000000 0
2001-06-27 1e+05 11.863950 0 1186395.0 11.863950 0
2001-09-07 -1e+05 8.709491 0 -870949.1 8.709491 -315446
2002-01-07 1e+05 11.808210 0 1180821.0 11.808210 0
2002-07-10 -1e+05 8.814099 0 -881409.9 8.814099 -299411
2003-05-16 1e+05 9.255447 0 925544.7 9.255447 0
> head(AAPL['2001-06-26/'])
AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted
2001-06-26 11.61595 11.82995 11.45171 11.82 9742200 11.82
2001-06-27 11.86395 11.94859 11.20180 11.62 13361800 11.62
2001-06-28 11.47604 11.90421 11.42127 11.72 12443200 11.72
2001-06-29 11.78421 12.50142 11.55510 11.58 18406800 11.58
2001-07-02 11.77054 12.06431 11.52159 11.90 8216000 11.90
2001-07-03 11.70569 12.03929 11.70071 11.87 4019400 11.87
> .strategy$order_book.macross$macross$AAPL
Order.Qty Order.Price Order.Type Order.Side Order.Threshold Order.Status Order.StatusTime Prefer Order.Set Txn.Fees Rule
1999-12-31 "0" NA "init" "long" "0" "closed" "1999-12-31" "" "" "0" ""
2001-06-26 "1e+05" "11.6159494736842" "market" "long" NA "closed" "2001-06-27 00:00:00" "Open" NA "0" "ruleSignal.rule"
2001-09-06 "-1e+05" "9.15846501128668" "market" "long" NA "closed" "2001-09-07 00:00:00" "Open" NA "0" "ruleSignal.rule"
2002-01-04 "1e+05" "11.6158125791473" "market" "long" NA "closed" "2002-01-07 00:00:00" "Open" NA "0" "ruleSignal.rule"
2002-07-09 "-1e+05" "9.0088819167142" "market" "long" NA "closed" "2002-07-10 00:00:00" "Open" NA "0" "ruleSignal.rule"
2003-05-15 "1e+05" "9.25531233315537" "market" "long" NA "closed" "2003-05-16 00:00:00" "Open" NA "0" "ruleSignal.rule"
2006-06-21 "-1e+05" "57.4905184929139" "market" "long" NA "closed" "2006-06-22 00:00:00" "Open" NA "0" "ruleSignal.rule"
2006-09-25 "1e+05" "73.498195379538" "market" "long" NA "closed" "2006-09-26 00:00:00" "Open" NA "0" "ruleSignal.rule"
2008-03-06 "-1e+05" "124.074175969569" "market" "long" NA "closed" "2008-03-07 00:00:00" "Open" NA "0" "ruleSignal.rule"
2008-05-16 "1e+05" "189.299382795011" "market" "long" NA "closed" "2008-05-19 00:00:00" "Open" NA "0" "ruleSignal.rule"
2008-09-23 "-1e+05" "131.28867076632" "market" "long" NA "closed" "2008-09-24 00:00:00" "Open" NA "0" "ruleSignal.rule"
2009-05-13 "1e+05" "122.684122520713" "market" "long" NA "closed" "2009-05-14 00:00:00" "Open" NA "0" "ruleSignal.rule"
prefer
应该被使用(至少不是它是如何记录的)。另外,我不确定这是否或如何改变信号触发的位置。
关于r - quantstrat:在开盘时买入下一根柱线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10698879/
美好的一天! friend 们我真的需要你们的帮助! 我的问题是:我如何在特定价格设置止损? Quantstrat 的工作方式如下(对于多头头寸):止损价=进场价-进场价*阈值。 例如,我尝试运行我的
如何在 quantstrat 中输入相互抵消的订单?例如,一旦我进入交易,我立即打开两个订单:“止损”和“止盈”。一旦一个被填满,另一个将被取消。 #Enter signal strategy <-
如何在 quantstrat 中实现“以开盘价在下一个柱线买入”? 这是我对 maCross.R 样本的实验。 添加 prefer='Open'在规则信号 stratMACROSS orders
在使用 Quantstrat 成功回测策略后,有没有办法使用相同的信号/指标/规则代码来生成生产交易的订单? 这似乎可以通过使用订单簿来实现,但我还没有找到任何示例或演示来解释如何使用截至目前的数据为
我还在玩 Guy Yollins quantstrat 的例子。在这个例子中,当 SPY 穿过其 10 日均线时,他购买了 1000 股 SPY。既然我们定义了初始股权,是否可以始终购买整个投资组合的
我知道之前已经有人问过这个问题 here ,但我想进一步扩展这个问题。 假设我的入场价格为 50,因此在当天开始时,我以 50 的价格下达 1 手的限价单。在交易日期间,市场崩溃,我的出价被满足。在现
我希望使特定 Assets (符号)的最大允许头寸成为资本(初始分配+ PL)和指标的函数。我尝试通过替换 osMaxPos。我在顶部添加了这个,初始值是硬编码的,ddQ 是我的指标, updateP
我正在考虑使用 R 和 quantstrat 来回测某些策略。我查看了一些文档和 youtube 视频,看看是否可以做我想做的事。我是 R 的新手,我愿意深入研究必要的文档,但如果我想要的东西是可能的
我知道之前已经有人问过这个问题 here ,但我想进一步扩展这个问题。 假设我的入场价格为 50,因此在当天开始时,我以 50 的价格下达 1 手的限价单。在交易日期间,市场崩溃,我的出价被满足。在现
这是我正在使用 quantstrat 处理的多时间框架策略的示例。这是执行多时间框架策略的正确方法还是我做错了?我还没有在 quantstrat 演示或谷歌搜索中遇到任何其他执行多时间帧的示例。 为了
我想使用与我正在使用的数据不同的时间框架指标。我已经看到这个问题问了几次,但目前还没有解决方案(至少对我来说)。 下面的示例使用每日股票数据,但实际项目使用日内货币数据。我现在可以轻松地导入日内 cs
我正在尝试在 R 的 Quantstrat 包中运行回测策略。该工具是小麦 future ,以美分报价。合约规模为 5000 蒲式耳。因此,我添加了以下代码。 future(symbols,
我正在尝试在 R 的 Quantstrat 包中运行回测策略。该工具是小麦 future ,以美分报价。合约规模为 5000 蒲式耳。因此,我添加了以下代码。 future(symbols,
当我使用时: stratRank <- add.rule(stratRank, name="ruleSignal", arguments=list(sigcol="Entry
当我使用 enable.rule我无法覆盖规则的内部 enabled=FALSE . 例如: ## Stop Loss Rule stratstocky <- add.rule(stratstocky
一般信息: R 版本:3.1.0 记事本:0.8.19 问题描述: 我正在尝试实现一个使用不同货币的多个投资组合的 Quantstrat 账户。 这是我的基本设置: 1 个欧元账户 1 个美元投资组合
我是 quantstrat 的新手,我想用 then 来模拟我的策略,该策略本质上是布林带。当 Premium 超过 Avg 时,我的代码无法平仓。 定义策略(信号/规则)的算法逻辑是: 开空头头寸:
我一直在阅读 Guy 的 quantstrat 讲座(下面的链接),在反复尝试重新执行代码之后,我遇到了一些初始错误,这些错误导致讲座中的大部分后续代码无法运行。 这是代码(从讲座中复制,经过非常小的
我想在 RStudio 中使用最新的 R 版本时安装一个包。 特别是 quantstrat 包 那可能吗? 这是我有 3.4.1 的 R 最新版本 我的错误信息: Warning in install
Python 中有类似 quantstrat 的东西吗?在 R 中? 最佳答案 是的,Quantopian使用名为 zipline 的开源 Python 回测引擎. 关于python - Python
我是一名优秀的程序员,十分优秀!