Skip to content

Repository files navigation

SABR-style Two Asset Generator

2つのリターン時系列からSABR風の確率ボラティリティモデルをフィットし、合成リターン系列と価格系列を生成します。

セットアップ

python -m venv venv
venv/bin/python -m pip install -r requirements.txt

実行例

venv/bin/python sabr_generator.py \
  --input train_sp500_us10y.csv \
  --asset-columns sp500,DGS10 \
  --steps 252 \
  --paths 100 \
  --seed 7 \
  --output generated_sabr_series.csv \
  --params-output sabr_params.json

学習期間を区切る場合は次のように指定できます。

venv/bin/python sabr_generator.py \
  --input train_sp500_us10y.csv \
  --asset-columns sp500,DGS10 \
  --start-date 1966-01-01 \
  --end-date 2026-12-31

generated_sabr_series.csv は long format で、各パス・各ステップについて2資産のリターンを出力します。sabr_params.json にはフィットされた各資産の mu, alpha, beta, nu, rho と、2資産間を含む4次元ブラウン運動の相関行列を保存します。

モデルの扱い

学習データはリターン系列なので、オプション市場のSABRキャリブレーションではなく、リターンの平均、標準偏差、ローリング実現ボラティリティ、標準化リターンショックとボラティリティショックの相関からパラメータを推定します。

生成時の価格過程は次の形です。

dS_i = mu_i S_i dt + alpha_i S_i^beta_i dW_i
d alpha_i = nu_i alpha_i dZ_i

2資産間の相関は、各資産の価格ショックとボラティリティショックをまとめた4次元相関行列として反映します。

拡張の方針

将来的に期間ごとにフィットする場合は、fit_two_asset_sabr_by_periods()("1966-01-01", "1975-12-31") のような期間ペアを渡すと、期間ごとの TwoAssetSabrParams を得られます。

SP500/DGS10 時系列生成 MVP

codex_timeseries_generation_plan.md に基づく最小実装は src/scripts/ にあります。既存の data/train_sp500_us10y.csv から特徴量、診断表、bootstrap/DCC/ADCC 生成パス、比較表を作成します。

venv/bin/python scripts/00_prepare_data.py
venv/bin/python scripts/01_diagnostics_real_data.py
venv/bin/python scripts/02_fit_bootstrap.py
venv/bin/python scripts/03_fit_marginals.py
venv/bin/python scripts/04_fit_dcc.py
venv/bin/python scripts/05_fit_adcc.py
venv/bin/python scripts/06_fit_copula.py
venv/bin/python scripts/08_fit_regime.py
venv/bin/python scripts/07_evaluate_generated.py

主要な出力は次の通りです。

  • data/processed/daily_features.csv
  • data/generated/bootstrap/generated_paths.csv
  • data/generated/dcc/generated_paths.csv
  • data/generated/adcc/generated_paths.csv
  • data/generated/copula/generated_paths.csv
  • data/generated/regime/generated_paths.csv
  • reports/tables/model_comparison.csv
  • reports/diagnostics/final_report.md

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages