― 仮説を“数値化”する思考の技術 ―
STEP1で整備された時系列データが準備できたら、次は「どんな要素が将来の値動きを予測できるか?」を考えるステージです。
このSTEP2では、仮説で見出した市場の歪みを、実際に“数値で表現する”作業、すなわち「特徴量(ファクター)設計」を行います。
この工程は、モデルの成否を左右する極めて重要な部分で、最も時間をかけるステップのひとつです。
特徴量とは?
特徴量(ファクター)とは、将来の値動きを説明したり予測するために使う「入力データ」です。
たとえば以下のようなものが該当します:
- 米国株が昨日3%上がった(→モメンタム)
- ドル円が夜間に急騰した(→為替感応度)
- VIXが急騰した(→リスク回避のシグナル)
これらは「仮説に基づく要因」をデータとして表現したもので、クオンツモデルにとって“市場との対話手段”ともいえます。
特徴量の分類(よく使うカテゴリ)
① テクニカル系
- 騰落率(前日比、3日、5日など)
- モメンタム(1日、3日、5日変化)
- 高値・安値の位置とその差(ローソク足構造)
- RSI、ATR、HV(ボラティリティ)
- RSI ÷ ATR(過熱感とボラティリティを掛け合わせた指標)
- 終値 ÷ ボリンジャーバンド下限(リバウンド余地)
- Zスコア(過去20日平均との差で標準化)
② 外部環境系
- 米国株(ダウ、NASDAQ、S&P500)の各価格とリターン
- ドル円、VIX、WTI、金などの騰落率・モメンタム
- 米国債利回り(10年・5年・2年)とイールドスプレッド
③ 合成・相対指標(応用系)
- 米国株指数 × ドル円(例:Nasdaq × USDJPY)
- N225 ÷ Topix、N225 ÷ Dow、N225 ÷ Nasdaq、N225 ÷ Sp500、N225 ÷ USDJPY
- ギャップ:NY終値と東京市場の始値の差
- ローソク足位置:終値が高安レンジのどこにあるか
- 高値/安値の変化、前日比、2日前比
- ATR(5日平均)とHV(10日標準偏差)とその変化率
特徴量設計の準備
1. 未来の値を使っていないか?(未来リーク対策)
予測時点で確定していない情報を使ってはいけません。
- 使用OK:前日の終値、夜間の為替、VIXなど
- 使用NG:その日の終値、その日のローソク足全体
目安:前日までに確定している情報だけを使うこと。
2. 「いつのデータで、いつを予測するのか」を明確に
たとえば:
- 使用データ(特徴量):前営業日までに確定した株価・指標・外部要因など
- 予測対象(ターゲット):翌営業日の価格変動、トレンドの方向、または時間帯特化のリターンなど
このように、特徴量とターゲットの時間軸がズレていることが健全な設計となります。過去の情報で未来を予測するという因果関係が成立しているかを確認することが重要です。
3. スケーリング(数値の大きさをそろえる)
異なる桁の数値は、モデルが誤解する原因になります。たとえば、ドル円の変化率(0.01)と日経平均の終値(30000)をそのまま入力すると、モデルは日経平均に重みを置いてしまいます。
- 価格や水準は「変化率」や「リターン」に変換する
- Zスコアなどで標準化することで比較可能にする
この処理により、特徴量は“同じスケール”に整えられ、学習の安定性が向上します。
ターゲットの定義
「どんな動きを当てたいか?」に応じてターゲットを定義します。
たとえば:
- 翌営業日の寄付きから引けまでのリターン
- 前日の情報から翌朝のトレンド方向
- 特定時間帯のボラティリティ急増の有無
- 5営業日後の価格水準や終値方向性
このように、予測したい内容が「短期」「中期」「方向性」「ボラティリティ」などによって、ターゲットの設計も変わります。
分類(上がる/下がる)にするのか、回帰(リターン予測)にするのかも、この段階で仮決めしておくと、その後の特徴量設計やモデル選定がスムーズに進みます。
このSTEPでやること(まとめ)
・「どんな値動きを予測したいのか?」(ターゲット)を明確にする
・それに基づいて、仮説に合った特徴量を幅広く設計する
・未来リークがないか、構造と時間軸の整合性を厳密に確認する
・特徴量はスケーリングや変換をかけてモデル入力に備える
この準備が整えば、次のSTEP3:ICテスト(特徴量の有効性分析)へと進めます。


実例:練習課題における特徴量設計の流れ
ここからは、実際に筆者が行ったクオンツモデル構築における特徴量設計の流れをご紹介します。STEP0~1で仮説とデータが整った段階から、どのようにファクターを設計し、精度あるデータセットに仕上げたのか、具体的に追っていきます。
① 「どんな値動きを予測したいのか?」(ターゲットの定義)
ミニ日経225先物の朝8:45〜9:45の1時間足の価格差(N225_H1)を対象とし、
- 上昇していれば 1、
- 下落していれば 0
という二値分類のターゲット(target_up
)を定義しました。
つまり、「朝8:45時点でポジションを持ち、9:45までに上昇しているかどうか」を予測するモデルを作る前提で、すべての設計を行っています。
② 仮説に基づいた特徴量の設計
「日本市場は朝に米国株や為替の影響を強く受ける」という仮説に基づき、以下のようなカテゴリにわたって特徴量(ファクター)を設計しました:
カテゴリ | 内容例 |
---|---|
変化率系 | 各指標の当日リターン(終値−始値)および前日比・2日前比 |
ローソク足構造 | 高値−安値のレンジ、終値位置((close – low) / (high – low))、始値からの上下動比率など |
ボラティリティ系 | ATR、HV(ヒストリカル・ボラティリティ)とその前日比・2日前比 |
合成・相対系 | 日経÷Topix、日経÷米株(ダウ・ナスダック・S&P500)、日経÷ドル円(ドルベース日経)、日経×ドル円(海外勢モメンタム)など |
イールドカーブ系 | 米国債10年−2年、10年−5年、5年−2年の金利差 |
これらの特徴量に使われているデータはすべて NY時間AM6:55 に確定済みの前日までの終値や指標であり、
その日の日本時間8:45時点にはすでに取得可能な情報です。
したがって、同一行に N225_H1
(8:45〜9:45の価格差)と N225_close
(NY時間の終値)が並んでいても、時間軸の上では「N225_closeの方が先に確定している」という点が重要です。
最終的に生成された特徴量は 586個 にのぼり、多面的な分析を可能にするベースとなりました。
③ 未来リークの排除(構造と時間軸の整合性)
最大の注意点は「未来の情報を使っていないか?」という点です。
例えば、N225_H1
は 2020/5/15の朝8:45〜9:45の価格差を示す指標であり、
同じ行にある N225_close
や Topix_close
、Dow_close
などはすべて その前(NY時間)までに確定している情報であるため、予測時点(日本時間8:45)で取得できるデータのみを使って構成されており、未来リークは発生していません。
これは、データが同一行にあることと時間軸上の因果関係は別であるという、重要な構造的理解に基づいています。
④ 特徴量の整形とスケーリング(Zスコア化)
最後に、機械学習モデルに使いやすい形に整える工程です。
以下の処理を実施しました:
- 除外:No列や価格の絶対値(例:_open, _closeなど)は分析対象外とし、元データとして保持
- スケーリング:使用する586個の特徴量列のみZスコア(平均0、標準偏差1)で正規化
- 確認:スケーリング対象外の列が分析に混入していないことを改めて確認
この処理によって、モデルが数値スケールに惑わされることなく、各ファクターの重要度を正しく評価できる状態となりました。
このように、「ターゲット設定 → 仮説に基づく特徴量作成 → 時系列構造と未来リークの確認 → スケーリング調整」の4つの柱を明確にしながら進めたことで、モデル構築の基盤が整い、次のSTEP3(ICテスト)にスムーズに移行できます。
次回は、実際にどのファクターが効いているかを「数値」で評価します。
お楽しみに。

