自動売買戦略のためのリスク管理
厳格で事前に設定された上限を持たないボットは、際限のない負債です。実際の資金に触れさせる前に、キルスイッチ、サイジング上限、APIキーのルール、監視体制を整えてください。
- キルスイッチ:口座が1日で3% 下落したら、すべての取引を停止します。
- トレード上限:1つのポジションが配分資金の1%を超えてリスクを負うことはありません。
- 配分上限:このボットにさらす資金は、資金全体の20%までとします。
- ドローダウン一時停止:高値から安値まで10% 下落したら取引を止め、必ず人による確認を行います。
- APIキーの権限:取引可能。
取引可能は注文はできますが、取引所から資金を移動することはできません。取引が必要なボットには、この権限レベルが適しています。
デプロイする前にこの画面をスクリーンショットしておきましょう。読み取り専用か、取引可能か、取引+出金か、その違いが「ちょっと嫌な午後」で済むか「全損」になるかを分けます。
先に読み進める前に、上記であなた自身のカードを組み立ててみてください。4つの厳格な上限を設定し、APIキーの権限を選び、出金権限に手を伸ばしたときに何が起こるかを見てください。トレーディングボットは高速で、疲れを知らず、そして判断力を一切持ちません。それは市場が正常に動いているうちは問題ありませんが、市場がそうでなくなった瞬間、致命的なものになります。なぜならボットは最悪の挙動を全速力で実行し、何かがおかしいと立ち止まって考えることは決してないからです。これまでのモジュールで学んだすべてのことが、ここに帰結します。厳格で事前に設定された上限が機械とあなたの資金の間に立つまで、どんな自動売買戦略も実際の資金に触れるべきではありません。これらの管理策は、後から加える仕上げではありません。それは参加するための対価であり、口座が出血している最中の感情ではなく、あらかじめ冷静な数字として決めておくものです。
実際に運用する前に設定しておく4つの上限
これら4つをシートベルトだと考え、最初の実際の取引の前に、そのすべてを装着してください。それぞれが、あなたが事前に決め、システムが自動的に強制する、厳格な数値です。
- 1日あたりの最大損失(キルスイッチ)。 口座が1日で一定額、たとえば3%下落した時点で、すべての取引を停止します。これにより、一度の悪いセッションが破滅的な事態へと連鎖することを防げます。
- 1回の取引あたりの最大サイズ。 一つのポジションがリスクにさらせる金額、あるいはそのサイズの上限を定め、単一の注文が口座全体を吹き飛ばすことがないようにします。
- 総配分上限。 その戦略に一度にさらされる資本の割合を制限し、残りの資金を、誤作動したボットから隔離しておきます。
- ドローダウン一時停止のしきい値。 高値からの下落が一定の大きさに達した時点で、戦略を自動的に停止し、人間による確認を求めます。これにより、緩やかな出血を放置したまま進行させることがなくなります。
共通しているのは、いずれも事前に選ばれた厳格な数値であり、赤い数字が流れていくのを見ながらその場で即興で決める判断ではないという点です。パニックは悪いリスクマネージャーです。事前に設定された上限は、冷静なリスクマネージャーです。
APIキーを固める
ボットを取引所に接続するときは、APIキーを介して行いますが、そのキーの権限が、鍵の漏えいや暴走したボットがどれほどの損害を与えられるかを決めます。これは、あなたが持てる中で最も効果の大きい管理策です。なぜなら、他のあらゆる安全策が失敗したとしても、これが最悪のケースに上限を課してくれるからです。
キーには通常、3つの独立した権限レベルがあり、その間の差は、ちょっとした不都合と大惨事の間の差です。
- 読み取り専用。 このツールは閲覧はできますが、取引はできません。ボットが観察するだけでよい場面では、これを使ってください。
- 取引可能。 ボットが注文を出せます。これは、実際に取引を必要とするものにのみ付与してください。
- 出金可能。 このキーは、取引所から資金を移動できます。トレーディングボットには、これを必要とする理由は決してありません。
最も重要な唯一のルールは次のとおりです。取引用のキーに出金権限を絶対に有効化しないこと。 出金がオフになっていれば、たとえキーが完全に漏えいしても、資金を抜き取ることはできず、取引されるだけで済みます。さらに2つの習慣が、キーをより安全にします。IPホワイトリストを追加して、キーが自分の既知のアドレスからしか機能しないようにすることと、ツールごとに別々のキーを作成し、他に影響を与えずに一つだけを無効化できるようにすることです。
稼働中のボットを見張る
「設定して放置する」は、いつの間にか「設定して後悔する」に変わります。自動化が取り除くのは手作業でのクリックであって、責任ではありません。したがって、稼働中の戦略には、それでも監視が必要です。
いくつかの点に目を配ってください。バックテストとフォワードテストから期待していた水準に対する実際の資産残高とドローダウン、取引頻度、平均利益と平均損失、そして保有中のポジション同士の相関度です。ボットが行うすべての行動を記録し、後から何が起きたのかを再構成できるようにしてください。そして、上限に触れた瞬間にあなたへ通知が届くようアラートを設定してください。確認を忘れないと自分だけを頼りにするのではなく。
今すぐ停止すべきという警告サイン
ボットの挙動にみられる変化の中には、乗り切ってよいノイズではなく、一時停止して調べるべき合図であるものがあります。これらを覚えておけば、後から釈明するのではなく、早期にトラブルを察知できます。
- テスト時の想定を超えるドローダウン。 市場が変化した可能性、あるいはエッジが劣化した可能性があります。
- 突発的な注文の急増。 通常でない取引頻度は、多くの場合バグがループしていることを意味し、それはボットを即座に停止させるべき事態です。
- 相関の崩壊。 独立していると思っていたポジションが一斉に同じ方向へ動き始めることは、実際のリスクがポジション数から想像するよりもはるかに高いことを意味します。
- 想定を上回るスリッページやコスト。 これらは静かに、1回の取引ごとにエッジを侵食していきます。
- 戦略が、想定していなかった相場環境の中で取引していること。 これは前のモジュールで扱った、ブラックスワンの警告に当たります。
これらのいずれかが現れたときの正しい対応は、一時停止して調べることであり、乗り切って自然に修正されることを期待して放置することでは決してありません。
キルスイッチが役目を果たす例
あなたは10,000ドルの配分で戦略を稼働させており、事前に3つの上限を設定しています。総配分上限は10,000ドル、1回の取引あたりの最大リスクは1%(100ドル)、1日あたりの最大損失によるキルスイッチは3%(300ドル)です。
ある日の午後、データフィードの不具合によりボットが価格を誤って読み取り、注文をループ状に発射し始めます。損失は急速に膨らみますが、累積損失が300ドルに達した瞬間、キルスイッチがすべての取引を自動的に停止します。その日の被害は300ドルに抑えられ、残りの9,700ドルは無傷のままです。あなたはアラートを受け取り、調査し、フィードを修正します。
今度は、同じ不具合が、上限を一切設定していない同一のボットで起きた場合を想像してください。ループは薄い市場に向けて発射され続け、スリッページは広がり、気づいたときには口座は6,000ドル、60%の損失を出しています。同じバグ、同じ市場、同じロジックです。唯一の違いは、不具合と資金の間に厳格で自動的な上限が立っていたかどうかだけでした。
出金権限がなぜ決定的な境界線なのか
最悪のケースを思い描いてみると理解しやすくなります。攻撃者があなたのAPIキーをそのまま盗み出した場合、あるいはあなたが信頼していたボットが実は悪意のあるものだった場合を想定してください。
キーが読み取り専用であれば、相手はあなたの保有状況を知るだけで、それ以上のことはできません。取引可能ではあるが出金がオフになっているなら、相手はあなたの口座で取引を行うことができます(不快で、コストがかさむ可能性はあります)が、コインを一枚たりとも取引所の外へ持ち出すことはできません。資金はそのまま残ります。キーに出金権限があれば、相手は単純にあなたのお金を移動させることができ、それで終わりです。
だからこそ、読み取り専用か、取引可能か、出金可能かという選択は、些細な設定項目ではありません。それは、漏えいしたキーが「ひどい午後」で済むのか、「全損」になるのかを決めるものです。トレーディングボットは出金を必要とすることが決してないため、それを有効にすることに利点はなく、失うものしかありません。
良い監視とは実際にどのようなものか
監視とは、一日中チャートを見つめ続けることではありません。ボットが気づかないうちに逸脱しないよう、いくつかの習慣を築くことです。
残高だけでなく、戦略の健全性を示す数字を追ってください。想定に対するドローダウンはエッジの劣化を捉え、取引頻度は暴走したループを捉え、ポジション間の相関は隠れた集中リスク(「独立している」はずの複数の取引が、実は一つの大きな賭けになっている状態)を捉えます。完全な行動ログを残しておけば、何か奇妙なことが起きたときに、推測ではなく再現して確認できます。そして、上限にアラートを紐づけてください。しきい値の価値は、それを知るのが1日遅れになった時点で失われてしまうからです。
考え方はシンプルです。クリックはボットが担い、監督はあなたが担います。
理解度チェック
自動売買戦略を実際に稼働させる前に設定すべき、譲れない4つの上限は何ですか。 1日あたりの最大損失(キルスイッチ)、1回の取引あたりの最大サイズ、総配分上限、そしてドローダウン一時停止のしきい値です。いずれも事前に決められ、自動的に強制される厳格な数値です。
なぜ取引用のAPIキーに出金権限を絶対に有効化してはいけないのですか。 トレーディングボットが資金を移動する理由は存在しないため、出金をオフにしておけば、たとえキーが完全に漏えいしても、あなたの資金を取引することしかできず、取引所から盗み出すことはできません。これにより最悪のケースに上限が課されます。
稼働中のボットが突然、通常よりはるかに多くの注文を出し始めました。どうすべきで、それはなぜですか。 直ちに一時停止し、調査してください。突発的な注文の急増は、多くの場合バグがループしていることを意味し、放置すれば機械のスピードで大きな損失を引き起こしかねません。
出典
- SEC (investor.gov) & FINRA, "Investor Alert: Automated Investment Tools", on why an automated system still needs pre-set rules and active human oversight.
- SEC, "SEC Charges Knight Capital With Violations of Market Access Rule" (Press Release 2013-222), the case where a faulty automated deployment fired a flood of unintended orders and caused roughly $440 million in losses in about 45 minutes.
- OWASP, "Authorization Cheat Sheet", least-privilege API access: separate read, trade, and withdraw permissions, keep withdrawals disabled, and restrict keys by IP allow-list.