【发布时间】:2014-11-13 06:14:14
【问题描述】:
我正在尝试使用进入/退出信号来生成位置/信号数据列以进行分析。我希望进入信号是累积的,退出值表示所有当前进入头寸的退出。此外,我希望能够在没有任何当前进入位置的情况下处理给出的退出信号(当然,这应该不会导致任何结果)。在保留累积属性的同时,我似乎无法合理地合并最后一个函数。
我认为我可以通过这个解决方案到达那里。我只是无法让最后一部分为我工作。
Change value of some column in xts based on other columns values with lookback
从引用的问题中借用一些任意输入/退出数据:
> Entry <- c(1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0)
> Exit <- c(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1)
所需的解决方案如下所示:
> DesiredOutcome
Entry Exit Signal
[1,] 1 0 1
[2,] 0 0 1
[3,] 0 0 1
[4,] 1 0 2
[5,] 0 0 2
[6,] 0 0 2
[7,] 1 0 3
[8,] 0 0 3
[9,] 0 1 3
[10,] 0 0 0
[11,] 0 0 0
[12,] 0 1 0
[13,] 1 0 1
[14,] 0 0 1
[15,] 0 0 1
[16,] 1 0 2
[17,] 0 0 2
[18,] 0 0 2
[19,] 0 1 2
[20,] 0 0 0
[21,] 0 1 0
[22,] 1 0 1
[23,] 0 0 1
[24,] 0 1 1
任何帮助将不胜感激!
更新。根据要求,这里有一些解决该问题的尝试,但效果不佳。
试图询问指标(在本例中为 s$Z203),而不是使用进入/退出/信号列。小于 -2 的值为进入,大于 2 的值为退出。
s$position =2,0, ifelse(s$Z203
使用多列方法,我认为我可以使用简单的算术(如发布的示例中所示),并且避免在迭代数据时查询 xts 对象的前几行。有几个课程专栏来完成这个过程让我很接近,但仍然没有解决适用于所有聚合入场信号的 1 个退出触发器并忽略没有任何入场位置的退出信号。
【问题讨论】:
-
目前写的,这与xts无关。此外,StackOverflow 不是代码编写服务。如果您实际展示您尝试过的内容以及遇到的问题,您会得到更好的回应。
-
xts 被包括在内,因此任何响应都是 xts 兼容的方法。与所有事物一样,有无数种失败的方式和几种成功的方式。如果有用的话,我会巩固我的失败,但我担心这只是噪音。生病更新的例子。
-
你能解释一下第三列是怎么用word计算的吗?为什么第 9 行有 3?为什么第 12 行有出口,第 13 行却是 1?
-
当日收盘时将生成退出,因此信号直到下一个交易日才会更新,因此 [9,] 在这种情况下会触发在第 [10 天] 卖出 3 个条目,]。第 13/12 行问题是我坚持的问题。 [12,] 是退出卖出信号,但没有什么可卖出的。所以信号栏应该保持为 0。[13,] 触发买入(入场),所以现在有一个对退出触发敏感的股票头寸。