| name | monte-carlo |
| description | モンテカルロ・シミュレーションによる株価予測。過去のボラティリティから将来の株価分布を確率的に推定する。「モンテカルロ」「将来の株価」「株価予測」「確率的な株価」「リスク評価」「VaR」「価格分布」と聞かれたときに使用。 |
モンテカルロ・シミュレーション 株価予測 Skill
幾何ブラウン運動(GBM)モデルに基づくモンテカルロ・シミュレーションで、将来の株価分布を確率的に推定する。
モデル概要
幾何ブラウン運動(GBM)
S(t+dt) = S(t) × exp((μ - σ²/2) × dt + σ × √dt × Z)
| パラメータ | 定義 | 推定方法 |
|---|
| S(t) | 現在の株価 | 最新終値 |
| μ | 期待リターン(年率) | 過去の日次対数リターンの年率換算平均 |
| σ | ボラティリティ(年率) | 過去の日次対数リターンの年率換算標準偏差 |
| dt | 時間刻み | 1/245(日本市場の年間営業日数) |
| Z | 標準正規乱数 | N(0,1) |
必要なツールとデータ
get_stock_price: OHLCVデータ(最低60日分、理想は120日以上)
get_key_ratios: 銘柄名、セクター情報(出力用)
- 最低プラン: Free(60日分の株価データ)
Workflow Checklist
Monte Carlo Simulation Progress:
- [ ] Step 1: 株価データの取得とパラメータ推定
- [ ] Step 2: シミュレーション設計
- [ ] Step 3: シミュレーション実行(概念的計算)
- [ ] Step 4: 統計量の算出
- [ ] Step 5: 結果出力とISQスコア算出
Step 1: 株価データの取得とパラメータ推定
1.1 株価データの取得
get_stock_price を呼び出し、過去の終値(調整済み)を取得する。
推奨期間:
- Free プラン: 60日分(利用可能な最大)
- Light 以上: 120〜250日分(年率推定の精度向上)
1.2 日次対数リターンの計算
r(t) = ln(S(t) / S(t-1))
取得した終値系列から日次対数リターン系列を算出する。
1.3 パラメータ推定
期待リターン(年率):
μ = r̄ × 245
(r̄ = 日次対数リターンの平均、245 = 日本市場の年間営業日数)
ボラティリティ(年率):
σ = s × √245
(s = 日次対数リターンの標準偏差)
1.4 パラメータの妥当性チェック
| チェック項目 | 基準 | 対処 |
|---|
| σ(年率)が100%超 | 異常に高い | 期間を短縮するか、異常値を除外 |
| σ(年率)が5%未満 | 異常に低い | データ不足の可能性を注記 |
| データ点数が20未満 | 統計的に不十分 | 結果の信頼性が低い旨を明記 |
Step 2: シミュレーション設計
パラメータ設定
| 項目 | デフォルト値 | 説明 |
|---|
| シミュレーション回数 | 10,000回 | 十分な収束性 |
| 予測期間 | 60営業日(約3ヶ月) | ユーザー指定があればそちらを優先 |
| 時間刻み | 1営業日 | dt = 1/245 |
注意: エージェントはLLMであり、実際に10,000回のシミュレーションを実行するわけではない。代わりに、GBMの解析的性質を利用して統計量を直接計算する(Step 3参照)。
Step 3: 解析的な統計量の算出
GBMモデルでは、将来の株価の対数が正規分布に従うため、シミュレーションなしで統計量を直接計算できる。
予測期間T後の株価分布
ln(S(T)/S(0)) ~ N((μ - σ²/2) × T, σ² × T)
したがって:
期待値(中央値):
S_median = S(0) × exp((μ - σ²/2) × T)
期待値(平均):
S_mean = S(0) × exp(μ × T)
パーセンタイル:
S_p = S(0) × exp((μ - σ²/2) × T + σ × √T × Z_p)
ここで Z_p は標準正規分布のパーセンタイル点:
| パーセンタイル | Z_p |
|---|
| 5% | -1.645 |
| 10% | -1.282 |
| 25% | -0.674 |
| 50%(中央値) | 0.000 |
| 75% | +0.674 |
| 90% | +1.282 |
| 95% | +1.645 |
VaR(Value at Risk)の算出
VaR(95%) = S(0) - S_5%パーセンタイル
VaR(95%)率 = 1 - S_5%パーセンタイル / S(0)
最大損失シナリオ(参考)
S_worst(99%) = S(0) × exp((μ - σ²/2) × T + σ × √T × (-2.326))
Step 4: 追加分析
4.1 目標株価の到達確率
DCFスキル等で算出した目標株価がある場合、到達確率を計算:
P(S(T) ≥ Target) = 1 - Φ((ln(Target/S(0)) - (μ - σ²/2) × T) / (σ × √T))
Φ は標準正規分布の累積分布関数。代表的な値:
| Φ(z) | z |
|---|
| 0.50 | 0.000 |
| 0.60 | 0.253 |
| 0.70 | 0.524 |
| 0.80 | 0.842 |
| 0.90 | 1.282 |
| 0.95 | 1.645 |
逆に z を計算し、上表から到達確率を概算する。
4.2 損益分岐日数の推定
損益分岐(現在株価の維持)の確率が50%になるまでの期間を概算する。μ > 0 なら理論上は常に上昇傾向だが、σ が大きいと短期的な下落リスクが高い。
4.3 ボラティリティの文脈化
推定ボラティリティを市場全体と比較して位置づける:
| 年率ボラティリティ | 分類 | 日本市場の目安 |
|---|
| < 15% | 低ボラティリティ | 大型ディフェンシブ銘柄 |
| 15% 〜 25% | 平均的 | TOPIX構成銘柄の平均帯 |
| 25% 〜 40% | やや高い | 中小型・成長株 |
| 40% 〜 60% | 高い | 新興・テーマ株 |
| > 60% | 非常に高い | 投機的銘柄 |
Step 5: 出力フォーマット
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎲 モンテカルロ・シミュレーション 株価予測
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏷 対象銘柄: {銘柄名}({銘柄コード})
📅 分析日: {日付}
💰 現在株価: {現在株価}円
【推定パラメータ】
| パラメータ | 値 | 説明 |
|-----------|-----|------|
| μ(年率期待リターン) | {X}% | 過去{N}日の日次リターンから推定 |
| σ(年率ボラティリティ) | {X}% | {低/平均的/やや高い/高い/非常に高い} |
| データ期間 | {FROM}〜{TO} | {N}営業日 |
| 予測期間 | {T}営業日(約{M}ヶ月) | |
【株価予測分布】({T}営業日後)
| パーセンタイル | 予測株価 | 現在比 |
|--------------|---------|--------|
| 95%(楽観) | {X}円 | +{X}% |
| 75% | {X}円 | +{X}% |
| 50%(中央値) | {X}円 | {+/-X}% |
| 25% | {X}円 | {-X}% |
| 5%(悲観) | {X}円 | {-X}% |
【リスク指標】
| 指標 | 値 | 説明 |
|------|-----|------|
| VaR(95%) | {X}円({X}%) | 95%の確率でこれ以上の損失は出ない |
| 期待リターン | {+/-X}% | {T}営業日後の期待値 |
| 上昇確率 | {X}% | 現在株価を上回る確率 |
【目標株価の到達確率】(DCF等の目標株価がある場合)
| 目標株価 | 到達確率 |
|---------|---------|
| {Target1}円 | {X}% |
【考察】
{ボラティリティの水準と市場平均との比較}
{リスク・リターンの非対称性に関するコメント}
{予測の限界(GBMはファットテールを考慮しない等)}
【注意事項】
- GBMモデルは対数正規分布を仮定しており、実際の株価分布(ファットテール)を過小評価する傾向がある
- 過去のボラティリティが将来も続くとは限らない(決算発表、市場環境変化等)
- 配当落ちによる株価調整は考慮していない
- 本予測は確率的な参考情報であり、投資判断の唯一の根拠とすべきではない
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ISQ Signal 変換
モンテカルロの結果をISQシグナルに変換する。
Sentiment(方向性):
- 上昇確率 > 65%: +0.2〜+0.5
- 上昇確率 45%〜65%: -0.1〜+0.1(中立)
- 上昇確率 < 45%: -0.2〜-0.5
Confidence(確信度):
- データ120日以上 & σ安定: 0.5〜0.7
- データ60日: 0.3〜0.5
- データ30日未満: 0.1〜0.3
- 注意: GBMモデルの限界があるため、Confidence は 0.7 を超えない
Intensity(強度):
- VaR(95%) < 10%: 1〜2(穏やか)
- VaR(95%) 10%〜20%: 2〜3
- VaR(95%) 20%〜30%: 3〜4
- VaR(95%) > 30%: 4〜5(高リスク)
Expectation Gap(織り込み度):
- 現在株価が予測中央値に近い: 0.1〜0.3(織り込み済み)
- 現在株価が25パーセンタイル以下: 0.5〜0.8(上昇余地が未織り込み)
- 現在株価が75パーセンタイル以上: 0.5〜0.8(下落リスクが未織り込み)
Timeliness(緊急性):
- σ平均的 & 上昇確率中立: 0.1〜0.2(急ぎではない)
- σ高い: 0.3〜0.5(ボラティリティが高く早めの判断推奨)
- 決算発表前: 0.5〜0.7(ボラティリティ変化の可能性)