AIトレーディングのリスク:過剰最適化とブラックスワンイベント
過剰最適化は、戦略を過去のデータ上では優秀に見せながら、新しいデータでは役に立たないものにします。ブラックスワンとは、どんなボットも想定していなかった稀なショックのことです。だからこそ、人間がオフスイッチに手をかけておく必要があります。
上のデモを試してみてください。キルスイッチをオフにすると、一度のブラックスワン級の値動きが口座残高をほぼゼロまで押し下げてしまいます。オンにすると、同じ暴落でも損失限度で確実に止まります。血を流し続ける戦略ときちんと止められる戦略の違いこそ、このモジュールが目指すところです。自動化された戦略を破綻させる要因は、ほかの何よりもこの二つの失敗モードであり、しかも正反対の方向からやってきます。過剰最適化は、過去から学びすぎるという罠です。古いデータに張り付きすぎたモデルは、ランダムな揺らぎを本物のパターンだと勘違いします。ブラックスワンはその逆で、過去にはまったく存在しなかった何かを未来が突きつけてくる日のことです。学習の量ではどうにもなりません。一方は「戦略が過去を勉強しすぎた」と語り、もう一方は「過去がすべてを語ってはいなかった」と語ります。この両方を理解することが、自動化ツールを尊重するトレーダーと、静かに打ちのめされるトレーダーとを分けます。
過剰最適化:シグナルではなくノイズを学習してしまう
どんな価格チャートの中にも、二つのものが混ざり合っています。一つはシグナル、実際にトレードしたい本物の反復パターンです。もう一つはノイズ、一度だけ起きたランダムな揺らぎで、同じ形では二度と起こりません。
良いモデルはシグナルを学習し、ノイズを無視します。過剰最適化されたモデルはその逆をします。まるで意味があるかのようにノイズを記憶してしまうのです。過去データの小さな凹凸の一つひとつをなぞってしまっているため、過去にはほぼ完璧にフィットし、バックテストは打ち出の小槌のように見えます。しかし記憶したノイズは繰り返されないため、未来の予測にはほとんど役立ちません。
これが罠のすべてを一文で表しています。過剰最適化された戦略は、古いデータ上では見事に見え、新しいデータでは崩れ落ちます。これは本物の機械学習トレーディングにおける中心的なリスクであり、モジュール4で扱ったルールベース側のカーブフィッティングが生み出すものとまさに同じです。
戦略が過剰最適化されているサイン
過剰最適化を嗅ぎ分けるのに、データサイエンティストである必要はありません。いくつかの兆候がそれを教えてくれます。
- データ量に対してパラメータが多すぎる。 戦略のつまみが多いほど、過去がぴったりに見えるまでひねり続けるのは簡単になります。つまみが多いのにデータが少ないというのは、長所ではなく警告です。
- 不自然に滑らかなエクイティカーブ。 本物のエッジはでこぼこしているものです。ほぼ完璧な直線で上昇していくバックテストは、多くの場合、戦略が過去の形そのものに合わせて成形されたことを意味します。
- 脆弱性。 パラメータを一つほんの少し動かしただけで結果が大きく振れたり、見たことのないデータに出会った瞬間に戦略が崩壊したりします。本物のエッジはそこまで繊細ではありません。
- 絶えざる再調整が必要になる。 調整し続けているあいだだけ機能するのであれば、それはエッジを維持しているのではなく、動き続けるノイズを追いかけているだけです。
健全な本能は、複雑で脆い戦略よりも、シンプルで頑丈な戦略を選ぶことです。たとえ複雑なほうがより美しいバックテストを見せていてもです。堅牢性とは明日のデータとの接触に耐えて生き残るものであり、あやしいほど美しいバックテストは、ご褒美ではなくむしろ警告のサインであることが多いのです。
ブラックスワンイベント:データの外にある一日
ナシーム・ニコラス・タレブの意味におけるブラックスワンとは、通常の予想の範囲外にある稀で影響の大きい出来事であり、起きてしまってから初めて誰もが「振り返れば明らかだった」と合理化するようなものです。突然の暴落、取引所の破綻、あるいは市場がそれまで一度も織り込んだことのないショックを思い浮かべてください。
これが自動化戦略にとって毒になる理由はここにあります。モデルは、学習とテストに使われたデータから学びます。ブラックスワンは、定義からして、そのデータの外側にあります。モデルはそれに似たものすら見たことがないため、有効な学習済みの反応を持ちません。もはや存在しなくなった世界のために作られたルールを、そのまま適用し続けてしまいます。
さらに悪いことに、実際の市場にはファットテールがあります。つまり、こぎれいなベルカーブ型のモデルが想定するよりも、極端な値動きがはるかに頻繁に起こるということです。「通常の」ボラティリティに合わせて調整された戦略は、実際に重要となるその一日に対して、静かに無防備な状態に置かれています。なぜなら、「どこまで悪化しうるか」という想定そのものが低く設定されすぎていたからです。
自動化が暴落を悪化させるとき
自動化は暴落にうまく対処できないだけではありません。暴落を引き起こす一因にもなり得ます。
2010年5月6日のフラッシュクラッシュでは、ダウ平均は約998ポイント(およそ9パーセント)下落し、数分のうちに約1兆米ドルの時価総額が一時的に消失した後、反発しました。この一連の出来事全体は約36分間続きました。こうした出来事では、自動化された戦略が重なり合います。連鎖的なストップロスが発動してさらなる売りを誘発し、買い注文が蒸発してまともな価格で売る相手がいなくなり、約定は戦略が「想定していた」トレード水準から大きくかけ離れた場所で成立します。
自動化はまた、単純なミスをも機械の速度で実行してしまいます。ナイト・キャピタルは、欠陥のあるソフトウェアの展開によって自動化システムが意図しない注文の嵐を発射することを許してしまい、約45分間でおよそ4億4000万米ドルを失いました。ボットはパニックにならない、というのは美徳のように聞こえますが、立ち止まって考えることもしません。そして全速力で動いているときこそ、それがまさに危険なのです。
なぜオフスイッチには人間が必要なのか
両方の失敗モードは、同じ静かな教訓を指し示しています。「この状況は自分の戦略が想定していた範囲の外にある」と認識することは判断力の問題であり、固定されたルールや通常のデータで訓練されたモデルは、通常それを自分自身で判断できません。モデルは自分が見せられた世界しか知らないのです。
だからこそ、手動のオフスイッチと積極的な人間による監督はリスク管理策であり、原始的なセットアップのサインではありません。最も危険な自動化戦略とは、時々間違える戦略ではありません。誰も監視していないために、想定していなかった状況に自信満々にトレードし続ける戦略こそが最も危険なのです。誰もプラグを抜くべき瞬間を見ていなかったからです。そうした限界を構築することこそ、モジュール6のテーマです。
過剰最適化されたカーブが現実に出会うとき
二つの戦略を並べて想像してみてください。
戦略Aは15個のパラメータを持ち、すべて3年分の過去データで最適化されています。サンプル内では95パーセントの勝率と、なめらかなプラス200パーセントのエクイティカーブを示します。無敵に見えます。ところが、これを一度も見たことのない新しい1年間にそのまま適用すると、勝率は約48パーセントまで下がり、リターンはマイナス12パーセント前後になります。さらに悪いことに、パラメータを一つだけ一段階動かすと、サンプル内のプラス200パーセントが約マイナス5パーセントに反転してしまいます。この激しい感度と新データでの崩壊は、まさに教科書どおりの過剰最適化です。15個のつまみは本物のエッジではなく、過去のノイズをなぞっていたにすぎません。
戦略Bはわずか2個のパラメータしか使いません。サンプル内では80パーセントというやや控えめな勝率を示します。サンプル外でも約74パーセントを維持し、パラメータを少し変えてもほとんど動きません。バックテストは派手さに欠けますが、そのエッジは見たことのないデータに対しても安定しています。
規律あるトレーダーは戦略Bを採用し、戦略Aを削除します。なぜなら、実際のトレードでは堅牢性が美しいバックテストに常に勝るからです。
「ファットテール」が実際に意味すること
多くの単純なモデルは、市場のリターンがきれいなベルカーブ(正規分布)に従うと静かに仮定しています。この分布では、大きな値動きはほぼ無視できるほど稀だとされます。実際の市場はそのようには振る舞いません。実際のリターン分布にはファットテールがあり、両端の極端な結果がベルカーブの予測よりもはるかに頻繁に起こります。
その実務上の帰結は不快なものです。「通常の」日に合わせて調整された戦略は、十年に一度の値動きを基本的にあり得ないものとして扱うため、その大きなショックが決して来ないかのようにポジションサイズやリスクを設定してしまいます。ファットテールが実際に現れたとき、そして十分に長い期間を見ればそれは必ず現れるのですが、戦略は想定していたよりもはるかに大きなエクスポージャーを抱えたまま捕まってしまいます。ファットテールは、平穏を前提としたモデルにブラックスワンがこれほど大きなダメージを与える理由の大きな部分を占めています。
事態を悪化させた二つの機械
2010年のフラッシュクラッシュとナイト・キャピタルの損失は、じっくり検討する価値があります。自動化が悪い状況を破滅的な状況に変える二つのパターンを示しているからです。
フラッシュクラッシュは流動性の連鎖崩壊でした。自動化された売りがさらなる自動化された売りを呼び、待機していた買い注文はほぼ瞬時に引き上げられ、数分間は文字通り底が存在しませんでした。一部の資産の価格はばかげた水準まで印字された後、市場は元に戻りました。単一の「バグ」は必要ありませんでした。多数の自動化された参加者のあいだのフィードバックループだけで十分だったのです。
ナイト・キャピタルはデプロイのミスでした。欠陥のあるソフトウェアのロールアウトによって古いコードが有効なまま残ってしまい、市場が開いた瞬間、同社の自動化システムが大量の意図しない注文を送り始めました。これは戦略が市場について間違った判断をしたということではありません。人間が介入できるようになるまでに、機械が一つのミスを何千回も実行してしまったということであり、その結果、およそ4億4000万米ドルが約45分間で消えました。
原因は異なっていても、教訓は同じです。人間によるサーキットブレーカーのない速度は、小さな不具合を大きな災厄に変えます。
クイック確認テスト
過剰最適化とは、平たく言うと何ですか。 過去のデータにあまりにも密接に調整された戦略は、本物のパターンの代わりにランダムなノイズを記憶してしまいます。そのためバックテストでは優秀に見えても、実際にトレードすると予測力を持ちません。
なぜ自動化された戦略は構造的にブラックスワンに対して無防備なのですか。 ブラックスワンは、定義からして、その戦略が学習とテストに使ったデータの外側にあるため、それに似たものを一度も見たことがなく、有効な学習済みの反応を持ちません。しかも市場にはファットテールがあり、通常のモデルが想定するよりもそうしたショックが頻繁に起こります。
戦略をいつオフにするかを決めるのに、なぜ人間が必要なのですか。 状況が戦略の想定範囲の外に移ったと認識することは判断力の問題であり、固定されたルールや通常のデータで訓練されたモデルはそれを自分自身で確実に判断できません。そのため、手動のオフスイッチと人間による監督は不可欠な管理策であり、原始的なシステムのサインではありません。
Sources
- Notices of the AMS (academic), Bailey, Borwein, Lopez de Prado & Zhu, "Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance" — モデルが根底にあるパターンの代わりにランダムなノイズを記述してしまい、その結果、新しいデータへの一般化に失敗する仕組みについて。
- arXiv (academic), Nassim Nicholas Taleb, "Statistical Consequences of Fat Tails" — 稀で影響の大きい出来事を、起きた後になって初めて予測可能だったと合理化してしまうという、ナシーム・ニコラス・タレブによる定義。
- U.S. SEC & CFTC (joint staff report), "Findings Regarding the Market Events of May 6, 2010" — 2010年5月6日の日中の急落、その規模、および約36分間という継続時間について。
- U.S. SEC, "Press Release 2013-222: SEC Charges Knight Capital With Violations of Market Access Rule" — 2012年8月1日のソフトウェア展開の失敗と、それによって生じた損失について。
- OECD (OECD.AI Policy Observatory), "What is AI? Defining AI and machine learning" — 明示的に書かれたルールに従うのではなく、データからパターンを学習するモデルについて。