■ 第1回:イントロダクションとデータ収集
① 株価データとは(OHLC、出来高など)
株価データには次の基本的な項目があります:
- O(Open):始値
- H(High):高値
- L(Low):安値
- C(Close):終値
- V(Volume):出来高(取引数)
1営業日におけるデータはベクトルとして次のように表せます:
$$
\vec{x}_n = \begin{bmatrix}
O_n \
H_n \
L_n \
C_n \
V_n
\end{bmatrix}, \quad n = 0,1,2,\dots,N
$$
② データ取得(APIベース)
Pythonでは、株価データをAPI経由で次のように取得します(理論的には、これはデータベース関数 $D(t)$ の離散時系列サンプリング):
$$
x[n] = D(t_n), \quad \text{with} \quad t_n = t_0 + n \cdot \Delta t
$$
ここで:
- $D(t)$:YahooやAlphaVantage等が提供する時間依存の株価系列
- $\Delta t$:1営業日などのサンプリング間隔
③ CSVやAPIからのインポート:数学的形式
CSVやAPIで得られる時系列データは、連続時間データ $x(t)$ のサンプリング列:
$$
x[n] = x(t_0 + n \cdot \Delta t),\quad n \in \mathbb{Z}_{\geq 0}
$$
このような離散データは、時系列モデリング(ARIMA、LSTMなど)やスペクトル解析の基本単位となります。
④ 離散信号としての株価(離散信号の定義)
株価は連続時間関数 $x(t)$ ではなく、観測時刻ごとの点列(離散信号)として処理されます:
$$
x[n] \in \mathbb{R},\quad n = 0,1,\dots,N
$$
たとえば終値だけに注目する場合:
$$
x[n] = C_n
$$
① 欠損値処理・リサンプリング(日足 → 週足)
欠損補完(例:線形補間)
連続信号 $x[n]$ に欠損があるとき、周囲の値から補完:
$$
x[n_{\text{missing}}] \approx \frac{x[n_1] + x[n_2]}{2}, \quad \text{where } n_1 < n_{\text{missing}} < n_2
$$
リサンプリング(日足 → 週足)
株価の週足終値(週ごとの最終日)は:
$$
C_{\text{week}}[k] = C[n_k], \quad n_k = 5k + 4
$$
週足平均:
$$
\bar{C}{\text{week}}[k] = \frac{1}{5} \sum{i=0}^{4} C[5k + i]
$$
② 移動平均線(SMA, EMA)
単純移動平均(Simple Moving Average: SMA)
$$
\text{SMA}M[n] = \frac{1}{M} \sum{i=0}^{M-1} x[n - i]
$$
例:5日移動平均なら $M = 5$
指数移動平均(Exponential Moving Average: EMA)
$$
\text{EMA}_M[n] = \alpha \cdot x[n] + (1 - \alpha) \cdot \text{EMA}_M[n - 1]
$$
$$
\text{with } \alpha = \frac{2}{M + 1}
$$
- EMAは直近の値に重みを置く平滑化手法。
③ ローソク足チャート(Candlestick Chart)
ローソク足データ(各日):
$$
\text{Candle}_n = (O_n, H_n, L_n, C_n)
$$
- 実体(body): $|C_n - O_n|$
- ヒゲ(wick): 上 = $H_n - \max(O_n, C_n)$, 下 = $\min(O_n, C_n) - L_n$
■ 第3回:統計的基礎
- 対数リターン・累積リターン
- ボラティリティ計算
- 自己相関(ACF)と偏自己相関(PACF)
■ 第4回:ARIMAモデル入門
- 定常性と単位根検定(ADF検定)
- 差分と季節性
- AR, MA, ARMA, ARIMA モデルの構築とAICによるモデル選択
■ 第5回:SARIMAと季節調整
- SARIMAの構造(季節項の考慮)
- statsmodels によるモデル推定
- モデル診断(残差プロット、Ljung–Box検定)
■ 第6回:状態空間モデルとカルマンフィルタ
- ローカルレベル・ローカルトレンドモデル
- Pythonでの状態空間モデル(
statsmodels.tsa.statespace) - 隠れ状態の推定とフィルタリング
■ 第7回:GARCHモデルによるボラティリティ分析
- ARCH, GARCH, EGARCHモデル
- 株価の変動性予測
-
archパッケージによる実装
■ 第8回:機械学習的アプローチ
- 特徴量エンジニアリング(テクニカル指標)
- 回帰モデル(RandomForest, XGBoost)
- データ分割と交差検証(Walk Forward法)
■ 第9回:深層学習による予測
- RNN, LSTMによる時系列モデリング
- データの系列変換とスケーリング
- Keras/TensorFlowによる株価予測モデル構築
■ 第10回:異常検知・戦略評価
- 株価の急変動検出(Zスコア、変化点検出)
- バックテストとシャープレシオ評価
- 簡単な取引戦略(移動平均クロス、RSIなど)
■ 第11回:実践プロジェクト
- 指定銘柄のモデリングと将来予測
- 複数モデルの比較(RMSE, MAPE等)
- 成果物レポート作成と可視化(Plotly, Dash)
■ 第12回:まとめと展望
- モデルの限界とリスク
- 最新研究動向(Transformer, Prophetなど)
- ポートフォリオ分析との連携