如何访问 getSymbols 返回的 LSE 数据
How to access LSE data returned by getSymbols
我想从伦敦证券交易所的 google finance 获取 OHLC 数据。我试过使用:
> require(quantmod)
> getSymbols("LON:DRTY", src="google")
[1] "LON:DRTY"
> head(LON:DRTY)
Error in head(LON:DRTY) : object 'LON' not found
getSymbols
好像返回了数据,但是访问不了。我实际上如何从返回的对象中获取数据?
其实我想从日本下载数据。例如:"TYO:2501"
(https://www.google.com/finance?q=TYO%3A2501&ei=2aC6VOHcKsX1wAPa3YCoCg)。但是,getSymbols 无法在 "TYO:2501"、“2501”、"TYO%3A2501" 等代码下找到它。我收到“404 未找到”或“400 错误请求”。
> getSymbols("TYO:2502", from="2014-01-01", to="2014-05-03", src="google")
在这种情况下 getSymbols
不是 return 语法上有效的名称。 :
是 R 中的二元运算符,用于创建数字序列。因此,当您键入 head(LON:DRTY)
时,R 正在寻找一个名为 LON
的对象和一个名为 DRTY
的对象以创建一个序列。例如:
> LON <- 1
> DRTY <- 10
> head(LON:DRTY)
[1] 1 2 3 4 5 6
我会在未来的版本中解决这个问题,但您可以同时使用以下解决方法之一:
> require(quantmod)
> getSymbols("LON:DRTY",src="google")
[1] "LON:DRTY"
> # use backticks to reference the object
> head(`LON:DRTY`)
LON:DRTY.Open LON:DRTY.High LON:DRTY.Low LON:DRTY.Close LON:DRTY.Volume
2012-08-01 0.43 0.45 0.41 0.44 410093
2012-08-02 41.25 42.75 40.00 41.50 751816
2012-08-03 41.00 44.00 41.00 42.75 582187
2012-08-06 42.00 44.41 42.00 42.50 370042
2012-08-07 42.00 44.00 40.75 42.00 1366845
2012-08-08 42.00 42.50 42.00 42.25 437467
> # manually assign the object to a "valid" name
> LON.DRTY <- getSymbols("LON:DRTY",src="google",auto.assign=FALSE)
> head(LON.DRTY)
LON:DRTY.Open LON:DRTY.High LON:DRTY.Low LON:DRTY.Close LON:DRTY.Volume
2012-08-01 0.43 0.45 0.41 0.44 410093
2012-08-02 41.25 42.75 40.00 41.50 751816
2012-08-03 41.00 44.00 41.00 42.75 582187
2012-08-06 42.00 44.41 42.00 42.50 370042
2012-08-07 42.00 44.00 40.75 42.00 1366845
2012-08-08 42.00 42.50 42.00 42.25 437467
> # use setSymbolLookup to specify the name
> setSymbolLookup(LON.DRTY=list(name="LON:DRTY",src="google"))
> getSymbols("LON.DRTY")
[1] "LON.DRTY"
> head(LON.DRTY)
LON:DRTY.Open LON:DRTY.High LON:DRTY.Low LON:DRTY.Close LON:DRTY.Volume
2012-08-01 0.43 0.45 0.41 0.44 410093
2012-08-02 41.25 42.75 40.00 41.50 751816
2012-08-03 41.00 44.00 41.00 42.75 582187
2012-08-06 42.00 44.41 42.00 42.50 370042
2012-08-07 42.00 44.00 40.75 42.00 1366845
2012-08-08 42.00 42.50 42.00 42.25 437467
我想从伦敦证券交易所的 google finance 获取 OHLC 数据。我试过使用:
> require(quantmod)
> getSymbols("LON:DRTY", src="google")
[1] "LON:DRTY"
> head(LON:DRTY)
Error in head(LON:DRTY) : object 'LON' not found
getSymbols
好像返回了数据,但是访问不了。我实际上如何从返回的对象中获取数据?
其实我想从日本下载数据。例如:"TYO:2501" (https://www.google.com/finance?q=TYO%3A2501&ei=2aC6VOHcKsX1wAPa3YCoCg)。但是,getSymbols 无法在 "TYO:2501"、“2501”、"TYO%3A2501" 等代码下找到它。我收到“404 未找到”或“400 错误请求”。
> getSymbols("TYO:2502", from="2014-01-01", to="2014-05-03", src="google")
在这种情况下 getSymbols
不是 return 语法上有效的名称。 :
是 R 中的二元运算符,用于创建数字序列。因此,当您键入 head(LON:DRTY)
时,R 正在寻找一个名为 LON
的对象和一个名为 DRTY
的对象以创建一个序列。例如:
> LON <- 1
> DRTY <- 10
> head(LON:DRTY)
[1] 1 2 3 4 5 6
我会在未来的版本中解决这个问题,但您可以同时使用以下解决方法之一:
> require(quantmod)
> getSymbols("LON:DRTY",src="google")
[1] "LON:DRTY"
> # use backticks to reference the object
> head(`LON:DRTY`)
LON:DRTY.Open LON:DRTY.High LON:DRTY.Low LON:DRTY.Close LON:DRTY.Volume
2012-08-01 0.43 0.45 0.41 0.44 410093
2012-08-02 41.25 42.75 40.00 41.50 751816
2012-08-03 41.00 44.00 41.00 42.75 582187
2012-08-06 42.00 44.41 42.00 42.50 370042
2012-08-07 42.00 44.00 40.75 42.00 1366845
2012-08-08 42.00 42.50 42.00 42.25 437467
> # manually assign the object to a "valid" name
> LON.DRTY <- getSymbols("LON:DRTY",src="google",auto.assign=FALSE)
> head(LON.DRTY)
LON:DRTY.Open LON:DRTY.High LON:DRTY.Low LON:DRTY.Close LON:DRTY.Volume
2012-08-01 0.43 0.45 0.41 0.44 410093
2012-08-02 41.25 42.75 40.00 41.50 751816
2012-08-03 41.00 44.00 41.00 42.75 582187
2012-08-06 42.00 44.41 42.00 42.50 370042
2012-08-07 42.00 44.00 40.75 42.00 1366845
2012-08-08 42.00 42.50 42.00 42.25 437467
> # use setSymbolLookup to specify the name
> setSymbolLookup(LON.DRTY=list(name="LON:DRTY",src="google"))
> getSymbols("LON.DRTY")
[1] "LON.DRTY"
> head(LON.DRTY)
LON:DRTY.Open LON:DRTY.High LON:DRTY.Low LON:DRTY.Close LON:DRTY.Volume
2012-08-01 0.43 0.45 0.41 0.44 410093
2012-08-02 41.25 42.75 40.00 41.50 751816
2012-08-03 41.00 44.00 41.00 42.75 582187
2012-08-06 42.00 44.41 42.00 42.50 370042
2012-08-07 42.00 44.00 40.75 42.00 1366845
2012-08-08 42.00 42.50 42.00 42.25 437467