Ich habe Probleme, technische Lagerindikatoren zu finden, die eine For-Schleife verwenden, um Bestände zu durchlaufen.Wie verwenden Sie für die technische Analyse Börsenkurse und For-Schleifen in R zusammen?
Unten verwende ich 10 Aktien und versuche zu sehen (durch die Ausgabe), wenn der aktuelle 10-tägige gleitende Durchschnitt (MA) für jede Aktie über, unter oder zum aktuellen Aktienkurs ist.
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"
}
}
Der Code wird nicht erfolgreich ausgeführt werden, da myStock$myStock.Adjusted
läuft nicht richtig. Ich bin mir ziemlich sicher, dass die Variable myStock
nur den Börsenticker (zum Beispiel AAPL) enthält, nicht die tatsächlichen Aktieninformationen mit den Hochs, Tiefs, offenen, Schlusskursen und dergleichen.
Mein 10-Tage-MA-Code funktioniert meines Wissens nach perfekt für einzelne Bestände, nur nicht mit der for-Schleife. Zum Beispiel der Code:
...
getSymbols("AAPL")
stock_ts = ts(AAPL$AAPL.Adjusted)
##Moving Average Calculations back 10 steps using TTR:
...
Ich plane, diesen Code mehr Ticker und komplexere Analyse hinzuzufügen. Daher ist die Auflistung des gesamten Codes für jede Aktie keine sehr praktikable oder effiziente Lösung.
Danke für Ihre Hilfe.
Vielen Dank für Ihre Hilfe! Nur als Referenz habe ich die SMA-Zeile in meinem Code auskommentiert und manuell eine SMA-Berechnung durchgeführt, weil mir gesagt wurde, dass ich für die Untersuchung arbeite, die ich mache :). – scuba