遅行スパンクラス

遅行スパンクラス概要

遅行スパンクラスを作成してみたいと思います。
このクラスは諸先輩が作成したものではなく自作のクラスです。
自作クラスを作ることにより私のPHPスキルをあげることが大きな目的です。
他の人の作ったクラスはここまでいろいろ利用させてもらってきました。
今回は最初から自分でクラスを作るというなんとも大それた暴挙に出てみました。
予想通り、それは大変な作業になってしまいましたが、取り敢えずまとめておきたいと思います。

遅行スパンってなに?

まずは、遅行スパンについて説明したいと思います。
一言で言うと、 遅行スパンは FX や株を売買するときに利用されるテクニカル指標です。
一目均衡表に組込まれるものが最も有名です。
遅行スパンとは、その名の通り当日の終値を、ある一定期間遅らせて表示させるものです。
よく使われるのが、当日の終値を 21期間あるいは 26期間遅らせるものです。
一目均衡表の考案者は、一目山人さんで、昭和10年に発表されています。
通常の遅行スパンは、トレンドが出だすと過去の実体ローソク足から乖離していきます。
かなり離れていきます。
でもその使い方は奥が深いです。

今回作成する遅行スパンクラスってなに?

今回作成する遅行スパンクラスの概要について説明します。
FX や株の値動きには周期性があります。
過去の値動きに同期するのです。
だからこれまでの値動きから将来の値動きを予測することができます。
一目山人さんはその周期が26期間ではないかと想定し、26期間遅行させた遅行スパンを考案しました。
現在の値動きと一致する期間が過去の値動きの中にあるのは、みなさん何となく認識しています。
それを、見付けようとするのが今回の遅行スパンクラスです。

周期性の見付け方

どうやって周期性を見付けるのか概念図を作ってみました。
電子回路の PLL回路と良く似ています。

  • PLL Band 概念図
  • 例えば、直近10日間の値動を過去に順次遡ったある10日間の値動と比較し、近い値動を探します。
    もし、20日間遡った値動が最も近い動きをしていれば、20日が遅行値ということになります。
    これでは、まだ分かりにくいので、もう少し詳細に説明します。
    下図を見てください。
    11日間の値動デ-タがあるとします。
    1. 分割数 N = 4 とし、直近 4日間の平均値 Avg 1 を求めます。
    2. 5日前から過去 4日間の平均値 Avg 5 を求めます。
    3. ΔAvg 5 = Avg 5 - Avg 1 とします。
    4. デ-タがある限りの ΔAvg n を求めます。
     今回は 11個しかデ-タがありませんので、ΔAvg 8 で終わりです。
    5. 次ぎに、分割数 N = 5 として同じことを繰返します。
    6. 今度は、ΔAvg 6'、ΔAvg 7' が求められました。
    7. 今回は 11個しかデ-タがありませんので、N = 5 で終わりです。

  • デ-タ比較概念図
  • あとは、
    1. 赤1 と 黄5 ・・・・ 赤4 と 黄8
      をΔAvg 5 で補正しながらそれぞれ

     ・・・・

    4. 赤1 と 黄8 ・・・・ 赤5 と 黄11
      をΔAvg 8 で補正しながらそれぞれ
    5. 赤1 と 青6 ・・・・ 赤5 と 青10
      をΔAvg 6' で補正しながらそれぞれ
    6. 赤1 と 青7 ・・・・ 赤5 と 青11
      をΔAvg 7' で補正しながらそれぞれ
    比較して各差分を求めます。
    この差分が最小となる組合せが求める遅行値となります。
    例えば、赤1~4 と 黄7~10 の組合せの時の差分が最小となれば遅行値は 7 となります。

    18/3/15~18/8/10 の豪ドル/円の値動を例に、 ここまで説明した内容の一部 (デ-タ数106個で N = 20 とした時) の探索の様子を動画にしてみました。

  • 遅行値探索動画
  • これで、遅行スパンクラスの概要説明は完了です。
    引き続き、遅行スパンクラスファイル delay_dif-cla-gra.php を作成していきます。

    長くなりましたのでここで一旦切りたいと思います。


  • 遅行スパンクラスファイル作成 に続く
  • 63PearVillageに戻る