在Quantmod R中获取商品价格历史的伎俩?

时间:2015-12-24 14:35:31

标签: r time-series quantmod commodity

require("quantmod")

这有效:

#Symbol for Natural Gas in front month with Yahoo Finance
getQuote("NGH16.NYM", src="yahoo")

但这不“

getSymbols("NGH16.NYM", src="yahoo", from="2015-09-01")

    Error in download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m,
  cannot open URL 'http://ichart.finance.yahoo.com/table.csv?s=NGF16.NYM&a=8&b=01&c=2015&d=11&e=24&f=2015&g=d&q=q&y=0&z=NGF16.NYM&x=.csv'
In addition: Warning message:
In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m,  :
  cannot open: HTTP status was '404 Not Found'

我如何获得价格历史记录?

1 个答案:

答案 0 :(得分:5)

您认为因为您可以获取当前数据快照,所以您还可以获得历史系列。

这个假设是不正确的。数据现在是许多交易所的重要产品,您通常需要为此付费。

还有其他方法,对于商品数据Quandl可能是您最好的选择。搜索“天然气nymex”会引导您to this NG_H2014 contract,而Quandl package on CRAN非常出色,因为所有这些现在都可以编写脚本。

例如,您的问题是2016年3月到期:

R> str(res <- Quandl("CME/NGH2016"))
'data.frame':   1935 obs. of  9 variables:
 $ Date         : Date, format: "2015-12-23" "2015-12-22" "2015-12-21" "2015-12-18" ...
 $ Open         : num  2.05 2.07 2.02 1.97 1.99 ...
 $ High         : num  2.12 2.08 2.09 2.01 2.02 ...
 $ Low          : num  2.01 2.02 1.97 1.91 1.96 ...
 $ Last         : num  2.11 2.05 2.08 1.96 1.96 ...
 $ Change       : num  0.067 0.031 0.093 NA 0.024 0.002 0.068 0.089 0.022 0.033 ...
 $ Settle       : num  2.1 2.03 2.06 1.97 1.97 ...
 $ Volume       : num  37213 32346 59892 53955 80027 ...
 $ Open Interest: num  210758 209803 208883 207250 212823 ...
 - attr(*, "freq")= chr "daily"
R> 

或者作为准备绘图的动物园对象:

R> res <- Quandl("CME/NGH2016", type="zoo")
R> plot(res[,"Settle"], main="NGH2016", ylab="Settle")

enter image description here

相关问题