【问题标题】:R - formula to calculate Bollinger Bands without charting?R - 不用图表计算布林带的公式?
【发布时间】:2014-08-19 00:41:47
【问题描述】:

我有一个 OHLC 数据框,并试图在不绘制 R 图表的情况下计算布林带。

以下工作,但我正在寻找创建一个包含 BB 级别的新数据框。

head(stock)
                   minutes.Open minutes.High minutes.Low minutes.Close

2014-08-04 01:00:00      102.561      102.581     102.486       102.537
2014-08-04 05:00:00      102.536      102.677     102.530       102.673
2014-08-04 09:00:00      102.668      102.713     102.537       102.597
2014-08-04 13:00:00      102.591      102.656     102.578       102.578
2014-08-04 17:00:00      102.570      102.572     102.438       102.487
2014-08-04 21:00:00      102.481      102.584     102.460       102.584

chartSeries(stock)
addBBands()

请帮我指出正确的方向。

【问题讨论】:

    标签: r quantmod


    【解决方案1】:

    如果您查看addBBands() 的源代码,您会发现它调用了BBands。试试这个:

    BBands(HLC(stock))
    

    【讨论】:

    • @user3773444 试试RSI(Cl(stock))。它采用单变量价格序列,而不是高、低、收盘。 TTR包(技术交易规则)中的所有功能见help(package="TTR")
    【解决方案2】:

    addBBands 函数返回一个静默 chobTA 对象,可以使用 attr 访问该对象:

    x=addBBands()
    bands=attr(x,"TA.values")
    

    我假设 dn 和 up 列对应于波段。

    【讨论】:

    • head(bands) dn mavg up pctB 2014-08-03 23:00:00 NA NA NA NA 2014-08-04 01:00:00 NA NA NA NA 2014-08-04 03 :00:00 NA NA NA NA 2014-08-04 05:00:00 NA NA NA NA 2014-08-04 07:00:00 NA NA NA NA 2014-08-04 09:00:00 NA NA NA NA >
    • 您是否注意到,当布林带显示在图表上时,它们在早期时间点并不存在? NA 行在那里是因为 addBBands() 需要 19 个之前的时间点来计算移动平均值。第 20 行是实际数字的第一行。
    猜你喜欢
    • 2022-11-02
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多