我在使用 for 循环遍历股票时无法找到股票技术指标。
下面我使用 10 只股票,并试图(通过输出)查看每只股票的当前 10 天移动平均线 (MA) 是高于、低于还是处于当前股价。
library(quantmod) # also loads xts and TTR
ticker = c("GD","BA","ALV","AGU","MOS","POT","MON","CF","BG","SQM")
#10 ticker symbols that I want to find the 10 day MA of
z<-1 # z starts with a value of 1
for ( z in 1:10) {
myStock<-getSymbols(ticker[z])
#gets the z'th stock ticker are puts in into variable myStock
stock_ts = ts(myStock$myStock.Adjusted)
##Moving Average Calculations back 10 steps using TTR:
#SMA(stock_ts, n=10)
x<- length(stock_ts)
y <- 0
averagediv <- 10
for ( i in (x-9):x) {
y <- y + stock_ts[i]
}
ma10 <- y/averagediv
print(ticker[z])
if(ma10 < stock_ts[x]) {
print(mySP)
print ("green")
finalMA<-"green"
} else if (ma10 > stock_ts[x]) {
print(mySP)
print ("red")
finalMA<-"red"
} else {
print(mySP)
print("even")
finalMA<-"even"
}
}
代码没有成功运行,因为myStock$myStock.Adjusted
没有正确运行。我很确定该变量myStock
仅包含股票代码(例如,AAPL),而不是包含高点、低点、开盘价、收盘价等的实际股票信息。
据我所知,我的 10 天 MA 代码非常适用于个股,只是不适用于 for 循环。例如代码:
...
getSymbols("AAPL")
stock_ts = ts(AAPL$AAPL.Adjusted)
##Moving Average Calculations back 10 steps using TTR:
...
我计划在此代码中添加更多代码和更复杂的分析。因此,列出每只股票的所有代码并不是一个非常可行或有效的解决方案。
谢谢你的帮助。