研究275 較正コスト分布での三段運用プラン再計算 = 挑戦段は成立継続(到達~100%・中央144→194-256日に減速)だが、定常段は両方ストレス失格2.3→16-27%で旧安全基準(≦4%)を大幅超過=定常段の再設計が必要。副産物としてM1再構成のスワップ一括計上バグを日割りへ修正

リスク管理 · 1 min

方法: 研究227/228と同一経路(cont_shock連続化+日中M1再構成+sim_pipeline/sim_tri)で、コストのみ研究274較正版(CAL中心/CAL0保守)へ差替。

1. 仮説とねらい

リスク・サイジング・ドローダウン制御の検証記録です。エッジを安全に運用へ落とすための要です。

この検証で確かめたい出発点は次の通りです。

方法: 研究227/228と同一経路(cont_shock連続化+日中M1再構成+sim_pipeline/sim_tri)で、コストのみ研究274較正版(CAL中心/CAL0保守)へ差替。現行3プリセット(挑戦静的k2.5/合格後kb2.0cap2.5/定常kb2.0cap3.5 C=15%)で評価。

2. 検証の設計(どう組んだか)

いきなり走らせる前に、後知恵や偽エッジが入り込まないよう検証の枠組みを先に固めます。

項目内容
対象銘柄株価指数
時間軸M1
検証期間2018-10
くぐらせた関門M1日中リスク → モンテカルロ合格率 → コスト耐性

この枠組みで、下のステップを順番にくぐらせていきます(どこかで落ちれば不採用)。

3. 検証の手順(ステップ・バイ・ステップ)

ステップ1: 検証ステップ

まず、基盤修正1(スワップ日割り, btengine/intraday.py): Trade.pnlのスワップは決済時一括のため、長期保有玉の決済日に数ヶ月分が人工的な一日ギャップとして出現(例2018-10-11 g=-6.40%、実態は-0.43%)。ブートストラップがこの人工日を~25%の確率で引き、定常失格が22-30%に化けていた。保有中の平日0時境界へ日割り(木曜3倍=エンジン同一)配分に修正。swap=0の旧キャッシュは完全後方互換・pytest全PASS。

ステップ2: 既存システムとの統合評価

次に、方法論の注意2(合算フレームの%リスク膨張): 8ストリーム独立複利の合算経路では、コストで合算equityが下がる(末期0.78×)一方スリーブ絶対振幅が保たれ、後期%振幅が機械的に膨張(r.std +17〜24%≒equity比の逆数)。実機EAは共有残高サイジングのため起きない=CAL機構一致値はリスク上限寄り。下限側として「旧分布形状+較正コストの日次%オーバーレイ」のCAL_sh(共有残高補正)を併走。真値は両者の間。

ステップ3: モンテカルロ合格率の推定

続いて、pipeline(挑戦→合格→初回出金, 現行プリセット): | 分布 | 到達% | 中央日数 | 1年内% | 期待参加費 | |—|—|—|—|—| | 旧cont_shock(コスト無) | 100.0 | 144 | 75.5 | ¥12,655 | | CAL(機構一致・上限寄り) | 99.9 | 194 | 58.8 | ¥14,436 | | CAL0(保守) | 99.7 | 207 | 56.1 | ¥15,167 | | CAL_sh(共有残高補正・下限寄り) | 98.9 | 256 | 48.9 | ¥14,093 | | CAL+両方ストレス | 99.4 | 246 | 50.4 | ¥18,049 | 挑戦k感度(CAL): k2.0=中央219日/k2.5=194日/k3.0=171日(1年内63.0%・参加費+¥1,503)=kを上げるほど速い関係は較正後も維持(研究230と整合)。

ステップ4: 検証ステップ

さらに、steady(定常出金 C=15%×kb2.0, 失格%=素/両方ストレス): 旧kcap3.5=月次2.434%/0.3/2.3 → CAL kcap3.5=1.594%/7.7/26.5・CAL_sh kcap3.5=1.103%/4.4/16.4。kcap2.5へ落としても CAL=1.343%/5.9/20.9・CAL_sh=0.908%/3.6/13.8=kcap引き下げでは旧安全基準(ストレス≦4%)に戻らない。月次も2.43→1.10-1.59%へ後退。

ステップ5: モンテカルロ合格率の推定

加えて、VERDICT: 採用(較正後の新参照値)。運用への翻訳: (1)挑戦段(現在STEP1稼働中)は据え置きで続行可=fail-fast設計は成立(到達~100%・時間が1.3-1.8倍かかるだけ・k3.0昇格は速度vs参加費のユーザー判断) (2)合格後〜初回出金も同型で成立 (3)定常段(初回出金後の話)は現行設計のままでは失格リスクが桁違い=再設計が必要。要因は研究274と同根=金・指数の保有financing。

ステップ6: 既存システムとの統合評価

そのうえで、開いている道: (1)定常段の再設計=コスト構造そのものへの対処(index/金のスリーブ経済性再審査・保有短縮/縮小、carry方向選好=swap実測のみで可)が本命。k/Cの調整だけでは不足 (2)共有残高サイジングでの分布再構成を基盤の正式機能にする(独立複利合算の%膨張を恒久解消) (3)金利低下シナリオの感度(較正値はスナップショット=Fed利下げでfinancingは自動縮小)。

用語と検証手法

この記事で出てくる主な用語です。

  • M1日中検証: 日足では見えない保有中の含み益の吐き出しを分足(M1)で再構築し、プロップの日次-5%/最大-10%抵触を検出します。日足評価だけだと日中の失格を見逃します。

関連コード(再現用)

上記の検証は以下のスクリプトで再現できます(リポジトリ参照)。

  • btengine/intraday.py

図: ドローダウン=資産が最高値からどれだけ下がったか(例: XAUUSD)。この谷の深さがリスクの実感値です。

図: ドローダウン=資産が最高値からどれだけ下がったか(例: XAUUSD)。この谷の深さがリスクの実感値です。

この検証のつながり

この検証は、過去の次の検証を踏まえています(前回ダメだった→今回こうした、別ロジックとの比較など)。