
AIは賢いか?強化学習のレバレッジ調整に挑む
MLサイジング(研究100)のプラセボ剥落を踏まえ、低自由度の tabular contextual bandit: 状態{vol3分位×株式on/off×DD状態}→最適レバ{0.5/1.0/1.5}をウォークフォワード学習。
本記事は「AIは賢いか?強化学習のレバレッジ調整に挑む」の検証を、はじめての方にも分かるようにまとめたものです。
今回は、FXの自動売買(EA)でレバレッジを自動的に調整する仕組みについて、新しい試みをした結果をお伝えしますね。
どんなアイデア?
前回の機械学習(ML)を使ったレバレッジ調整の検証(研究100)では、期待通りの結果が出ませんでした。そこで今回は、もっとシンプルで分かりやすい「強化学習」の一種、「tabular contextual bandit(表形式のコンテクスチュアルバンディット)」という方法を試してみることにしました。 これは、EAが今の相場の「状況(context)」を判断して、いくつかの選択肢の中から最適な「行動(bandit)」を選ぶ、という仕組みなんです。まるで、状況に応じて賢い選択をするAIのようなイメージですね。 具体的には、EAが以下の3つの情報から今の状況を判断します。
- ボラティリティの3分位: 相場の値動きの激しさ(ボラティリティ)を「静か」「普通」「活発」の3段階に分けます。相場の活発さの目安ですね。
- 株式市場の開閉: 株式市場がオープンしているか、クローズしているか。これはFX市場にも影響を与える外部要因です。
- ドローダウン状態: EAが含み損を抱えているかどうか、その度合い。EAの調子を表す目安になります。 そして、これらの状況に合わせて、レバレッジを「0.5倍(低め)」「1.0倍(標準)」「1.5倍(高め)」の3段階で調整するように学習させました。 過去のデータを使って学習し、その知識を使って未来を予測・行動する「ウォークフォワード学習」という方法で、その効果を確かめてみたんですよ。
結果はどうだった?
残念ながら、今回の結果は期待外れでした…。 学習を進めた結果、EAはまるで「臆病な戦略」を選んでしまったんです。特に「ドローダウン(含み損)」を避けようとしすぎて、ほとんどの状況でレバレッジ0.5倍(一番低いレバレッジ)しか選ばなくなってしまいました。これを「退化方策」と呼んでいます。 その結果、月間の利益率はわずか+0.72%と、これは正直「最悪」に近いパフォーマンスです。まるで、登山で安全を重視しすぎて、頂上までたどり着けなかったような感じですね。 もちろん、学習の「報酬設計」(EAが何を良い行動と判断するか)を調整すれば、結果は変わるかもしれません。でも、一番驚いたのはここからです。 なんと、今回の強化学習(RL)よりも、**「プラセボ(偽薬)」**と呼べる比較対象の方が良い結果を出してしまったんです! この「プラセボ」というのは、今回の学習で使った「状況」と「レバレッジの選択」の対応関係を、あえてランダムに入れ替えた、つまり「意味のない組み合わせ」のものです。それが月間+1.57%の利益を出して、本物の強化学習を上回ってしまったんですね。これは本当に予想外でした!
ここから学んだこと
この結果が示唆しているのは、私たちがすでにEAに組み込んでいる「ボラティリティに応じたレバレッジ調整(vol-target)」や「株式市場の開閉に応じたフィルタ」といった、手作りのシンプルなロジックが、実はかなり優秀だったということです。 今回の強化学習で「状況に応じてレバレッジを調整する」という新しい仕組みを試したかったのですが、結局のところ、既存のロジックがすでにその役割を十分に果たしていたため、追加で学習させる意味がなかった、という結論になりました。 これは、前回の機械学習(ML)を使った検証(研究100)と同じ結論なんです。 これ以上、報酬設計を細かく調整して過去のデータに合わせ込もうとしても、それは「過剰適合化」(特定のデータにはバッチリ合うけど、未知のデータには全く通用しない状態)に陥るだけだと判断しました。まるで、オーダーメイドの服が特定の体型にしか合わないように、過去の相場にだけ効くEAを作ってしまうようなものです。 ですので、今回の検証からは、機械学習(ML)も強化学習(RL)も、今のところ私たちが手作業で調整しているレバレッジ管理のロジックを超えることはできませんでした。 したがって、現在稼働中のEAのシステムに変更はありません。 今回の結果は少し残念でしたが、新しい技術の可能性を探る上で、とても大切な一歩だったと思っています。
この検証のつながり
この検証は、過去の次の検証を踏まえています(前回ダメだった→今回こうした、別ロジックとの比較など)。