2016-10-31 3 views
0

In R verwende ich Bibliothek: TTR.Etwas falsch mit MACD outout in R

Mein Datensatz Für R-Eingabe ist Historische Preis von Nifty (Indian Stock Index).

Letzte Aktualisierung Datum der verfügbaren Daten ist 28 Oct'16

Download Link: https://in.finance.yahoo.com/q/hp?s=%5ENSEI

Mein R-Code ist:

library("TTR") 
data = read.csv(file="C:\\kk\\data\\nifty.csv") 
s20 <- SMA(data[c('Close')],n=20) 
e14 <- EMA(data[c('Close')],n=14) 
bb20 = BBands(data[c('Close')],sd=2.0) 
rsi14 = RSI(data[c('Close')],n=14) 
macd = MACD(data[c('Close')],12,26,9,maType=EMA,percent = FALSE) 
allData= data.frame(data,s20,e14,bb20,rsi14,macd) 
write.table(allData,file="C:\\Uojs\\emp\\Ram1.csv",na="0.000001",sep=",",row.names = FALSE) 

Also, meine Ausgabe von diesem Code ist

MACD-Zeile: 1.542329

Signal: 0,974972

Aber in Google Finance-Diagramm MACD und Signalwerte sind unterschiedlich

Verbindung von Google Finance geschicktes Chart:

https://www.google.com/finance?q=NSE%3ANIFTY&ei=uOYWWJn9J4O-uwSYypSYCA

Ausgabe von GF-Diagramm (Datum 28. Oktober '16):

MACD-Linie: -19,5

Signal: -17,11

Warum ich so eine verdrahtete Output bin immer, auch gibt es keine Korrelation zwischen diesen beiden Ausgängen.

Gibt es ein Attribut, das in meinem R-Code fehlt?

+0

Sieht aus wie das in Ihrem Codebeispiel Sie eine CSV-Datei mit IBM-Daten importieren und dann vergleichen Sie es gegen den geschickten Index :-) – hvollmeier

Antwort

0

Es gibt einige Dinge falsch: MACD-Linie in Google Finance -19,5 und nicht 19,5

ich die gleichen Daten von Yahoo Finance verwendet (1 Jahr NSE-Daten) und die der MACD gefunden -19,28 zu sein also nicht viel Unterschied. Der Code, den ich verwendet, ist

library(RCurl) 
url="http://real-chart.finance.yahoo.com/table.csv?s=%5ENSEI&a=00&b=1&c=2016&d=09&e=31&f=2016&g=d&ignore=.csv" 
x <- getURL(url) 
library(TTR) 
mydata <- read.csv(textConnection(x)) 
mydata=mydata[!is.na(mydata$Close),] 
mydata=mydata[nrow(mydata):1,] 
rownames(mydata)=c(1:nrow(mydata)) 
mydata$macd=MACD(mydata[c('Close')],nFast=12, nSlow=26, nSig=9, maType=EMA,percent = FALSE) 
+0

Dank, Ihr Code korrekt Otuput zurückgibt. –

+0

Willkommen bro :) Darf ich wissen, woran arbeitest du? –

+0

Börsenprognose mit Data Mining, das ist mein M-Tech-Projekt. Tatsächlich habe ich Probleme beim Finden von Stochastik, ich weiß nicht, warum ich immer zufällige Werte bekomme, es wird eine große Hilfe sein, wenn Sie verwalten können Es ist Code für mich. Ich weiß, dass das Fragen nach einem Code wirklich eine schlimme Sache ist, aber ich habe nicht viele Ressourcen in meinem College. Ich danke dir sehr. –