VolGuard Volatility Risk Manager
- ユーティリティ
- バージョン: 1.0
- アクティベーション: 20
MetaTrader 向けに売られているものは、ほとんどが方向を予測します。それが本当に可能なのかを、EURUSD と金の13年分のデータで検証しました。ウォークフォワード検証を行い、さらにラベルをランダムに入れ替えた対照実験も走らせています。
方向の的中率は48%から51%の間でした。金では、同じモデルが入れ替えたラベルに対して53.4%を出しています。つまり本物のデータより高い。過学習したシステムを内側から見ると、これがその姿です。バックテストの曲線が証拠にならない理由もここにあります。
明日どれだけ動くか、という問いは別物で、こちらには答えがあります。VolGuard はその答えの上に、それだけを土台にして作られています。
何をするのか
毎日、日足が確定したときに、VolGuard は明日の値幅を予測し、その予測を一つの数字に変えます。あなたのポジションサイズに掛けるべき係数です。
平常の2倍動くと予測された日はサイズが半分になります。そうすればリスクにさらす金額は、あなたが置いた場所にとどまり、黙って倍になったりしません。静かな日には少し多めになります。あなたが決めた上限を超えると、今日は取引するなと言います。荒れたセッションでの小さなポジションも、荒れたセッションでのポジションであることに変わりはないからです。
係数は意図的に両端で制限してあります。制限しなければ、非常に静かな予測が5倍のレバレッジを配ってしまう。そして静かな予測が外れる日こそ、まさに問題になる日です。
パネル
状態は一語で表示します。NORMAL、REDUCED、BLOCKED、WARMUP のいずれか。続いて明日の予測値幅をその銘柄の価格単位で、比較の基準となる標準的な値幅、両者の比率、そしてロット係数。
部屋の反対側からでも読める大きさで描かれ、拡大縮小できます。
あなたの EA からの読み方
判断はターミナルのグローバル変数として公開されます。プラットフォーム上で動くものはどれも、VolGuard を知るように書き換えなくても、これを使えます。
double VolGuardMultiplier(const string symbol)
{
const string name = "VolGuard_" + symbol + "_mult";
if(!GlobalVariableCheck(name))
return(1.0);
return(GlobalVariableGet(name));
}
lots = lots * VolGuardMultiplier(_Symbol);
if(lots <= 0.0) return;
VolGuard が動いていなければ関数は 1.0 を返し、あなたのサイズ計算はそのままです。ゼロは BLOCKED を意味します。あわせて VolGuard_<symbol>_state と VolGuard_<symbol>_ratio も公開されます。
裁量で取引するなら、パネルのロット係数を読んで掛けてください。
何を測ったか
アウトオブサンプル、2022年9月から2026年8月まで。構築には一度も使っていないデータです。モデルは21日ごとに再学習され、各日はその日を見たことのないモデルによって採点されます。これは製品が実際に行っていることであって、バックテストに言わせることのできる話ではありません。
金、1031日:予測と結果の順位相関 +0.599。当たり前の比較対象、つまり今日の値幅を明日の予測として使う方法は +0.450。対数値幅上の決定係数は +0.411。
EURUSD、1039日:+0.511、同じ比較対象は +0.403。
実務で効いてくる数字はこれです。金では、モデルが荒れると判定した上位3分の1の日は、静かと判定した下位3分の1の日の2.07倍動きました。EURUSD では1.75倍です。
上の数字はすべて相対値幅、つまり値幅を価格で割ったものです。金はこの期間に1700から4300まで上がったため、絶対値幅は価格水準だけで上昇します。絶対単位で同じ検証をすると4.35倍と出ますが、それは水増しです。正直な数字はここに書いたほうです。
中身
リッジ回帰です。12個の特徴量、13個の係数、閉じた形で解いています。
勾配ブースティングとニューラルネットワークも試し、どちらも両方の銘柄で負けました。金では線形モデルが +0.683、他の二つが +0.639 と +0.653 です。対数空間でのボラティリティはほぼ線形で、複雑なモデルはその容量をノイズの当てはめに使ってしまいます。
したがって ONNX ファイルもバイナリリソースもダウンロードされる重みもありません。読み込みに失敗するものがなく、棚の上で古くなるものもありません。
あなたの銘柄とあなたのブローカーを学習します
この製品には係数が一つも同梱されていません。起動時に VolGuard は、取り付けられたチャートの日足履歴を、あなた自身のブローカーの配信から取って学習し、稼働中は21日ごとに学習し直します。
この間隔は飾りではありません。一度学習してそのまま放置したモデルは +0.325、同じモデルを前進しながら学習し直すと +0.683 でした。ボラティリティのレジームは移動し、凍結したモデルは何も告げずに機能しなくなります。
しないこと
市場がどちらへ行くかは教えません。それは測定済みで、できないからです。グリッドもマーチンゲールもナンピンもなく、収益の約束もありません。
ポジションを建てません。既定では決済もしません。ブロックは係数をゼロにして、それをあなたに伝えるだけです。ブロック時に建玉を決済するのは、あなたが意識的に有効にする設定です。誰かのポジションを頼まれもせずに閉じる道具があってはならないからです。
その銘柄に日足が最低300本必要で、1500本以上あるほうが良好です。
設定
学習に使う日足の本数、リッジの正則化、再学習の間隔。ロット係数の下限と上限、取引をブロックする比率、そしてブロックを有効にするかどうか。ブロックされた日に建玉を決済するか、それを特定のマジックナンバーに限るか。パネルの位置と縮尺。
既定値は、検証を通した構成そのものです。
対応
日足履歴のある任意の銘柄、任意の時間足のチャート、ヘッジ口座とネッティング口座、そして一行を追加できるあらゆる EA。
