様々な指標、単純な機能でも応用は効く <株入門>

前回、ようやく配列を拡張して移動平均線を実現出来るようになった。
機能は単純で限定的に見えるが、さにあらず、
意外と応用が効くものである。

坂本タクマ先生、
当然の如く実装後にテストをちゃんとするのだが、
単純な動作検証に終わらないところが、エラい。
 
移動平均や、区間高値、安値の基本をチェックした後、
map_indicatorを使って、「何か計算」のバリエーションを試す。
高値と安値の中間は簡単。

前日との増減は、以下のコードで実現できる。
ワタクシは盲点だった、区間を2として引くだけだった。

array.map_indicator(2) do |vals|
vals.last – vals.first
end

 
区間の増減の平均は思いつくかな。
 
それから、ちょっと複雑な指数移動平均を実装している。

1.αというものを求める。α=2/(n+1)である。
2.最初(1日目)の指数移動平均は、普通の平均値である。
3.2日目以降は、前日の指数移動平均にα×(当日の値-前日の指数移動平均)を加えたものになる。

そういう理屈だそうで、それをそのまま実装している。

なかなか応用範囲が広いことが分かる。

試しに、ボリンジャーバンドで使う標準偏差を3日区間で出してみた。
以下のコードをarray_check.rbに追加。
sd_array = array.map_indicator(3) do |vals|
m = vals.average
v = vals.inject { |a,b| a + (b – m) ** 2 } / (vals.size – 1)
Math.sqrt(v)
end
p sd_array

おお、何かそれらしく動いている。
 
 
簡単な仕組みだけど、応用が様々に効く。
頼もしい武器を手に入れたみたい。
自作も自由が効いて悪くないのではないか。
また、
プログラミングが好きで、Rubyに慣れてるなら、
Rubyという選択も良いかもしれない。
分かりやすい言語ではないと思うが、簡潔に自由に書けるからね。

 
質問コーナー、お問い合わせは、sanpome.net@gmail.com まで。

  
 

社会・経済ニュース ブログランキングへ

にほんブログ村 海外生活ブログへ
にほんブログ村

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 タグ: , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*