gpt4 book ai didi

r - XTS 指数和交易日问题

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

我真的很难在这里找到解决方案。如果您查看最后一行代码,您会明白我想在下次开盘时买入并在 5 天后卖出 (x = 5)。

问题是 xts 索引正在计算周末。因此,例如,您会在 7 月 12 日星期五获得索引 = 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)

最佳答案

使用 lag 计算 +x 天的收盘价。您可能需要根据您实际所需的逻辑将 k 的值更改为 -(x+1)(在信号发出后 5 天或持仓后 5 天卖出)打开)。

SPY$Lag.Cl <- lag(Cl(SPY),-x)
PnL <- lag(SPY$buySig) * (SPY$Lag.Cl - Op(SPY))

关于r - XTS 指数和交易日问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658925/

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