ボリンジャーバンドの計算は難しいと思ったのですが、意外と簡単でした。
ただ、 n
で割るのか n-1
で割るのか迷いましたが、数が決まっているので n
で割ることにしました。
- 標準偏差:
n
で割る - 不偏標準偏差:
n-1
で割る
Rubyのボリンジャーバンド計算のコード
def calc_bb(ddd)
sma = ddd.sum.to_f / ddd.size
sig = Math.sqrt( ddd.inject(0){|ss,dd| ss + (dd - sma)**2} / ddd.size )
[sig*2, sig, 0, -sig, -sig*2].map!{|dd| (dd+sma).round(3)}
end
配列を渡せば、配列で結果が返ります。与えた配列の最後の値に対する結果です。
使うときは、配列を1つづつずらして calc_bb
を呼べばOKです。
配列の数がパラメータになります。
NT倍率に対してのグラフ結果例
2019/12/15