在R中,我使用了库:TTR。
我的数据集对于R输入是历史价格的Nifty(印度股票指数)。
上次更新的可用数据日期为10月28日<16;
下载链接:https://in.finance.yahoo.com/q/hp?s=%5ENSEI
我的R代码是:
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)
所以,这段代码的输出是
MACD线:1.542329
信号:0.974972
但在Google财经图表中MACD和信号值不同
Google财经链接图:
https://www.google.com/finance?q=NSE%3ANIFTY&ei=uOYWWJn9J4O-uwSYypSYCA
GF图表的输出(日期为10月28日和#39; 16):
MACD线:-19.5
信号:-17.11
为什么我得到这样的有线输出,这两个输出之间也没有相关性。
是否有任何属性,在我的R代码中丢失?
答案 0 :(得分:0)
有几件事是错的: Google财经中的MACD线为-19.5而不是19.5
我使用了来自雅虎财经的相同数据(1年的NSE数据),发现MACD为-19.28所以差别不大。我使用的代码是
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)