【问题标题】:get multiple chart using chart_Series of quantmod package使用 quantmod 包的 chart_Series 获取多个图表
【发布时间】:2014-10-29 08:28:56
【问题描述】:

由于与 par(mfrow) 函数绘制多个图表的兼容性问题,我正在尝试使用 chart_Series 函数而不是 chartSereis。 当我使用 chart_Series 函数时,我遇到了如下错误。它一定源于 char_Serires。因为我逐行运行代码。

Error in plot.window(c(1, 0), c(NaN, NaN)) 

整个代码如下

library(Rbbg)
library(quantmod)
conn<-blpConnect()

currency <- c("NZD Curncy", "AUD Curncy")
fld <- c("PX_OPEN", "PX_HIGH", "PX_LOW","PX_LAST")

par(mfrow=c(2,1))
par(mar = c(3, 3, 1, 0), oma = c(1, 1, 1, 1))

for (i in 1:2){
crcy<-bdh(conn,currency[i],fld,Sys.Date()-365)
Name<-as.character(bdp(conn,currency[i],"NAME"))
crcy_xts <- as.xts(crcy[,-1])
crcy.ohcl<-as.quantmod.OHLC(crcy_xts,col.names = c("Open", "High","Low", "Close"))

chart_Series(crcy.ohcl,name=Name,theme=chartTheme("white"),type='candles',TA=NULL,subset='last 6 months')

请帮帮我。


这里是

> head(crcy.ohcl)
       crcy_xts.Open crcy_xts.High crcy_xts.Low crcy_xts.Close
  2014-10-27        0.7853        0.7903       0.7846         0.7894
  2014-10-28        0.7894        0.7959       0.7884         0.7919
  2014-10-29        0.7919        0.7978       0.7770         0.7802
  2014-10-30        0.7802        0.7827       0.7774         0.7798

复制的最小数据。

cry

    row.names   date      PX_OPEN   PX_HIGH PX_LOW  PX_LAST
1   2014-10-29  2014-10-29  0.7919  0.7978  0.7770  0.7802
2   2014-10-30  2014-10-30  0.7802  0.7827  0.7774  0.7803

crcy_xts

    row.names   PX_OPEN PX_HIGH PX_LOW  PX_LAST
1   2014-10-29  0.7919  0.7978  0.7770  0.7802
2   2014-10-30  0.7802  0.7827  0.7774  0.7803

【问题讨论】:

    标签: r charts quantmod


    【解决方案1】:

    我无法访问彭博终端,因此您的示例对我来说无法重现。我的猜测是 crcy.ohcl 缺少和/或 NaN 值。

    您可以使用range(crcy.ohcl) 进行测试。如果输出为[1] NA NA,那么您需要使用na.omit(crcy.ohcl)na.locf(crcy.ohcl) 等来处理数据中的缺失值。


    编辑:感谢GSee,我可以通过以下方式复制它:

    require(quantmod)
    data(sample_matrix)
    x <- as.xts(sample_matrix)
    y <- as.quantmod.OHLC(x, col.names=c("Open", "High", "Low", "Close"))
    chart_Series(y)          # error
    chart_Series(as.xts(y))  # works
    

    所以看起来chart_Series 需要一个xts 对象,但as.quantmod.OHLC 没有xts 方法,因此如果您将xts 对象传递给它,它会返回一个zoo 对象。

    【讨论】:

    • 感谢 Jochua。我试过了,redult如下。它看起来没有缺失值。 > 范围(crcy.ohcl)[1] 0.7709 0.8836
    • @JaeHoon:如果我无法重现错误,我无法帮助您。请提供创建reproducible example 所需的最少数据量。
    • 我刚刚更新了我的问题以显示最少的数据,以便您可以重现。我希望这对你有好处。欣赏约书亚。
    • @JaeHoon:请阅读我链接到的问题中的一些答案。您提供的不是可重复的示例。
    • 感谢您,我现在可以制作多面板图表了。它是审查金融市场的非常强大的工具。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    相关资源
    最近更新 更多