English Русский 中文 Español Deutsch Português
preview
EAを用いたリスクとキャピタルの管理

EAを用いたリスクとキャピタルの管理

MetaTrader 5トレーディング | 10 1月 2023, 15:09
317 0
Cristian Mihail Pauna
Cristian Mihail Pauna

はじめに

この記事は、取引にいくら投資するか、リスクを取るかについてではありません。まったく違います。これらのテーマは、過去数十年の間に多くの著者によってよく扱われ、永遠に結論が出されています。本稿では、バックテストレポートではわからないこと、自動売買ソフトを利用する際の注意点、EAを利用している場合の資金管理方法、自動売買をおこなっている場合に取引活動を継続するために大きな損失をカバーする方法について紹介します。要するに、EAを使って投資するにはどうすればいいのでしょうか。私は、Cristian Mihail Pauna、エンジニアかつエコノミストで、経済情報学の博士号を持っています。私は、メタトレーダーが存在するずっと前の1998年から、取引アルゴリズムや自動売買システムを制作してきました。これは私の日常的な活動です。自動化ソフトを使ってお金を稼ごうと思ったら、まずこの記事を読んでみてください。


自動売買アルゴリズム

EAの使用は、今日では簡単な作業です。MetaTrader 4と5の素晴らしい開発により、資金を取引するための自動ソフトウェアをダウンロードし、テストし、実行するのに数分もかからないようになりました。何百人もの著者によって作られた何千ものEAがオンラインで利用可能であり、1つ購入するのに必要なのは1、2回のクリックです。バックテストの結果が良好であれば、正しいソフトに出会ったと実感できます。そして、デモ口座にインストールして、しばらく動かしてみるのです。仮想通貨を使用している場合は、購入して実際の口座で動作させて、日ごとの利益を待ちます。通常は、バックテストが想定しているように、利益が来るのですが、そうでない場合もあります。

なぜでしょうか。なぜ、長い間儲かっていたアルゴリズムが儲からなくなるのでしょう。10年以上最大2%のドローダウンの取引しかしなかったアルゴリズムで、口座が破綻することがあるでしょうか。あります。この記事を書いている2022年は、10年以上無難に動くアルゴリズムではダメだということを証明するのに最適な年だと思います。今日はたくさんあって、ネットで大金で売られています。これがなぜ可能なのかの答えを見つけるには、近頃はたくさん読むことができます。陰謀説の信奉者の中には、証券会社がトレーダーに不利な行動をとっていると言う人もいるでしょう。また、大きな中央銀行が協力して、小さな口座からその巨大で無制限の口座に資金を移動させるために、予測不可能な決定を下すことだと指摘する人もいます。また、優れたフォーラムに組織された一部のマーケットメーカーが勝敗を決めているのだと主張する人もいます。まあ、これらはあくまで子供向けの話であって、私たちの場合はどれも当てはまりません。まったくです。

アルゴリズムとは、特定のタスクを解決するために作られた、先験的に定義された有限のルールの集合のことです。この場合、取引アルゴリズムは、市場の入力データを、買い、売り、または市場リスクから逃れるといった取引での意思決定に変換するために作られます。取引アルゴリズムは、過去の相場価格データを受け取り、様々な計算・変換関数を適用し、特定の取引シグナルを構築します。すべての取引アルゴリズムには、独自のパラメータセットがあります。これらは、過去の市場データを用いて、過去の時間間隔における収益性の最大値とドローダウンの最小値を得るために設定・最適化された係数です。ソフトウェアの作者は、より良いアルゴリズムを得るために、2年、3年、5年、あるいはそれ以上の過去の市場データを使ってアルゴリズムを最適化します。このように、取引アルゴリズムには、そのパラメータを通じて市場の動きが含まれています。つまり、特定の時間間隔と特定の市場行動を想定して良いパフォーマンスを発揮するために作られたものです。

明日の市場の動きが今日や昨日と同じだと、何が保証できるのでしょうか。何もできません。

明日の市場が過去10年間と同じような動きをすることを支える数学的原理は何でしょうか。何もありません。

明日の出来事が過去50年間と同じであると保証できる実生活の事実があるでしょうか。まったくありません。

私たちは市場は安定していると考えています。それが私たちの望みです。これは仮説です。私たちは、少なくとも短期間は現在の市況が続くことを願っています。ただし、この仮説は時と場合によって成り立ちません。人間、自然、災害が毎日同じように行動することを信じる動機がないように、値動きが同じであることを数学的に保証することはできません。市場の値動きは、主に人間の行動によって左右されます。それは、あらゆるグローバルな意思決定、経済的事実、自然あるいは地政学的な事象に左右されるものです。また、主にすべての市場参加者、彼らの信念、考え、恐怖、または信頼に依存しています。これらの変数はすべて、ハザード理論によって束縛されません。そのため、値動きにはかなりの予測不能性があり、また束縛されることもありません。

直近の期間に最適化されたアルゴリズムは、市場が過去と同じように動けばうまくいきますが、市場が大きく変化した場合には、パフォーマンスを発揮できません。このアルゴリズムは、市場の値動きが、最適化に使用した相場シリーズと同じ限界と動作の範囲内にある場合にのみ、同じ結果を提供します。パンデミックや戦争、経済危機など、投資意欲を大きく変えるような未曾有の事態が起きているとき、アルゴリズムが利益ではなく、大幅な損失を計上することがあるのです。この事実の背景には、市場の変化があります。

この結論は、取引アルゴリズムを使ってはいけないということなのでしょうか。もちろん違います。このすべてにかかわらず、私たちは自動売買のアルゴリズムをうまく使っており、この記事ではその方法を紹介しています。私たちは、取引アルゴリズムをどの程度信用できるか、アルゴリズムが設計通りに進化していない状況をどのように認識するか、不安定なアルゴリズムをどのように見分けるか、そして大きな損失を避けるにはどうしたらよいかを知る必要があります。最も重要なことは、自動売買アルゴリズムを使って、損失を制限するために適切なリスクと資金管理をおこなう方法を理解し、長い間取引活動に残るためにかなりの可能性のある損失を回避することです。


バックテストレポートではわからないこと

私たちは皆、EAを評価し、最適化し、その機能によってもたらされるリスクに対する提案をするために、バックテストレポートを使用しています。ストラテジーテスターの手順はどんどん進化しています。それらは膨大な情報を提示し、あたかもアルゴリズムのすべてを知っているかのような錯覚に陥らせます。さて、バックテストの結果には、次の期間の利益の予測まで、既製で最適化されたアルゴリズムに関するほとんどすべての情報があります。すべてが、市場の行動は決して変わらないという仮説に基づいて作られています。しかし、これまで見てきたように、これは真実ではなく、時折、市場の進化が大きく変化し、完璧なアルゴリズムが予想外の時に損失を与えることがあります。バックテストのレポートでは、市場が大きく変化した場合にアルゴリズムがどのように進化していくのかがわかりません。しかし、まだ良い知らせがあります。バックテストの結果を使って、最適な形から外れたときの取引アルゴリズムの安定性を評価することもできるということです。

活動中、私自身あるいは多くの人が作った何千もの取引アルゴリズムをテストしてきましたが、その中で、かなりの期間、例外的にうまくいっていたのに、市場の動きが変わると何の予告もなく劇的に変化するアルゴリズムが何百とあることがわかりました。相場の変化からかなりの期間が経過すると、バックテストレポートはより正確にその現象を明らかにすることができます。この間、相場が大きく変化したときに利益ではなく損失が出るアルゴリズムには、3つのクラスがあることを知りました。これらのクラスは以下です。

  1. 怠惰なアルゴリズム
  2. 永続的なアルゴリズム
  3. 不安定なアルゴリズム

怠惰なアルゴリズムとは、しばらくの間、良好なパフォーマンスを発揮し、大きな相場変動の後、アルゴリズムが非常に長い取引をおこなうようになる取引手順のことです。中にはまだ利益を残しているものもありますが、スワップ手数料の積み重ねで、最初の進化に比べれば利益は微々たるものです。また、手数料の高い証券会社やスワップを利用した場合、決して利益にならないような長い取引を開いている人もいます。このケースを簡単に理解するために、私のために最大8時間の取引を5年以上続けたアルゴリズムが、大きな市場の変化の後、少なくとも8ヶ月間続く取引をおこないました。最も長い時間の取引と、毎週または毎月どれだけのポジションが開いているかに十分な注意を払う必要があります。そうでなければ、何年も前のデータを使って作られたテストレポートに騙され、そのアルゴリズムがまだ利益を生むという誤った考えを持つことになりかねません。多くのストラテジーテスターは、最短時間と最長時間の取引を明示的に提示していません。場合によっては、この事実を知るために、最適化されたアルゴリズムの内部手続きとしてこの情報を計算する必要があります。怠惰なアルゴリズムを使っている場合の危険性は、それほど高いものではありません。自分の口座のポジションを追っているとします。この場合、しばらくすると、スワップ手数料がいつもより多く溜まっていることに気づき、使用するEAに疑問を持つようになるはずです。

永続的なアルゴリズムとは、アルゴリズムが利益となる取引のみ、またはほとんどを利益となる取引のみを長期間おこなった後、利益となる取引よりも損失となる取引を次々とおこなうEAであり、より多くの負の取引をおこないます。例えば、私は8年間で98%の利益を上げるアルゴリズムを見つけました。つまり、100回の未決済取引のうち、負けは2回だけということです。素晴らしい手順でしたしかし、2020年2月のパンデミック危機以降、このアルゴリズムでは、どのように最適化しても、72%の損失取引をおこない、28%の利益取引しかおこなえません。これは、市場行動の変化により、期待値が負となり、採算の取れないアルゴリズムとなった取引手順の好例です。EAを使用している経験の浅いトレーダーの中には、アルゴリズムが通常ストップロスポイントを使用しているため、このケースは危険ではなく、大きな損失が発生することはないと言います。これは本当ではありません。永続的なアルゴリズムを使用する場合の危険性は、自分が市場の行動の変化に気づかないという事実です。保護的なストップロスを使用しても、何の通知もなく、アルゴリズムは1つ、2つ、またはそれ以上の負の取引を実行します。この場合、危険なのはトレーダー自身からでさえあります。そのEAのために作られたバックテストレポートを見ると、トレーダーには負け取引の確率が非常に低いことがわかります。したがって、トレーダーは次の取引がプラスになり、ドローダウンが回復すると考えて、アルゴリズムを作動させ続けるでしょうが、市場の挙動が一変したため、そのアルゴリズムは主に損失取引をおこなうことになります。しばらくすると、累積した損失が大きくなり、関与した期待値が負のアルゴリズムでは回復できなくなることがあります。この場合、あるアルゴリズムが通常のバックテストよりも2、3倍の損失を出しているのを見ると、その手順の収益性について自問する必要があります。そのためには、口座全体に対して「グローバルストップロス」を実施する必要がありますが、これは別の記事で扱います。

不安定なアルゴリズムは、私が見つけた最もよくある取引手順です。長い間良いパフォーマンスを出していたのに、いったん相場が変わると、アルゴリズムが非常に大きな、あるいは完全な損失を出してしまうのです。これらは最も危険なアルゴリズムであり、たとえ大きな利益を約束するものであっても、何としても避けなければなりません。無制限の取引回数を使用するアルゴリズム、数十または無限のヘッジ手順を使用する手順、または間違ったリスク管理手順を使用するEAは、通常、不安定なアルゴリズムですが、それだけではありません。ある若いトレーダーから、特定の市場向けに作ったアルゴリズムをテストしてほしいと頼まれました。アイデアは革新的で、バックテストの結果も最初から楽観的でした。何度もテストした結果、驚きました。このアルゴリズムは、1つのパラメータセットのみで採算がとれていました。テイクプロフィットを1ポイントだけ変更したところ、なんと、アルゴリズムがテイクプロフィットポイントに到達せず、非常に大きな損失が出ることが時々ありました。使用スプレッドを変更したところ(通常、証券会社が予告なく変更する)、損失取引が利益取引よりはるかに高くなるようになりました。この場合、アルゴリズムは特定の市場行動に対して完璧であったが、実際には通常不可能です。このアルゴリズムは、しばらくして市場に登場し、現在も販売されています。経験のない人でも、著者が提供したセットファイルを使ってそのアルゴリズムをテストし、良いものだと結論づけることができます。誰でも、何が悪かったのかくらいはわからずに、購入して最初から赤字になるように動かす可能性があります。不安定なアルゴリズムを避けるためには、ストラテジーテスターを使用することができます。もし、元のパラメータを少し変えただけで、テスト口座が吹っ飛ぶようなアルゴリズムだったら、それは不安定なアルゴリズムなので、興味を持つべきではありません。また、リスクレベルを例えば2%に設定すると、安定して見えるアルゴリズムもあります。これは、2.03%の資本露出と2,12%の最大ドローダウンを与えます。同じアルゴリズムが3%の資本リスクで実行され、例えば52%というはるかに高い資本エクスポージャーを提供する場合、永遠にスキップします。

不安定な自動売買アルゴリズムの資本推移

図1 不安定な自動売買アルゴリズムの資本進化


適切なリスク管理戦略

1つの適切なリスクと資本を管理する戦略が、すべてをコントロールする鍵です。金融取引は非常にリスクの高い行為であることは、この記事を読んでいる誰もが知っていることです。同時に、正しい方法で作られたものは、利益を生む活動にもなり、そうでなければ存在しません。自動売買ソフトの使用は、関与するリスクを全く減らしていません。特に、ソフトウェアの作者がその手順を使用するトレーダーと異なる場合、または手順の最適化が頻繁に行われていない場合、自動化されたEAは、資金リスクを増加させるとさえ考えています。適切なリスクと資本の管理構造を構築するためには、まず投資家の3つの基本ルールを尊重する必要があります。

  1. 失う可能性がある以上のリスクを冒してはならない
  2. 使えるお金を全てリスクにさらしてはいけない
  3. 他人のお金を危険にさらしてはいけない

取引活動の一般的な目的は利益を上げることですが、投資家の意思とは関係なく損失が発生することがあります。1つまたは複数のEAの使用は、利益を保証するものではありません。アルゴリズムは直前期の統計値を用いて最適化されていますが、市場は予告なしにいつでも価格進化を変更することができます。したがって、いかなる金銭的損失も認め、受け入れる覚悟が必要です。このステージマインドを達成するために、トレーダーは経験を積み、その最終的な損失に納得がいくまで投資資金を減らす必要があります。これは、上からの最初の、そして最も重要なルールについてです。トレーダーは、口座の損失を許容できるようになったら、2番目のルールに従って、取引活動が生活に悪影響を及ぼさないようにしなければなりません。最後に、3つ目のルールを尊重し、この危険な活動に他の準備のない人を巻き込まないことです。もし、上記の金融投資の基本ルールの1つを尊重できない人がいたら、その人はこの活動から離れなければならないし、投資してはいけないのです。

私たちは、失ってもいい資本金額を手に入れたら、それを金融投資に巻き込み、EAを使って取引し、利益を上げることができるのです。この目的のために、私たちはいくつかの良い、収益性の高いEAと適切なリスクと資本管理戦略が必要です。我々は20000ドルと2%の最大ドローダウンでそれぞれを実行するように設定することができ、5つの良い専門家の顧問を持っているとします。仮説では、最小資本金1000米ドルで10%のキャピタルエクスポージャーで併走することになります。システムの収益性は、投資した資金がしばらくして2倍になることを期待しています。シナリオは現実的なもので、市販のEAを使っておこなうことができます。

各EAがバックテスト・レポートで最大ドローダウンを2%としていても、長期的に見ればリスクは全く2%ではありません。やがて、しばらくすると市場の動きが大きく変わり、バックテストは時代遅れになります。通常、本質的で前例のない損失を出してから気づくものです。取引活動を長く続けるためには、その可能性のある損失を限定し、その損失を巧みにカバーして、最後の採算段階から投資を継続する必要があるのです。EAが予想と異なる進化を遂げた場合に損失を限定するために、口座全体にグローバルなストップロスを設定する必要があります。経験上、グローバルストップロスの適切な値は、名目ドローダウンの2~3倍です。この例では、グローバルストップロスを預け入れ資本の30%に設定することができます。口座に導入するには、専用のユーティリティソフトを使い、30%のドローダウンを満たした時点で、すべての取引手順を停止し、すべてのポジションを決済するようにします。著者によっては、アルゴリズムによっては通常の実行でドローダウンを減らすことができるのに、30%という制限は小さすぎるとコメントすることができます。グローバルストップロスリミットの最大値および機能値は、投下資本の50%に設定することができます。この値は、リスク選好度や、その可能性のある損失を回復するアルゴリズムの能力にも依存することができます。いずれにせよ、取引口座に設定されたグローバルストップロス手順が残りの資本を保護します。

適切なリスクおよび資本管理戦略を構築するための第二の重要な段階は、起こりうる損失をどのようにカバーするかということです。大きな損失を出すたびに、投資計画の最初からやり直すのでは、望むような利益は得られません。建設的な考え方は、資本をアクティブ資本と準備資本の2つに大きく分けることです。アクティブ資本とは、EAが利益を上げるために使用されている主な取引口座に入金されたものです。準備資本も資本勘定に預けられますが、まったくリスクはありません。このパッシブキャピタルは、起こりうる損失をカバーするためにのみ使用され、そのために待機しています。次の表では、この戦略を特定のケースについて紹介しています。資本金は初めから2等分されています。資本金が2倍になると、利益の半分がアクティブ口座からリザーブ口座に引き落とされます。

損失をカバーするための長期的な投資計画

図2   起こりうる損失をカバーする長期的な投資計画

この計画は、長い目で見れば安定したものだと思います。各ステップの開始時に、総準備資本はアクティブ資本額と同じになります。このため、投資家は投資活動中に起こりうるあらゆる損失を準備資本からカバーすることができます。仮にすべてのアクティブ資本が失われたとしても、投資家はそのステップのためにすべての準備資本を割り当てて損失を回復することができます。保守的な投資家の中には、起こりうる損失に備えて準備資本の半分だけを割り当て、半分は大きなケースに備えておくという人もいます。この戦略は、特にグローバルストップロス保護を使用し、すべてのアクティブ資本がリスクにさらされていない場合、実行可能です。いずれにせよ、この資本戦略は、投資ステップの途中ですべてのアクティブ資本または重要な部分が失われた場合、投資家が最初からすべての道を歩む必要がないようにするものです。また、大きな損失を出した後、投資家がもう投資したくない場合、上記の戦略を用いると、各ステップの後にかなりの額である準備資本が残り、いずれにせよ、満たされた損失より高いか等しい額となります。

上記で提示した戦略はあくまで一例です。リスクおよび資本管理のための保護能力を高めるために、さらなる改善が可能です。例えば、一部のトレーダーは、より広範な期間が高いリスクを伴い、大きな損失を満たすことができると考え、毎週または毎月、アクティブ口座に蓄積された利益から撤退することができます。それが損失をカバーしようとしているときに別の追加の戦略ステップを構築する投資家もいます。積立金勘定から大きな損失だけをカバーするものもあれば、毎週または毎月の終わりに満たされた損失をカバーする人もいます。いずれにせよ、安定した戦略には、取引手順で各損失を回復した後に、準備資本を再構築するルールが必要です。こうすることで、将来のステップにおける他の回収に準備資本備えることができるのです。

このような観点から、この記事はあらゆるタイプの投資家およびトレーダーに向けたものです。初心者はリスクと資本の管理戦略を安定的に構築する方法を見つけ、プロの投資家は資本戦略を再考し、特に積立金の資本増強計画を明確に持たない投資家は、その計画を再考することになるでしょう。なお、上表では、資本効率が金融市場の動きに依存するため、各ステップの推定時間は含まれていません。良い週/月/年と悪い週/月/年があり、自動売買の手順も良いものと悪いものがありますが、いずれにせよ、投資家は自分の長期的な投資計画に従わなければならないのです。


結論

資本市場の取引に自動化されたソフトウェアを使用することは、リスクを減らすものではなく、その逆です。どのようなアルゴリズムでも、市場行動の変化により、予告なく関与するリスクを増加させることができます。しかし、将来、市場が過去と同じように進化することを保証するものは、この世に存在しないのです。グローバルストップロス(損切り)を使用することで、投資資金の大部分を保護することができます。巧みな資本管理戦略により、あらゆる損失回復のための利用可能な資本を提供することができます。投資資金をアクティブ資金と準備資金に分けることで、長く活動できる安定した投資計画を立てることができます。いずれにせよ、自分が損をする可能性のある金額以上のリスクを負わないこと、自分の使えるお金をすべて賭けないこと、そして他人のお金を賭けないことです。取引はリスクを伴うものであり、金融市場への投資は利益を得るまでの過程で損失を伴う長いプロセスなのです。


MetaQuotes Ltdにより英語から翻訳されました。
元の記事: https://www.mql5.com/en/articles/11500

DoEasy-コントロール(第20部):SplitContainer WinFormsオブジェクト DoEasy-コントロール(第20部):SplitContainer WinFormsオブジェクト
今回の記事では、MS Visual StudioツールキットからSplitContainerコントロールの開発を開始します。このコントロールは、垂直または水平の可動セパレータで区切られた2つのパネルで構成されています。
知っておくべきMQL5ウィザードのテクニック(第03回):シャノンのエントロピー 知っておくべきMQL5ウィザードのテクニック(第03回):シャノンのエントロピー
今日のトレーダーは哲学者であり、ほとんどの場合、新しいアイデアを探し、試し、変更するか破棄するかを選択します。これは、かなりの労力を要する探索的プロセスです。この連載では、MQL5ウィザードがトレーダーの主力であるべきであることを示します。
データサイエンスと機械学習(第07回)::多項式回帰 データサイエンスと機械学習(第07回)::多項式回帰
線形回帰とは異なり、多項式回帰は、線形回帰モデルでは処理できないタスクをより適切に実行することを目的とした柔軟なモデルです。MQL5で多項式モデルを作成し、そこから何か良いものを作る方法を見つけてみましょう。
DoEasy-コントロール(第19部):TabControl、WinFormsオブジェクトイベントでのタブのスクロール DoEasy-コントロール(第19部):TabControl、WinFormsオブジェクトイベントでのタブのスクロール
この記事では、スクロールボタンを使用してTabControlでタブヘッダーをスクロールする機能を作成します。この機能は、コントロールの両方側からタブヘッダーを1行に配置するためのものです。