English Русский Español Deutsch Português
preview
トレンドの基準:結論

トレンドの基準:結論

MetaTrader 5トレーディングシステム |
34 0
Aleksej Poljakov
Aleksej Poljakov

はじめに

「Trend is your friend」という言葉があります。しかし、私たちはこの「友」についてほとんど理解していません。もし10人のトレーダーにトレンドとは何かを尋ねれば、おそらく10通りの異なる答えが返ってくるでしょう。唯一共通しているのは、トレンドとは価格の一方向的な変動である、という点かもしれません。しかし、その「方向」が何を意味するのかについては、それぞれのトレーダーが独自の解釈を持っています。

もちろん、数学的に定式化されたトレンド判定基準も存在します。しかし、それらには一定の欠点があります。たとえば、多くの基準は正規分布への適合を前提として設計されていたり、あるいは時系列の最小長に制約を課していたりします。

そこで本記事では、古典的な基準を基にしながら独自のトレンド評価指標の構築を試みます。そして、そして、トレンドを真に「トレーダーの友」として活用できる状態を目指します。


アッベ基準

この基準は、2種類の分散を比較することに基づいています。1つは通常の分散、もう1つはアラン分散です。トレンドが存在する場合、これら2つの分散は異なる挙動を示します。たとえば、値が3、2、1という時系列を考えます。通常の分散を求めるためには、まず平均値を計算する必要があります。

その後、分散を計算します。

アラン分散を求めるためには、時系列の連続する差分のみを用います。

次に、元の時系列を拡張し、その値を5、4、3、2、1とします。

このときも同様に分散を計算します。

この拡張を続けても基本的な考え方は変わりません。トレンドの存在はアラン分散には影響を与えませんが、通常の分散はトレンドの長さに依存します。

アッベ基準はこれら2つの分散の比として定義されます。

この値が小さいほど、トレンドは強いと判断されます。この基準自体は有効ですが、市場データでは二乗を用いることにより誤差の影響を受けやすいという欠点があります。長い時系列であれば問題は顕在化しませんが、短い時系列では1つの異常値が強い影響を与える可能性があります。

この問題を解決するために、ロバストな手法を用いることができます。これらの手法については別途記事を書くこともできますが、ここで今すぐ説明します。平均の代わりに中央値を用い、二乗の代わりに差の絶対値を用います。アントン・チェーホフは、「簡潔さは才能の妹である」と述べています。ですので、私にも多少の才能はあるのかもしれません。

アルゴリズムは以下のようになります。まず、すべての価格値を取り出し、昇順に並べ替えます。続いて、価格データ数が奇数であれば中央値は中央の価格と等しくなり、偶数であれば中央に位置する2つの値の平均が中央値となります。

次に、各価格の中央値からの絶対偏差を計算します。

そして、得られた値の中央値を求めます。こうして中央値絶対偏差(MAD, Median Absolute Deviation)が得られます。これは標準偏差のロバストな推定値です(いくつかの注意点はありますが、補正係数を適用する必要があるものの、ここでは必要ありません)。アラン分散の代わりとして、偏差も計算します。そのためにはまず、連続する価格差の絶対値を求める必要があります。

そして、得られた値の中央値を求めます。この中央値は、実際には1バーあたりの平均的な価格変化速度を示します。

ここで、トレンドの兆候とは何かについて少し考えてみます。得られた標準偏差推定値が大きいほど、トレンドが存在する確率は高くなります。また、アラン偏差が大きいほど、トレンドが強いことを意味します。理論はここまでとして、次にこれらの特徴を実際に適用してみます。

まず、偏差の大きさをどのように評価するかを決める必要があります。たとえば偏差指標が50ポイントだった場合、それが大きいのか小さいのかは、それ単独では判断できません。これを判断するためには過去の値との比較が必要です。そのため、統計を収集し、偏差値とそれが過去に何回出現したかを記録します。この統計に基づいて累積分布関数(CDF)を計算できます。この関数を用いることで、偏差の強さを評価できます。大きな偏差は出現頻度が低く、そのため累積分布関数の値は大きくなります。

偏差はトレンドの強さを示すことはできますが、その方向性は示しません。そのため、方向を示す別の基準を追加する必要があります。ここでは前回の記事で説明したケンドール統計量を使用します。

その結果として、3つの異なる基準を1つのインジケーターに統合することになります。

トレンドの存在は、標準偏差の大きな値(青)、価格変化率の大きな値(赤)、そして50の水準から大きく乖離しているケンドール統計量(緑)の3つの指標によって判断できます。

このインジケーターに基づく簡単な取引戦略の例を見てみましょう。インジケーターがトレンドの存在を確認した場合にエントリーします。ポジションは、ケンドール統計量が50付近に戻ったときに決済されます。この戦略は次のような結果を示す可能性があります。


スパイク(急激な価格変動)の扱い方については理解しました。しかし、すべての可能性を考慮できているでしょうか。たとえば、時系列が1、0、0、0、-1という値を取る場合、この場合、どの値を異常値とみなすべきでしょうか。両端の値でしょうか、それとも中央の値でしょうか。この問いに答えるためには追加情報が必要です。しかし、自分たちで答えを導くことも可能です。価格変動における異常の影響を排除するためには、時系列のすべての要素を考慮する必要があります。

異常値に対処するために、アッベ基準の元の式をわずかに修正する必要があります。アラン偏差は次のように計算されます。

標準偏差の式も同様に変更されます。

そして、この基準値は次の式によって求められます。

この値が大きいほどトレンドは強いと判断できます。べき乗を使用しないため、この指標の変化はより滑らかになります。さらに変化をより明確にするために、過去の最小値と最大値を正規化します。トレンドの方向を判断するためには、引き続きケンドール統計量を使用します。これがこのインジケーターの形になります。

このインジケーターに基づき、次のルールを持つ戦略を構築します。

  • ポジションは、アッベ基準が上昇しておらず、かつ一定の水準以上にある場合にのみ開かれます。
  • 買いポジションは、ケンドール統計量が上昇しており、かつ設定された水準より低い場合に開かれます。
  • 売りポジションは、この基準が下降しており、かつ設定された水準より高い場合に開かれます。


アラン偏差の計算では、絶対差の総和を用いています。この値は価格変動の総距離を示します。この距離を知ることで、線形トレンドの強さを推定できます。この新しい値は次のように計算されます。

分子は時系列の初期値と最終値の間の距離を計算し、分母は総移動距離を表します。このインジケーターが1に近いほどトレンドは明確であり、小さい値はレンジ相場やノイズ的な動きを示します。ただし注意点として、小さい値であっても急激な価格変動と同時に発生する場合があります。

このインジケーターに基づいて、次のような戦略を構築します。ポジションは、ケンドール統計量がトレンド方向の転換を示した場合に開かれます。さらに、この新しい指標の値が平均から十分に大きく乖離している必要があります。言い換えれば、この新しい指標はトレンド終了の原因を判断するフィルターとして機能します。


このように、1つの古典的なトレンド基準について議論した結果、最終的に3つの改良された指標へと到達しました。ここで一旦このテーマを区切り、他の基準へと注意を移します。


次の基準

符号基準は、最も単純で直感的な基準の1つです。これは非常に単純に説明できます。現在の価格が前の価格より高ければ「+」の符号が付き、低ければ「-」の符号が付きます。すべての符号を付与した後、その結果からトレンドの有無や方向について結論を導くことができます。

しかし、この基準には重大な欠点があります。それはトレンドの強さを判断できないことです。たとえば、5つの価格が連続して1ポイントずつ上昇しているとします。チャートを見れば、この部分はレンジ相場であると自信を持って言えるでしょう。しかし符号基準は「+」が4つ並ぶため、上昇トレンドが存在すると誤って判断してしまいます。この欠点を取り除くことを試みます。

まず、価格変化に対してある閾値を導入する必要があります。その結果、符号のカウントルールはわずかに変更されます。

まず、この基準に基づくインジケーターを見てみます。

一方の符号がもう一方より大きい場合、それはトレンドの存在を示します。ここから単純な戦略が導かれます。すなわち、片方の線がもう一方の線をクロスした場合にポジションを開くというものです。

結果はそれほど良いものではありません。しかしこれは、この戦略には改善の余地があることを意味するだけです。

ケンドール統計量もまた符号の数に基づいています。そして同様の欠点を持っています。すなわち、価格が1ポイント上昇しただけでも安定したトレンドとして認識してしまいます。そこでこの基準を少し変更します。変更の本質は単純です。このインジケーターは、一定期間における価格変動の統計を収集します。たとえばインジケーター期間を3とした場合、2種類の統計を持つことになります。1つは1バーでの価格変動の比較統計です。

もう1つは2バー分の価格変動統計です。

これらの統計に基づいてCDFを計算し、その合計値によってトレンドの強さと方向を評価します。このインジケーターは興味深いものになりましたが、読み込みに時間がかかります。そのため、このインジケーターに基づくEAは作成しません。気に入った方は、フリーランスでEAへの移植を依頼することもできます。


その次の基準

多くのノンパラメトリックなトレンド基準は、元の値のソートを利用します。これらの基準は、線形トレンドだけでなく非線形トレンドも検出できるという点で優れています。しかし大きな欠点として、トレンドの強さを区別できないことがあります。1ポイントの価格変動も100ポイントの変動も同じように扱われてしまいます。この問題の解決方法の1つは、パラメトリック手法とノンパラメトリック手法を組み合わせることです。

この組み合わせの最初の例を示します。必要な数の価格を取り出し、昇順に並べ替えます。これがこの基準のノンパラメトリックな部分です。その後、元の時系列とソート後の系列を比較します。これがパラメトリックな部分になります。

下降トレンドの場合、元の価格とソート後の価格の対応関係はほぼ一致し、その結果として和は0になります。一方、上昇トレンドの場合、この値はかなり大きくなります。そしてこの値が大きいほど、上昇トレンドは強いことを意味します。本来はこの基準を「良いモデレーターの基準」と呼ぼうとしましたが、問題がありそうだったため、「ソート基準」と呼ぶことにします。

次に、この基準を実際にどのように使うかを見ていきます。まず、得られた合計値の統計を収集します。この統計に基づいてCDFを構築します。そしてそのCDFに基づいて、トレンドの強さと方向を評価できます。そしてもちろん、この基準が実際に使用可能かどうかを検証する必要があります。


ノンパラメトリック手法とパラメトリック手法のもう1つの組み合わせは、SMAを用いて構築できます。この基準の本質は非常に単純です。SMAは上昇トレンド中には増加し、下降トレンド中には減少します。たとえば全体のインジケーター期間を3とした場合、3つの異なるSMAを構築できます。

得られた値を昇順に並べ替えます。この統計は先ほどの例と同様になりますが、今回は価格ではなくSMAの値を比較します。小さな差は下降トレンドを示します。一方、上昇トレンドの場合は、絶対差の合計がかなり大きくなります。


この基準は比較的有効であり、取引において有用である可能性があります。もちろん、この基準はさらに改良することも可能です。たとえば、同じ期間を持つ他のインジケーターを使用することもできます。SMA以外にも、他のトレンド系インジケーターを利用できます。


結論

トレンドを理解することは、トレーダーが価格変動を予測し、その予測を利用して利益を得るために役立ちます。しかし重要なのは、トレンドは常に予測可能なものではなく、最も信頼性の高い分析手法であっても失敗する可能性があるという点です。そのためトレーダーは、市場環境の変化に応じて常に戦略を改善し、適応させる必要があります。古典的なトレンド基準を修正したり、自分自身の基準を開発することは、その助けとなります。

EAのテストは以下のパラメータで実施されました。

  • EURUSD
  • H1
  • 2024年1月1日~2024年12月31日

この記事を書くにあたり、以下のプログラムを使用しました。

名前 種類 詳細
Abbe 1 インジケーター
  • インジケーター期間最小値は3
EA Abbe 1 EA
  • LvlStDev:標準偏差レベル
  • LvlDevAl:アラン偏差レベル
  • LvlTrend:トレンドレベル
Abbe 2 インジケーター

EA Abbe 2 EA
  • LvlAbbe:アッベ基準レベル
Abbe 3 インジケーター

EA Abbe 3 EA
  • LvlMax:売られ過ぎレベル
  • LvlMin:買われ過ぎレベル 
Signature インジケーター
  • Level:価格の乖離レベル(ポイント単位)。
EA Signature EA

Kendall インジケーター

Sorting インジケーター

EA Sorting EA

Average インジケーター

EA Average EA

MetaQuotes Ltdによってロシア語から翻訳されました。
元の記事: https://www.mql5.com/ru/articles/17811

添付されたファイル |
Abbe_1.mq5 (10.41 KB)
EA_Abbe_1.mq5 (3.4 KB)
Abbe_2.mq5 (3.66 KB)
EA_Abbe_2.mq5 (3.53 KB)
Abbe_3.mq5 (3.49 KB)
EA_Abbe_3.mq5 (3.55 KB)
Signature.mq5 (3.08 KB)
EA_Signature.mq5 (3.43 KB)
Kendall.mq5 (3.96 KB)
Sorting.mq5 (3.26 KB)
EA_Sorting.mq5 (3.39 KB)
Average.mq5 (3.36 KB)
EA_Average.mq5 (3.35 KB)
一次元特異スペクトル解析 一次元特異スペクトル解析
本記事では、特異スペクトル解析(SSA, Singular Spectrum Analysis)法の理論的および実践的側面について考察します。SSAは時系列解析の有効な手法の一つであり、時系列の複雑な構造を、トレンド、季節性(周期的)変動、ノイズなどの単純な成分へ分解して表現することを可能にします。
ペアトレード:Zスコアの差に基づく自動最適化機能を備えたアルゴリズム取引 ペアトレード:Zスコアの差に基づく自動最適化機能を備えたアルゴリズム取引
この記事では、ペアトレードとは何か、そして相関トレードがどのように機能するのかを解説します。また、ペアトレードを自動化するためのEA(エキスパートアドバイザー)を作成し、さらに過去データに基づいてこの取引アルゴリズムを自動最適化する機能も追加していきます。加えて、プロジェクトの一環として、Zスコアを用いて2つの通貨ペア間の差異を計算する方法についても学びます。
FX裁定取引:関係性評価パネル FX裁定取引:関係性評価パネル
MQL5における裁定取引分析パネルの開発について説明します。さまざまな方法で、Forexで理論為替レートを導き出すにはどうすればよいでしょうか。市場価格と理論為替レートとの乖離を把握し、ある通貨を別の通貨に交換する裁定取引(三角裁定取引など)の収益機会を評価するためのインジケーターを作成します。
サンゴ礁最適化(CRO) サンゴ礁最適化(CRO)
サンゴ礁の形成および発展過程に着想を得たメタヒューリスティクス手法であるサンゴ礁最適化(CRO, Coral Reef Optimization)アルゴリズムを包括的に解析します。このアルゴリズムは、放卵放精、体内発生、幼生定着、無性生殖、ならびに限られた礁空間を巡る競争といった、サンゴの進化過程における主要な生物学的現象をモデル化したものです。特に、本記事では改良版アルゴリズムに重点を置いて説明します。