gpt4 book ai didi

r - 使用外部提供的指标数据进行 quantstrat

转载 作者:行者123 更新时间:2023-12-02 04:43:22 25 4
gpt4 key购买 nike

我正在考虑使用 R 和 quantstrat 来回测某些策略。我查看了一些文档和 youtube 视频,看看是否可以做我想做的事。我是 R 的新手,我愿意深入研究必要的文档,但如果我想要的东西是可能的,我想得到提示。

我已经研究了一些使用 quantstrat 进行回测的示例,它们的共同点是它们使用的指标是根据价格数据由 R 函数计算的

但是,我需要使用的是一些已从外部计算的指标,并且我拥有真/假信息以及价格数据。所以我在包含 OHLC 数据的 CSV 中有许多额外的列,这些列的值大部分时间都是错误的,但在某些行上是正确的。我想生成信号,例如使用其中两个列并说“如果两者都为真,则在最后一天的高点设置止损买入,在最后一天的低点设置止损并计算头寸大小,以便最大损失是根据高低差确定的固定金额。

关于何时平仓获利、何时调整止损或何时取消未触发的止损买单还有更多的规则要应用,我还必须处理接下来几天开仓的情况已经高于止损买入价,但那是另一回事了。此外,我还必须考虑如何回测仅具有日终数据的日终策略(接下来几天的蜡烛可能会高出止损买入和止损卖出,而不是它会发生什么)

首先,我想知道是否可以将此类外部指标数据作为 quantstrat 策略的来源

如果您回答"is"或“否”并可能会指出适用的文档,这将对我有所帮助。感谢您的建议!

编辑:

我实际上现在制作了一个包含 OHLC 列的 CSV 文件,并添加了另一个包含 1 和 0 的列,就像这个非常简单的示例:

Date,Open,High,Low,Close,SRot
2016-02-01,28,31,20,20,0
2016-01-29,34,35,30,31,1
2016-01-28,22,30,21,28,0
2016-01-27,18,23,17,20,0
2016-01-26,30,32,20,25,0
2016-01-25,30,35,25,32,1

我将它放入一个 xts 对象中并设置了一个 quantstrat 策略,在最后一列为 1 的那几天之后,我设法触发止损限价空单。

add.rule(strategy.st,name = "ruleSignal",
arguments=list(sigcol="srotxsignal",
sigval=TRUE,
ordertype="stoplimit",
orderside="short",
replace=FALSE,
prefer="Low",
orderqty=10,
tradeSize=tradeSize),
type="enter",path.dep=TRUE,label="normalEntryShort")

第一个信号已经在 1 月 25 日的第一根蜡烛上发出,最低点为 25,我预计系统会触发价格水平为 25 的卖出止损限价订单。这也是订单簿似乎显示的内容。但是,系统实际上在第二天的开盘价 30 处卖出。对于倒数第二天的第二个信号,订单被触发,但从未执行。这可能是正确的,因为开始时开盘价已经低于止损限价水平,但是价格在最后一天上涨至 31,因此订单应该被触发。

我想对于第二个信号我需要编写更多的逻辑,但是对于第一个信号我不知道为什么订单在 30 处执行。

out<-applyStrategy(strategy=strategy.st,portfolios=portfolio.st)
[1] "2016-01-26 00:00:00 adidas 10 @ 30"

getOrderBook(portfolio.st)
$dshort
$dshort$adidas
Order.Qty Order.Price Order.Type Order.Side Order.Threshold Order.Status Order.StatusTime Prefer
2016-01-25 "10" "25" "stoplimit" "short" NA "closed" "2016-01-26 00:00:00" "Low"
2016-01-29 "10" "30" "stoplimit" "short" NA "open" NA "Low"

最佳答案

由于您试图做空,您的订单数量可能应该是负数。

关于r - 使用外部提供的指标数据进行 quantstrat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35463060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com