「観測枠を無効化する」シリーズで扱った可変観測枠を導くための
処理をExcelファイルとして作成しました!
出来る限りわかりやすく組んだので無駄に列が多いです。なので
各自列をまとめて圧縮すると容量が減って動作が重くなることもな
いと思います。
記事で扱ったExcelの処理はExcelファイルダウンロードサービス内にて
ダウンロードできます
今回のファイル名 : 観測枠の無効化処理
※ ファイルの反映に時間がかかる時があります
■ 解説
処理プロセスを簡単に解説しておきます (^-^)/
まず画面構成は以下のようになります。
観測数は通常移動平均線の観測数です!
【移動平均線の列】
セルG203を事例に通常移動平均線の数式をみてみましょう♪
=AVERAGE(F203:OFFSET(F203,-$B$1+1,0))
自由に観測数を変化させられるようにAVERAGE関数のパラメータ
の終点にOFFSET関数を使ってます。これで観測数分、過去の値
を参照することになり観測数に従った移動平均線が計算されます。
【クロス判定の列】
可変観測枠は移動平均線と終値のクロスを軸としますのでクロス
判定を行います。クロス判定は、
終値が移動平均線の上に位置する時 ⇒ アップトレンド ⇒ +1
終値が移動平均線の下に位置する時 ⇒ ダウントレンド ⇒ -1
とします。セルH334を事例にクロス判定の数式をみてみましょう♪
=IF(G333="","",IF(AND(F333<G333,F334>G334),1,IF(AND(F333>G333,F334<G334),-1,H333)))
エラー処理をしてますので複雑に見えますが、要は上のクロス判定
を数式化されているだけです。
【周期カウントの列】
次に周期カウントの列の数式をみてみます。周期カウントは、
アップトレンド中 ⇒ アップトレンドが続いている期間をカウント
ダウントレンド中 ⇒ ダウントレンドが続いている期間をカウント
となります。数式の中身はセルI354を参照します!
=IF(H334<>H333,1,IF(H334<>"",I333+1,""))
+1から-1、または-1から+1に変化した時に周期カウントを1と初期
化処理します。それ以外は、
前行の周期カウント+1
と処理してます。
【可変値の列】
可変値は終値と移動平均線がクロスした時に、
クロス直前の周期カウント+1
の値を取得します。クロスしていない時は前行の値をそのまま引き
継ぎします。ちなみに、なぜ「クロス直前の周期カウント+1」にする
かといいますと、
クロス時 ⇒ 前区間と現区間が混在する
と定義し周期の連続性を保つためです。時系列データを周期で分断
しますが、時系列データは連続しているため周期も可能な限り結合
しておきたいという意味での処理です。小難しく思えたら、そういう処理
なんだと理解してもらえると有り難いです (;^_^A
この数式はセルJ334を事例としますと、
=IF(AND(H333="",I334=1),2,IF(I334=1,I333+1,J333))
と処理します。エラー処理が最初に入ってます!
可変値は可変移動平均線に適応する観測数の基本値です。つまり、
可変値の値が可変移動平均線の観測数になります。
しかしながら、この値は直接使用されません。なぜならトレンド処理
がされていないからです。そのトレンド処理については次項にて解説
します。
【トレンド修正】
トレンド修正は可変移動平均線において一番大切な処理です。まず
下記の解説を頭に叩き込んでください (^O^)/
可変観測枠 ⇒ 「クロス直前の周期カウント+1」 ⇒ 前区間の周期を現区間に適用
これが可変観測枠の正体です。そして、
レンジ形成場面 ⇒ 必然的に可変値は小さくなる
上下トレンド形成場面 ⇒ 可変値は大きくなる
という関係があります。要は可変観測枠とは以下の対応を行う
ための処理となります。
レンジ形成場面
⇒ 価格変動上下してノイズ的な動きになる
⇒ 観測枠の値が大きいと値動きについていけなくなる
⇒ 観測枠を小さくして対応
上下トレンド形成場面
⇒ 一方的な方向への価格変動となる
⇒ 観測枠の値が小さいとトレンドが表せなくなる
⇒ 観測枠を大きくして対応
ここで注意する点は、前区間の可変値が小さい場合、その小さな
値で現区間が上下トレンドに突入してしまうと観測枠の値が小さす
ぎてしまうことです。それを補うため、
現区間の周期カウント > 可変値 ⇒ 可変値+1づつしていく
とトレンドに沿って可変値を増加させることで上下トレンドを上手に
表す工夫が必要です。その処理がトレンド修正に施されています。
セルk334をみてみましょう♪
=IF(H334="","",IF(AND(I334<>1,I334>J334),I334,J334))
エラー処理の後に前列の可変値を修正しています。修正値は周期
カウントの列の値を採用しています。ちょっと理解が大変かもしれま
せんが下記の周期の特性を知っておけば理解は早くなると思います。
レンジ形成時 ⇒ 周期は短くなる
上下トレンド形成時 ⇒ 周期は長くなる
ExcelのSin波などで実験してみても良いですね o(^▽^)o
【可変移動平均線】
この列はトレンド修正の値を適用した移動平均線である可変移動平均線
を計算しています。可変移動平均線の計算は通常の移動平均線と同じ
です。セルL344を事例にみてみましょう!AVERAGE関数を使用して、
=IF(H334="","",AVERAGE(F334:OFFSET(F334,-K334+1,0)))
とします。最初にエラー処理をしてます。
【最後に】
エラー処理があるので数式が見難いかもしれませんが、上記の解説が
処理の手順なので読みながら数式をみるとわかり易くなると思います。
この可変観測枠は絶対的に正しいものではありません。あくまでも、
トレンドの状況に限りなく即した観測数
を近似的に導くものです。そして、移動平均線のクロスが発生する時の
状況を上手く活用することによって処理したというわけです。
レンジ形成時 ⇒ クロスが多くなる
上下トレンド時 ⇒ クロスが少なくなる
という常識的な観測を基にしたに過ぎませんが、考え方としては合理的
な感じがします。特に重要な点は、レンジ内変動の最終地点は上下トレ
ンド突入時点でもあると考える点です。周期が小さいまま上下トレンドに
突入するとトレンドが上手く表せない点をどのように工夫するかで、
まだまだ精度が高まる可能性 Σ(゚д゚;)
があるでしょう。逆に大きな周期のままにレンジ形成に突入する際の誤差
を工夫するのもアリだと思います。
このファイルを土台に色々と改造してみてください (^-^)/