2016年4月2日土曜日

ボリンジャーバンド

もうちょっとquantmodを使っている感のあるものをやってみたいと思う。ボリンジャーバンドとは、平均から±2σのところに引いた線のことである。正規分布理論によれば±2σからはずれるのはおよそ5%。ここから外れれば次は戻るだろうという理論と理解してよいだろうか。BBandsという関数がある。quantmodというかxtsパッケージの説明によると、(H+L+C)/3をTP(typical price)といい、TPの直近20日間の移動平均と移動標準偏差σを用いて、-2σの位置を0、+2σの位置を1として、当日のTPの位置を返す。


大きなデータを引用した。xt[[1]]はある銘柄のおよそ250日間の株価データで、xts型である。BBandsではHigh,Low,Closeの3つのデータを使うので、xt[[1]][,2:4]としている。20日間の移動平均を用いるので最初の19日間はNAである。項目名のmavgはmoving average 移動平均である。dnとupはそれぞれ-2σと+2σの値である。pctBは%Bなどと表記されるが、当日の値の位置である。位置の表し方は先に述べたようにー2σのところを0、+2σのところを1とした数値である。-2σを割るというのは%Bが0より小さくなるという意味である。本日の株価がー2σを割っているかどうかが問題なので、次のようにする。

なんと、最初から割れている。なにせ、本日は大荒れの日だったから。これを各銘柄について確認して、割れている銘柄のコードを集める。

やはりいろいろとエラーが出るので、tryで囲んでおいた。

いい加減にやるので、文字列になってしまった。"TRUE"の数を数えよう。

銘柄総数は
> length(xt)
[1] 1956
であるので、実に32%がー2σを割っている。異常事態である。xt[[1]]のチャートを描く。


ろうそく足の上下にある赤い点線の間のグレーゾーンがボリンジャーバンドである。最終日、すなわち右端ではー2σを割っているのがわかる。明日、反発するのかなあ??過去の様子を見るとー2σに沿ってだらだら下降している時期も短からずあるし・・・。

0 件のコメント:

コメントを投稿