在 Quantmod R 中获取商品价格历史记录的技巧?
Trick to getting commodities price history in Quantmod R?
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'
如何获取历史价格?
你假设因为你可以获得当前数据快照你也可以获得历史系列。
这个假设是不正确的。数据现在是许多交易所的重要产品,您通常需要为此付费。
不过,还有其他方法,对于商品数据来说 Quandl may be your best bet. Searching for 'natural gas nymex' leads you eg to this NG_H2014 contract, and the 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")
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'
如何获取历史价格?
你假设因为你可以获得当前数据快照你也可以获得历史系列。
这个假设是不正确的。数据现在是许多交易所的重要产品,您通常需要为此付费。
不过,还有其他方法,对于商品数据来说 Quandl may be your best bet. Searching for 'natural gas nymex' leads you eg to this NG_H2014 contract, and the 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")