将R中的两个数据集与条件覆盖和编码动量交易相结合



我浏览了一下网站,但找不到任何能回答我问题的帖子。

q<-ifelse(c$Action_PX != z & c$Above == 1,log(z/c$Action_PX, base = exp(1)),NA)
w<-ifelse(c$Action_PX != z & c$Below == 1,log(c$Action_PX/z, base = exp(1)),NA)

我正在建立一个动量交易模型,当我决定进行交易时(当动量发生变化时),这些函数会计算我的回报。到目前为止,当我运行这个模型时,我得到了这样的东西:

q       w          -> (I want)  z
NA      NA                      NA
NA      NA                      NA
NA      NA                      NA
0.012   NA                      0.012                      
NA      NA                      NA
NA      0.005                   0.005

有没有什么方法可以把这两个(q和w)组合起来,只覆盖数字,让它看起来像z?非常感谢您的帮助!

供您参考,Above是一个二进制变量,当现货价格高于移动平均线时,它变为1,而Below则相反。当动量从下方变为上方时,我做多,当动量从上方变为下方时,我做空。z只是在Action_PX系列的开头添加0以获得动量所创建的另一组数据。我试着使用for循环,但我不能让它工作,所以我决定坚持使用更多的手动方式。任何改进我的模型的建议也非常感谢。

使用applymin

apply(df1, 1, function(x) if(all(is.na(x))) NA else min(x, na.rm=TRUE))
#[1]    NA    NA    NA 0.012    NA 0.005

最新更新