Posts
read more
Pythonで株価予測 - 線形回帰とランダムフォレストで未来を予測
はじめに
株価は予測できるのか?
この問いには明確な答えはありませんが、機械学習を使って統計的な予測は可能です。
この記事では、Pythonのscikit-learnを使って、基本的な株価予測モデルを構築します。
注意:予測の限界
⚠️ 重要な免責事項
- 過去のパターンが未来を保証しない
- ブラックスワン(予測不可能なイベント)がある
- このモデルは学習目的であり、実際の取引には使用しないこと
準備
| |
特徴量エンジニアリング
テクニカル指標を特徴量として作成
| |
線形回帰モデル
| |
ランダムフォレストモデル
| |
予測結果の可視化
| |
翌日の価格予測
| |
モデルの評価と注意点
| |
まとめ
モデルのポイント:
Posts
read more
Pythonで株価のボラティリティを予測する - GARCHモデル入門
はじめに
株価の**ボラティリティ(変動性)**は、リスク管理やオプション価格の決定に重要です。
「ボラティリティは常に変化する」という特徴を捉えるために、GARCHモデルが広く使われています。
この記事では、GARCHモデルの基礎とPython実装を解説します。
GARCHモデルとは?
ボラティリティの特徴
株価のボラティリティには以下の特徴があります:
- クラスタリング: 高いボラティリティの後に高いボラティリティが続きやすい
- 平均回帰: 長期的には平均レベルに戻る
- レバレッジ効果: 下落時の方がボラティリティが上がりやすい
GARCH(1,1)モデル
GARCH(Generalized Autoregressive Conditional Heteroskedasticity)モデルは、 条件付き分散(ボラティリティ)を以下の式でモデル化します:
$$\sigma_t^2 = \omega + \alpha r_{t-1}^2 + \beta \sigma_{t-1}^2$$ここで:
- $\sigma_t^2$ = 時点$t$での条件付き分散
- $\omega$ = 定数項
- $\alpha$ = ARCH項の係数(前日のリターンの影響)
- $\beta$ = GARCH項の係数(前日のボラティリティの影響)
- $r_{t-1}$ = 前日のリターン
制約条件:
- $\omega > 0$
- $\alpha \geq 0, \beta \geq 0$
- $\alpha + \beta < 1$(安定性条件)
Pythonでの実装
ライブラリのインストール
| |
Step 1: データ取得と前処理
| |
Step 2: リターンの可視化
| |
Step 3: GARCH(1,1)モデルの推定
| |
Step 4: 結果の解釈
| |
Step 5: 条件付きボラティリティの可視化
| |
Step 6: ボラティリティの予測
| |
モデルの診断
残差の検定
| |
他のモデルとの比較
| |
よくあるエラーと解決法
エラー1: “ConvergenceWarning”
原因: モデルが収束しない