botter界隈ではおなじみの『ファイナンス機械学習―金融市場分析を変える機械学習アルゴリズムの理論と実践』が枕になってしまっていたので、久々に格闘しながら金融時系列分析の練習をしました。
ファイナンス機械学習―金融市場分析を変える機械学習アルゴリズムの理論と実践
マルコス・ロペス・デ・プラド (著), 長尾 慎太郎 (監修, 翻訳)
↓お世話になったサイト
要旨
- 前回までの検討を踏まえ、現在の前提・戦略は以下の通り。
8:40 JST時点で当日日経平均の終値15:30の予測を試みる。
現在の戦略:08:40 直前の日経平均先物CME NKD=F 1 分足 Close をそのまま予測値とする。
- この 1 点採用では、朝方の薄商い・スプレッド拡大期に拾ってしまった場合にノイズを含むリスクがあるかもしれない。
- そこで、08:30-08:40 の 10 分窓にある複数本のバーの中央値や平均に置き換えれば、ノイズが √n の要領で縮約され、予測の乖離を改善できるのではないか、という仮説を立てた。
- 実データ (NKD=F 1m 7 日 + 5m 60 日) によるバックテストの結果、仮説は却下された。平均化戦略は単点戦略に対して統計的に有意な改善をもたらさず、むしろ 60 日サンプルでは平均で +6 pts の MAE 悪化 (z = +1.47)を示した。
1. 検証仮説
1.1 背景
- 現時点では、8:40時点で、CME先物の最新1分足Closeを入手し、そのままの値を予測値とする実装である。
- しかし、1 点でサンプリングする由来のミクロ構造ノイズは残存している可能性がある。
1.2 主仮説
朝 8:40 直前の CME NKD=F 1 分足 Close 単点 (現状) を、08:30-08:40 の10 分窓にある複数本バーの中央値 (または平均) に置き換えると、当日^N225 15:30 終値との乖離 (MAE) が統計的に有意に減少する。
1.3 前提
- 08:30-08:40 の 10 分間における 1 分足 Close の変動は、真の先物理論価格に対する対称的ランダムノイズを含むとする。
- ノイズの源泉は以下のいずれか。
(a) スプレッドの瞬間的拡大
(b) 薄商い時の in-between ヒット
(c) HFT による一時的な価格揺らぎ - これらのノイズが i.i.d. 近似できるなら、n 本平均で標準偏差は√n分の1に圧縮される。
2. 検証方法
2.1 データ
| データ | 取得元 | 期間 | 用途 |
|---|---|---|---|
| CME NKD=F 1 分足 | yfinance | 直近 7 日 | 直接評価 |
| CME NKD=F 5 分足 | yfinance | 直近 60 日 | 統計量確認用の長期検証 |
| ^N225 日足 | yfinance | 対応期間 | ターゲット (15:30 終値) |
- yfinance 1m は 7 日を超えると取得できないため、60 日窓では 5mに切り替えて triangulate する。
- 5m では 08:30 バー (cover 08:30-08:34) と 08:35バー (cover 08:35-08:39) の 2 本を窓内サンプルとみなす。
2.2 比較戦略
| 記号 | 戦略 | 定義 |
|---|---|---|
| (A) | single_0840 |
最後のバー (= 08:39 スタートの 1m, または 08:35 スタートの 5m) の Close。現在の戦略 |
| (B) | median_0830_0840 |
窓内全バーの Close の中央値 |
| (C) | mean_0830_0840 |
窓内全バーの Close の単純平均 |
2.3 評価指標
- MAE (pts): 平均絶対誤差
- RMSE (pts): 二乗平均平方根誤差
-
日別勝敗:
|err_median| < |err_single|となる日数 / 総日数 -
paired z-score: 対の誤差差分
|err_median| - |err_single|の平均を標準誤差で正規化。|z| ≥ 1.96 で両側 5% 有意
2.4 サブグループ解析
- 仮説の前提 (intra-window ノイズ仮定) を側面から検証するため、各日のintra-window 標準偏差(窓内バー Close の標準偏差) で中央値分割し、上位半分 / 下位半分で平均化効果の差を比較する。
3. 検証結果
3.1 全体集計
3.2 誤差の可視化
3.3 サブグループ解析 (intra-window 標準偏差による分割)
3.4 結果の要約
- 全体 MAE: 1m (n=5) では median 戦略が −2.5 pts 改善、ただし z = −0.18 で統計的有意性なし。5m (n=46) では median 戦略が +6.1 pts 悪化し、z = +1.47 (両側 5% 有意の境界手前) に達した。
- 日別勝敗: 5m 60 日で median 勝ち 14 / single 勝ち 25 / 同点 7 とsingle が圧勝。
- サブグループ解析: 仮説の予測に反し、intra-window 標準偏差が大きい日ほど median 戦略の悪化幅が拡大する (5m: 上位半分 Δ=+11.3,下位半分 Δ=+2.1)。
- 以上より 仮説は棄却 された。
4. 示唆・今後の検討課題
4.1 仮説が成立しなかった構造的理由
- 前提 1 (08:30-08:40 の変動が対称ランダムノイズである) が棄却された。
- サブグループ解析の逆向き相関 (変動が大きい日ほど median が悪化) は、窓内の価格変動がランダムノイズではなく 情報織り込みに伴うドリフト (方向性をもつ価格変化)であることを示唆する。
具体的には...
-
08:30-08:40 の 10 分間にも、米株引け後のカウンターポジション調整、早朝に入る国内投資家のフロー、為替のマイクロ変動などが連続的にCME 価格に織り込まれている。
-
これらはノイズではなく新情報の漸次反映であり、最新値ほど多くの情報を保持している。
-
したがって 5 分前のバー値を混入する平均化は、最新情報を希釈する方向に働く。
-
これは効率的市場仮説のような説明であり、以前の検証で他の戦略がbaseline_cme に敗北した原因 (CME 価格は過去情報を全て織り込んでおり、追加特徴量は情報希釈になる) と同一構図?
4.2 今後の検討課題
- OSE 大阪日経 225 先物気配値の併用: CME と独立な価格ソースである。データ取得コスト (JPX) が課題。
- マクロイベント日 (FOMC / CPI / SQ / 日銀会合) の特別扱い: 月 1-2
回の外れ値日が全体 MAE を押し上げている可能性。イベントカレンダー取得が必要。



