100資産の共分散行列には5,050個の分散・共分散要素があり、短い標本ではノイズだらけです。Shrinkage推定は不安定な標本共分散を、対角行列や一定相関など単純で安定したターゲットへ近づけます。
仕組みと指標の意味
推定値=δ×ターゲット+(1−δ)×標本共分散です。δが0なら標本そのまま、1なら完全にターゲットです。Ledoit–Wolf法は平均二乗誤差を抑える縮小強度をデータから推定します。個々の相関の当てはまりを最大化するより、行列全体の予測誤差と逆行列の安定性を改善する狙いがあります。

架空の数値例
60資産に250日データしかない場合、標本行列の小さい固有値は推定誤差に支配され、最小分散最適化が特定資産へ極端配分することがあります。δ0.4で一定相関ターゲットへ縮小すると、最大ウェイト45%が12%へ低下し、翌年の実現ボラが改善する可能性があります。これは過去適合を弱める交換です。
実務での計算・検証手順
標本、対角、一定相関、単一因子ターゲットを同じローリング窓で比較します。縮小強度は各時点までのデータだけで推定し、将来期間を使いません。評価は行列誤差だけでなく、翌月の予測ボラと実現ボラの差、回転率、最大ウェイト、費用後成績で行います。
- 評価対象、ベンチマーク、観測頻度、費用を事前に固定する
- 発注時点で利用可能だったデータだけで系列を作る
- 点推定だけでなく標本数、信頼区間、感度分析を保存する
- 期間前半で条件を決め、後半へ変更せず適用する
- 実運用では予測値と実績値の差を定期的に記録する

誤用しやすいポイント
縮小すれば必ず正確になるわけではなく、ターゲットが構造変化へ合わない場合もあります。相関の急上昇を平均へ戻し過ぎる可能性があるため、危機ストレス行列を別に持ちます。最適化制約の不備を共分散推定だけで解決しません。
資金管理へ落とす
資産1,000万円、1回または一つの戦略に許容する損失を0.5%とするなら損失予算は5万円です。指標の値が良いことを理由に上限を広げず、通常時の逆行幅、ストレス時の滑り、売買単位から数量を逆算します。複数ポジションが同じ市場要因へ反応する場合は、銘柄別ではなく合計損失を計算します。
通常想定20円の逆行なら2,500単位でも、イベント時50円、スプレッドと滑りを含め65円なら上限は769単位です。実際の売買単位へ切り下げ、余った予算を使い切るために切り上げません。期待利益より先に最大損失と撤退条件を決めます。
アウトサンプル検証
検証期間を学習・確認・完全未知の三つに分けます。確認期間で式や閾値を変えたら、その期間は学習へ移し、新しい未知期間を確保します。売買費用は固定手数料だけでなく、スプレッド、市場インパクト、借株料、先物ロールを含めます。終値シグナルを同じ終値で約定させません。
運用開始後は月次で値を再計算しますが、悪化のたびにルールを変更しません。事前下限を2回連続で割ったら建玉半減、最大DD上限も超えたら新規停止など段階を定めます。再開には一定標本数と費用後成績の回復を要求します。
検証表の作り方
検証表には日付、シグナル計算時刻、利用可能になったデータ時刻、予定価格、実際の約定価格、数量、手数料、スプレッド、滑り、保有期間、純損益を残します。結果列だけでなく、見送ったシグナルも保存します。成立した取引だけを残すと、流動性不足や値幅制限で約定しなかった不利な場面が母集団から消えるからです。
集計は全期間だけでなく、年別、市場の上昇・下落・横ばい、ボラティリティ上位20%、出来高上位・下位で分けます。各区分に観測数を必ず添えます。成績が良い区分だけを採用条件へ追加すると過剰適合になるため、区分分析は原因仮説を作る用途とし、修正ルールは次の未知期間で検証します。
感度分析の具体例
基本ケースに加え、手数料2倍、滑り3倍、約定を一日遅らせる、最大利益日を除く、相関が1へ近づく、出来高が半減するケースを作ります。基本ケースだけ合格し、少し条件を変えると損益が反転する戦略は、計算精度ではなく仮定へ依存しています。各ケースの年間取引数、純利益、最大DD、最長回復期間を同じ表へ並べます。
たとえば費用前利益120万円、通常費用30万円、ストレス費用75万円なら純利益はそれぞれ90万円と45万円です。さらに最大利益取引50万円を除くとストレス純利益はマイナス5万円です。この場合、平均値の改善より利益集中の解消と注文量削減を優先します。閾値を少し動かして最大利益を残す調整は行いません。
運用停止と再開のルール
停止条件は「調子が悪いと感じたら」では再現できません。ローリング60取引の費用後期待値がゼロ未満、実現滑りが想定の2倍、最大DDが事前上限を超える、データ欠損が発生する、のいずれかで新規建てを停止するなど数値化します。相場損失とシステム障害は原因が異なるため、別の停止フラグにします。
再開は停止条件が一日解消しただけでは認めず、データ修復の確認、最低20件のペーパー検証、費用後指標の下限回復、発注数量25%での試運転を順に行います。停止中の好成績を見て慌てて戻らないよう、判定日も月末などに固定します。この運用規律は指標そのものの精度と同じくらい重要です。
確認チェックリスト
- 計算式、符号、年率換算、データ頻度を記録したか
- 生存者バイアス、先読み、重複リターンを処理したか
- 費用前後と最大利益期間除外後を比較したか
- 下落・上昇・横ばいの各局面を含めたか
- 単独指標ではなく最大DD、流動性、容量も確認したか
まとめ
相関行列をそのまま信じないは、魅力的な一点の成績をそのまま信じず、どのリスクや不確実性を負って得た結果かを確認する道具です。計算式を固定し、架空約定ではなく実行可能な費用を入れ、未知期間へそのまま適用します。指標を売買シグナルに直結させるのではなく、候補を落とす基準、建玉上限、停止条件として使うと判断の再現性が上がります。


コメント