収益性の高いアルゴリズム取引ボットの構築
OVIDIU POPESCU(オービディウ・ポペスク
2021年6月29日 – 17 読む
目次
まず最初に悪いニュースから始めましょう。収益性の高いアルゴリズム取引ボットを構築することは、一夜にしてできることではありません。これはプロセスであり、時間、忍耐、そして知識が必要です。また、流動的なプロセスであるため、一貫して利益をもたらす結果を得るまでには、かなりの量の試行錯誤が必要となります。
今のはあまり苦痛じゃなかったでしょうか?実は、これは悪い話ではなく、アルゴリズム取引(あるいは他の取引)に何が関わっているかを現実的に理解し、自分の取引目標を実現するためにどのようにすれば熟練を得られるかという問題なのです。
良い知らせは? トラリティの最先端技術を使ったアルゴリズム取引ボットの構築は、シームレスで直感的、かつ簡単です。トラリピのルールビルダーは、インジケーターやストラテジーをドラッグ&ドロップするだけでトレーディングボットのロジックを構築できるユニークなグラフィカルユーザーインターフェイスで、コードを書くことができなくてもトレーディングボットを構築することが可能です。
アルゴリズム取引ボットは、以下を確実にすることで、大きな競争優位を得ることができます。 無感動取引 と提供 高速なバックテスト速度, 多様化であり、かつ 取引規律.これらはすべて、成功するトレーダーになるために不可欠なものです。
以下の章では、アルゴリズム取引に対する一貫した標準化されたアプローチを開発する際の、すべてのステップとベストプラクティスを詳しく説明します。アイデアの創出、バックテスト、アイデアの検証から、最終的なアルゴリズム取引ボットのライブ取引への実装まで、各ステップを通じて、トレーダーを悩ませる一般的な落とし穴を回避するお手伝いをいたします。
ここでの目標は、以下のことを避けることです。 アドホック 将来、トレーディングのアイデアを生み出し、テストし、実行するための客観的な基礎となる、ルールに基づいたアプローチを開発することによって、戦略(これは本当の戦略ではありません)や近道が生まれます。
さっそく始めてみましょう。
第1章 トレーディングのアイデアを生み出す
すべてはアイデアから始まる
これは、客観的アプローチによるルールベースの取引戦略の道筋に沿った最初のステップです。インスピレーションは多くのソースから得られ、いつでも襲ってくるが、トレーディングのアイデアを生み出すのは無作為のプロセスではない。むしろ、トレーダーが知識と経験に基づいて体系的に意識的に行うことができるものであり、広く(例えば書籍、ブログ記事、研究論文、さらには目的に応じたオンラインコースなど)読み、試行錯誤した専門家の経験から学ぶことで補うことができるものである。
以下では、取引システムを構築する前に理解しておくべき、戦略開発の主な構成要素について説明します。
- ユニバース選択
- トレーディングシグナルの作成
- タイムフレームの選択
- ポジションサイジング
この章の終わりには、どのような取引アイデアに注目すべきかが明確になり、勝つための取引システムに一歩近づくことができます。
しかし、特に初心者の方には、「シンプルであること」という経験則が当てはまります。ここで、オッカムのカミソリが有用な洞察を与えてくれます。複雑な理論よりも単純な理論を選ぶべきで、その方がより検証可能で、したがってより管理しやすいからです。
投資ユニバース(または市場選択)
あなたはどの資産を取引したいですか?新しいトレーダーとして、それはおそらく最も重要な決定の1つでしょう。しかし、4,000以上の暗号通貨から選択する必要があるため、必ずしも簡単な決定ではありません。
暗号通貨を選択する基準
自分の取引目標をきちんと理解していることを前提に、デジタル資産を研究する際の良い出発点は、そのコミュニティ、チームとリーダーシップ、基礎となる技術、ホワイトペーパー、価格設定の歴史、将来のビジョンなどを調べることです。そこから得られる情報は、特定のコインの信頼性、実行可能性、長所、短所、つまりそのコインの可能性について洞察を与えることができます。 収益性.重要なのは、コインの基本的な目的や根拠を検討することである。なぜそれが重要/必要/革新的/破壊的なのか?この質問に答えることができない場合、そのコインはあまり長くは存在しない可能性が高く、それはあなたの時間とお金を投資する価値がないことを意味します。
コインの基本的な根拠や目的を念頭に置いて、アクティブ・ユーザーや取引のサイズや頻度など、他の重要な指標も検討することをお勧めします。
良い出発点は、実際にチェックすることです。
コインマーケットキャップドットコム ボリューム、時価総額、その他多くの重要な情報をユーザーに提供するからです。
時価総額の高い暗号通貨は、深くて流動性の高い市場を提供してくれます。流動性があると、取引に出入りしやすくなります。時価総額の低い暗号通貨では、エントリーポイントで入るのが難しく、さらに悪いことに、アウトしたいときにトレードから抜け出せなくなる可能性があります。
分散投資について
どのデジタル資産を最終的に選択するにしても、あなたの宇宙には1つ以上の星が含まれているはずです。簡単に言えば、分散は、トレーダーとして任意の単一の資産またはリスクへのエクスポージャーを制限するために、幅広い資産を組み合わせたリスク管理戦略です。暗号市場はその固有のボラティリティを考えると、分散されたポートフォリオによって軽減または相殺することができる特定の課題を提起します。
取引に関連して何度も読んだり聞いたりしていると思いますが、「すべての卵を一つのカゴに入れるな」という古いことわざは、暗号にも確実に当てはまります。バランスの取れたポートフォリオのリスクは、個々の資産のリスクの合計よりも小さいという考え方です。与えられた期待リターンに対して、最小のリスクを示すポートフォリオは、最も効率的であるとみなされます。ノーベル賞受賞者のハリー・マルコウィッツがすでに指摘しているように、”分散は投資における唯一のフリーランチである”。
しかし、多様性とは、単に多くの異なる暗号通貨を保有すれば良いというものではありません。10種類または15種類のコインを持っていても、すべてが同じシグナルを出すのであれば、単に1つのコインを取引した方が良いので、多様性は無意味なポイントになります。私たちが求めているのは、相関性の低い個々のシグナルであり、それによって多様なリターンとより滑らかなエクイティカーブを達成することができるのです。
トレーディングシグナルの作成
人生の多くの事柄と同様に、タイミングがすべてです。取引開始と終了のタイミングを知ることは非常に重要であり、優れた取引開始は大きな利益につながる一方、賢明な終了はあなたのリスク管理戦略の重要な部分であるべきです。
これらのことは、アルゴリズム取引ボット戦略の中核は、その取引シグナルであると言うことです。その名前が示すように、シグナルは、任意の資産の買いまたは売りポイントを開始または「シグナル」し、あなたの取引アルゴリズムのエントリとエグジットポジションを示すものです。
エントリールール
人によっては、エントリールールは取引システムを設計する際に最も力を発揮する部分の一つとなります。エントリー直前は、完全にコントロールできていると感じることができる唯一の時間帯です。マーケットがx,y,zの動きをしなければ、エントリーしない。相場が動いたら、すぐに取引を開始します。取引が開始されると、事態はますます複雑になり、ある程度は自分の手に負えなくなります。しかし、エントリールールが複雑になりすぎるのは好ましくありません。取引開始前に満たすべき条件が多すぎると、取引を開始するのが難しくなる、あるいは不可能になる危険性があります。
では、実際にどのようにマーケットに参入するのでしょうか。多くの人は、良いエントリーをするために次の黄金律が役に立つと考えています。 最初は一つのルールを使う.複数の条件を持つエントリーが必要な場合、最初は1つの条件だけでスタートします。その後、パフォーマンスが大幅に向上する場合のみ、徐々に新しい条件を追加していきます。その結果、重要だと思っていた条件や必要だと思っていた条件が、実はそうでなかったことに気づくはずです。
トラリピでは、簡単かつ戦略的に始めることができるよう、常に多くのインジケーターやあらかじめ定義された戦略を見つけることができます。また、トレーダーは知識を得ることで、最高のトレーダーとなります。シグナルジェネレーター」セクションをご覧ください。 をご覧ください。
退出ルール
多くのトレーダーは、タイミングよく、うまく実行された出口の重要性を見落とすことがあります。しかし、出口は全体の収益に多大な影響を与える可能性があるため、適切な出口の準備に多くの時間と注意を払う必要があります。エントリーと同様、良い出口を作るための黄金律は、最初は一つのルールで行うことです。
出口ルールの「仕事」は、あなたの資金を保護することなので、もし売りシグナルがあなたの取引システムの損失を最小限に抑えることができないなら、それは破棄されるべきです。
時間枠の選択
取引戦略のもう一つの重要な要素は、選択する時間枠(複数可)です。ここでも、万能のアプローチはありません。戦略は、指定された時間枠によって異なるパフォーマンスを示すので、あなたの目的に合った時間枠を選択することが最善である理由です。あなたは素早くインとアウトをしたいですか?1分足や5分足のチャートが最適かもしれません。長期的なスイングトレードをお望みですか?そうであれば、日足の時間枠が最適かもしれません。要は、自分の興味に合った時間枠を選択することです。
短い時間枠を使った取引(「スキャルピング」)は、短い時間間隔での小さな価格変動から利益を得ようとするものですが、大きな損失を避けるためには、あらかじめ定義された出口戦略を厳密に遵守することが必要です。スイングトレードとは、数日から数週間、資産を保有し、短中期的な利益を得ること(スイングに応じて利益を得ること)です。そして、ポジション取引は、より長い期間、通常は数週間から数ヶ月の期間、ポジションを張ることです。
一般的に、時間枠が短いほど取引回数が多くなるため、注意が必要です。 取引頻度が高くなればなるほど、流動性、ビッドアスクスプレッド、および取引コストを考慮する必要があります(流動性が低いと、採算に合わない戦略を生み出す可能性があります)。このため、初心者のうちはスキャルピングなどの取引システムは避けたほうがよいでしょう。この段階でも、アルゴリズム取引ボットにはかなり多くの可動部品があり、初心者のトレーダーには少し負担になることは明らかでしょう。その結果、一部のトレーダーは、特に取引戦略の一面を見落としがちで、トレンドと同様にエントリーとエグジットシグナルに単一の時間枠を使用します。その代わりに、トレーダーは、異なる時間枠の中で資産がどのように機能するかを追跡するために、複数時間枠分析(MTFA)に熟練することを考慮する必要があります。
ポジションサイジング
最後に、戦略を完成させるために、どれだけの取引を行うか(ポジションサイズ)を把握する必要があります。ポジションサイジングというと、個々の取引におけるポジションの大きさを指しますが、これは口座の大きさ、目標、リスクに対する許容度などの変数に依存します。ポジションサイジングは資本配分の問題を中心に展開し、トレーダーが使用する様々なテクニックがあります(例:固定ドル額、等比率、リスクベースのポジションサイジングなど)。
パーセンテージが小さいということは、損失が小さくなるので、口座を危うくする可能性が低いということです。しかし、比率が小さいと、総残高のほんの一部しか投資していないため、実際にあなたの戦略が利益を上げている場合、必然的に利益も小さくなります。一方、比率が高いほどリスクが高くなり、リスクが高ければ高いほど、報酬も高くなります。
結局のところ、どのようなアプローチを取りたいかによるのです。より大きなリスクを取ることに抵抗がなければ、より多くの利益(または損失)を得ることができます。一方、長期的な取引では、より長い期間にわたって利益を得るために、より保守的なアプローチを取ることになります。
第2章: バックテストと戦略の検証
そうですね。ユニバースの選択、分散投資の熟考、売買シグナルの作成、時間枠の設定、ポジションサイズの計算が完了しました。おめでとうございます。あなたは、収益性の高いアルゴ リズム取引ボットを構築するための正しい道を歩んでい るのです。次は、あなたの取引戦略をバックテストする番です。
カーレースに例えるなら、バックテストはレース場での練習走行と考え、ドライバーが車のセットアップ・パラメータをテストし、調整することができるようにします。 事後承諾 レース当日に備えて同じ原理が暗号取引ボットにも当てはまります。
バックテストでは、過去の市場データに基づいて取引戦略を評価することができ、それは事後的なシミュレーションとなります。そして、それはシミュレーションであるため、実際の資本を必要とせず、リスクや結果なしにあなたの戦略をテストすることができます。バックテストの結果が良好であれば、ライブ取引を開始する際に良い結果が得られる可能性があります(常にそうとは限りませんが)。
Trality Backtesterツールは、パフォーマンス(例:損益、トータルリターン、勝ちトレードあたりの平均利益)、リスク/リターン(例:ボラティリティ、シャープ比)、ラン(例:最大ドローダウン、水没時間)を測定するために、アルゴリズム取引戦略の評価によく使われる統計情報を利用することができます。
以下では、ベストプラクティス、アウトオブサンプルテスト、どのメトリクスを見るべきかを説明します。
バックテスト – ベストプラクティス
全体として、手動バックテストは非常に複雑で時間がかかり、苛立たしささえ感じることがあります。先に述べたオッカムのカミソリに従えば、バックテストに必要なデータ量を推定するための最適化パラメータを決定する際に、より複雑な戦略よりも単純な戦略を選択することが一般的にベストプラクティスと考えられています。また、バックテスト時に不注意なバイアスを避けるために、仮説を強化するのではなく、検証するように、ブラインドまたはランダムなデータポイントを使用する必要があります。
全体として、手動バックテストは非常に複雑で、時間がかかり、苛立たしささえ感じることがあります。しかし、トラリティバックテスターツールは、ルールビルダーまたはコードエディタを使用しているトレーダーが、文字通り数秒のうちに包括的でカスタマイズ可能なテストを実行できるようにするもので、まさに画期的なツールなのです。画面の右側で、事前に定義されたシナリオを選択するか、またはカスタム日付を選択するだけで開始できます。詳細設定については、ドロップダウン矢印をクリックして、追加のオプション(手数料、初期残高、スリッページなど)にアクセスします。
バックテストは単に一回限りの手順ではなく、フォワードテストする前に何度も行うものです だけでなく と同じように、ライブトレードを行う場合。バックテストを行う場合、実際のテストの前に、主要な指標、インジケータ、結果を事前に特定する必要もあります(詳細は後述)。
しかし、過去の実績は将来の結果を保証するものではありません。あなたのバックテストの結果、リターンが健全な割合で増加したとしましょう。これは、平均への回帰として知られる統計的現象です。
インサンプルテストとアウトオブサンプルテスト
暗号ボットのバックテストを行う場合、バックテストに利用できる期間を以下のように分割することが非常に重要です。 インサンプルとアウトオブサンプルのデータ.ここで、サンプル内データは戦略を最適化するために使用されるため、重要です。すべてがうまくいったら、サンプル外のデータを使って結果を検証し、オーバーフィッティングのストラテジーを作成していないことを確認し、実際の取引で展開したときにパフォーマンスが低下しないようにします。 クロスバリデーションは、データを異なるセットに分割することで、オーバーフィッティングを防ぐために使用されます。1つのセットはモデルを作成するために使用され、もう1つのセットはモデルの精度を検証するために使用されます。
このことは、トレーダーとしてどのような意味を持つのでしょうか。例えば、あるアイデアを持っていて、それをヒストリカルデータに基づいて検証したいとします。アイデアをテストし最適化するために使用する実際のヒストリカルデータは、「サンプル内データ」と呼ばれます(このデータが「トレーニングデータ」と呼ばれることもあります)。そして、2つ目のデータセット(「テストセット」と呼ばれることもあります)は、予測性能を評価するために使用されます。そして、クロスバリデーションは、新しいデータでテストを行うことで、できるだけ実際の取引に近い形で取引戦略のパフォーマンスをテストする方法です。
サンプル内データとサンプル外データの分割の目安は、データセットの2/3をストラテジー最適化に使用し、残りのデータをサンプル外検証に使用することです。
バックテストはどのくらいの期間行うべきですか?
経験豊富なトレーダーがバックテストに使用する一般的な期間は約 1 年です。12ヶ月のような長期にわたってテストすることで、異なる市場環境の中で戦略がどのように実行されるかを見ることができるようになります。トレンドのあるマーケットでトレンドフォローのシステムをテストしたら、どうなると思いますか?言うまでもなく、将来的にどの程度のパフォーマンスが期待できるのか、不完全な(したがって不正確な)イメージを持つことになります。一方、不安定な相場でシステムをテストすれば、起こりうる損失の程度について、より良いアイデアを得ることができます。
テストする期間が長ければ長いほど、短い期間限定の市場状況から得られる限られた洞察を補うことができるため、より正確なデータを得ることができます。弱気相場と強気相場の両方でその行動を観察することで、戦略の有効性をより詳細に把握することができます。
クイックセレクト」オプションにより、トレーダーはマウスを1回クリックするだけで12ヶ月の時間枠を選択でき、バックテストを迅速、便利、かつ正確に行うことができます。
お客様の指標を満たす
トラリティは、ストラテジーをテストする際に使用する一連のメトリクスをユーザーに提供しており、各メトリクスは3つのカテゴリーのいずれかに分類されます。1) パフォーマンス、2) リスク/リターン、3) 実行回数です。トラリティのドキュメントでは、取引戦略のバックテストを行う際に自由に使用できる様々なツールやデータについてのすべてを読むことができますので、それぞれの包括的な内訳を提供することはありません。
その代わり、最も重要なものを見てみましょう。シャープレシオ、トータルリターン、そしてドローダウンです。
シャープレシオ
1966年に初めて作成された。 シャープ比 (ウィリアム・シャープにちなんで名付けられた)は、トレーディングで使用される最も一般的なリスク/リターン指標の1つであり、投資家にリスクと比較した投資のリターンをよりよく理解することができます。実際、それはおそらくそこに最も有名なリスク調整された指標です。
シャープレシオは、リスク調整後の投資(資産やポートフォリオなど)のパフォーマンスを無リスク資産(米国国債や債券など)と比較して測定し、投資のリターンと無リスクリターンの差を投資の標準偏差(すなわちそのボラティリティ)で割ったものと定義されています。
一般的に、比率が高いほど、良いリターンが得られると言われています。比率が1以下の資産やポートフォリオは貧弱な投資を意味し、2以上のものは優れた投資を示唆する。
1:最適でない、または悪い
1: 可もなく不可もなく
2: 非常に良い
3: 優れている
シャープ比を使用すると、実際のリターンを使用してポートフォリオの過去のパフォーマンスに関する洞察を得ることができます。さらに、シャープ比は、ポートフォリオの超過収益が過度のリスクの結果であったのか、それとも賢明な投資選択の結果であったのかを説明するのに役立ちます。
トータルリターン
A 戻る は、ある期間中に儲けた金額または損した金額、あるいは与えられた期間中の投資に対する絶対収益率です。さらに、名目リターン(名目で表される純損益)と実質リターン(インフレなどの外的要因を考慮した調整が行われる)に区別することができます。
我々はトータル・リターンに関心があります。これは、与えられた時間地平での累積純損益をパーセントで表したパフォーマンス統計です。それは次のように計算される。
上記の数式では、ポートフォリオ値(PV)は開始時刻(t)と終了時刻(T)として与えられています。
この指標は、純収益の点で有用な情報を提供するにもかかわらず、単独で使用されるべきではなく、むしろ他の指標と組み合わせて、特に長い時間地平は、複利効果により解釈を困難にするため、使用されるべきです。
最大ドローダウン(MDD)
A 最大ドローダウン (MDD) は、ピークからトラフまで、新たなピークに到達するまでの ポートフォリオの最大観察損失額である。そのため、MDD は特定期間中のダウンサイドリスクの指標となる。MDDは、大きな損失の発生頻度を特定するのではなく、最大の損失の大きさを測定します。
数学的には、以下の式で表されます。
資産またはポートフォリオのピークと谷の差を考慮することにより、最大ドローダウンは、潜在的な最大累積損失だけでなく、回復または回復するまでの時間についての貴重な洞察を提供し、重要なリスク指標である。最大ドローダウンが小さいと、投資による損失が小さいことを示すので、好ましい。逆に、MDDが高ければ高いほど、損失は大きくなる。
暗号取引ポートフォリオは、全体的な戦略だけでなく、専門知識、経験、リスク回避のレベルなど、多くの要因に応じて特定の方法で配分されます。どのような構成を選択するにしても、全体的な戦略は、様々な指標(リスクの測定、リターンの測定、リスク調整後リターンの測定など)を参照して分析し、最適化する必要があります。
第3章 ライブトレード
この時点で、あなたは、取引のアイデアを生み出し、テストし、実行するための客観的な基礎となる、ルールに基づいたアプローチを作成するための知識と洞察力を持っていることになります。
実際、あなたは独自のアルゴリズム取引ボットを作成し、テストしたとします。そして、次のレベルであるライブトレードを行う準備ができたとしましょう。無感情な取引、24時間365日、簡単にお金を稼ぐことができます。
まあ、そうではありません。戦略をピンポイントで最適化したからといって、アルゴリズムによる自動取引ボットをセットして、あとは忘れてしまうというわけではありません。
例えば、感情が表に出てしまうような厳しい市場環境下でも、テスト通りの戦略に従うことができると自分を信じることができますか?そのため、ライブトレードのベストプラクティスをいくつか簡単に見ておくと、恐怖や疑い、あるいは一連の負けトレードが船を捨てるように耳元でささやくときでも、自分の戦略に忠実であることができるようになります。
- 自動化されているが、自動ではない.あなたのボットがライブ取引のために配備されたら、それがバックテストで行ったようにスムーズに動作することを確認するために、それを定期的に監視することが非常に重要である。
- 終了するタイミングを知る.エントリーポイントは簡単です。本当の難しさは、いつ辞めるかを知ることにあります。それは多分、行の連続負けのXの量であるか、またはXヶ月後に全体の利益の問題です。どのように出口を定義しても、それが確実で決定的であることを確認し、それを維持する。
- マーケットに行く.トレンド相場、ヨコヨコ相場、ムチムチ相場、ボラタイル相場、動きの遅い相場など、相場は流動的で、予測不可能な変化や動きをすることがあります。(1点目を参照)
- 負けるのは勝者のため.この演習の全体のポイントは、収益性の高い戦略を開発することですが、単純な事実は、いくつかの取引で失うことになるということです。誰もが負けトレードを経験するという事実を受け入れてください。一旦そうすれば、失敗に対する恐怖は消え去り、有益な取引のビジネスに取り掛かることができます。
Tralityであなただけのアルゴリズム取引ボットを作る
トラリティの最先端のプラットフォームは、トレーダーがボットを作成し、APIキーを介して好きな取引所に接続することを可能にします。一度接続すれば、あなたのボットは24時間365日稼働し、安全、安心、そして確実に自動売買を行います。
他の選択肢を考えてみてください。手動での取引は、規律がなく、主観的で、信頼性が低く、S-L-O-Wです。それは、片手を後ろに縛られた状態で取引しているようなものです。しかし、Tralityの自動化された暗号取引ボットを使えば、もうミストレードやチャンスを逃すことはありません。昼夜を問わず、世界のどこからでも、タイムリーに、効率的に、自動で資産の売買や保有を行うことができるのです。
カジュアルなトレーダーは、私たち独自のドラッグ&ドロップ式のルールビルダーの簡単さとシンプルさに夢中になるでしょう(コーディングは必要ありません!)。一方、Pythonの達人は、革新的なコードエディタで定量的なスキルを最大限に活用し、洗練された取引アルゴリズムをコーディングできます。また、強力なバックテスターは、あなたのアイデアの実行可能性を迅速かつ包括的に評価し、利益を得るための取引に必要な情報を提供することを保証します。
最も良い部分は?数回クリックするだけで、サインアップし、ゲームを変える技術を完全に無料で探求し始めることができます。また、私たちの素晴らしいDiscordコミュニティにも招待されます。
始める準備はできましたか?今がチャンスです