我真的很难在这里找到解决方案。如果你看最后一行代码,你会明白我想在下一次开盘时买入,5 天后卖出(x = 5)。
问题是该xts
指数正在计算周末。因此,例如,您将在 7 月 12 日星期五得到 index = 1……但在 7 月 15 日星期一,索引 = 4。我希望它等于 2,即 +1 个交易日。
我可以修改指数或使用其他方法Cl(SPY)[index(SPY) + x]
来获得 x + 5 个交易日吗?
提前感谢您对此的任何提示
# Variable d'optimisation
x <- 5
library(quantmod)
# Get data from Yahoo, then adjust
getSymbols("SPY", from = "1990-01-01")
# add RSI3 column
SPY$RSI3 <- RSI(Cl(SPY), n = 3)
# Add buy sig
SPY$buySig <- ifelse(SPY$RSI3 > 90, 1, 0)
# If signal, buy tomorrow at open, sell at close x days later
# PnL Calculation here :
PnL <- ifelse(lag(SPY$buySig) == 1, Cl(SPY)[index(SPY) + x] - Op(SPY), NA)