zigzagの傾向分析
スポンサーリンク

概要

以前、zigzag 用インジケータから特徴量に当たる情報をテキストとして表示するインジケータを紹介しました。

zigzagの動きを見ていると、ある特定の波形が頻出しているような?と思うことはよくあると思いますが、
特定波形後の次の値に偏りが生じるならば、優位なトレードをする根拠となります。

今回は実際にそれを検証してみます。

検証方法

方針

単純に山・谷が前回高値・安値を更新したかどうかのパターンで評価します。
山・谷それぞれにおいて、

  • 連続で前回高値を更新したら+1
  • 連続で前回安値を更新したら-1
  • 上記以外の場合、0に戻る

のような count を zigzagインジケータの出力結果に情報付加し、
その過去5つの山と谷の記録を元に、次のレコードがどうなる可能性が高いのか?を評価します。

例えば、下図の場合、

2018/03/28 top 0 から、始まり、 0,0,1,1,2 という波形を作った場合、2018/04/17のbottom で記録するのは
値としては2 か 0 のいずれかですが、過去データの統計として 2 を記録した比率がどの程度なのかを評価し、
著しくいずれかの値を記録する比率が高い場合は優位性のあるトレードができるかもしれません。

元データ

以前投稿したインジケータの値をファイル出力します。
mql5はファイル出力系の関数も揃っており、インジケータバッファとして取得した値をcsvファイルとして出力することができます。

ただ、そのままだと利用しづらいため、事前に分析用途として活用しやすい形式に加工しておきます。

count_nが、自身のレコードから見た場合nレコード前の値。
key は count_5 ~ count_1 を文字として結合したもの。key が同一ならば同一波形とみなします。

スポンサーリンク

分析

BIツール Tableau に、上記で取得したcsvファイルをデータソースとして読み込みビジュアル化します。
Python で matplotlib などを使用して描画しても良いのですが、よほど慣れていない限りグラフ用のコマンド叩くのも手間なので、
BIツールでサクッと俯瞰した方が効率が良いと思います。

各 key 毎に、いずれか2値を取り、その比率を計算します。
これだとわかりにくいのでヒストグラムで表示します。 尚、top と bottom で異なる判断をした方が
より精度が上がると考えられますので、 その category で分類し、結果を表示します。

各 key の出現頻度と、その際のkey 分布が表示されます。
今回の場合、各 key 内で取得する2値の比率が 70% 以上のケースをハイライトしています。

ちなみに、 80%以上を基準にすると以下の通り。

標本数が少ない辺りは無視したとしても、特定条件下で偏りが出るようことがあるようです。
通貨ペア、期間によってこの辺りの傾向は変わりますが、一つの判断材料として使えそうですね。

今回は count のみを使用した分析でしたが、zigzagの各期間やレート等も加味すると、より具体的な評価材料として利用できそうです。
どこかのタイミングで、EAのシグナルとしても有用かを検証したいと思います。

補足

インジケータからの出力ファイルを事前加工する手順をまとめました。

分析ツール内では、単純な四則演算やウィンドウ関数の実行もできますが、あまり分析ツール側の機能で全部やろうとすると
無理なレポートの作成方法を強いられたり、集計速度が悪化しやすくなります。

ある程度分析イメージが固まったならば、集計・加工がしやすいように、データソース側の事前準備をしておくことをお勧めします。

関連記事

スポンサーリンク
おすすめの記事