NumPyで標準偏差,偏差値のつづきです。
以下 画像なので重いです。。。
株価データについて、標準偏差もグラフに書き入れていくボリンジャーバンド。
これを効率よく計算していくにはどうしたらいいのか、紙に描いてたらぐちゃぐちゃになってきたので、OpenOffice.orgの数式エディタでメモしてみました。
間違ってるとはずかしいのでホントは公開したくないのですが、ここまで描いたものを封質するとショックなのでblogにも保存しておくことに。
まだ答え合わせするところまで行ってないので、間違ってたらすんません
(NumPyを使って計算した値と、この式による値を照らし合わせれば、式が正しいかどうか判るはず)
<<追記2009-02-01>>
検算したところ、一応、あってるような気がします。
ただし、numpy.std関数もかなり速いので、あえてこの数式を使うほどでもないかも。
クリックすると拡大表示されます
データは a0 ~ という配列に格納されている
nは、何日分ずつしょりしていくかの値 (n日移動平均線、みたいな)
最初の日の計算。まずは標準偏差&分散の定義から

絶対値の記号っぽく見えるのは、すべて中カッコです。。。
次の日。 計算に使われる値(aの添え字)が微妙に変化している

_S’ = S-a0+an
とも書けるので、これを利用すると、移動平均線を効率よく計算できます

と置くjと

各項について変形していく。画像の大きさが変なので勘弁。。。





で、実際に計算に使うのはコレだけ

この式が合ってるのか自信がない。今後Pythonつかって答え合わせする予定。。。
。。。だけど、今日はここまで。

全体をn倍すると分数が消えるので、誤差の蓄積が無くなるかも?
Related posts
Tags: Python