🗄️ 歴史的文書(アーカイブ) — この文書は過去の研究フェーズの記録であり、現在の結論・手法を反映していません。現在の研究状況は解説セクションを参照してください。
Phase 2b — ETH_JPY 代替アルファ候補(imbalance / trade-follow を超えて)
本ページは Phase 2b のレポート research_reports/phase2b_alternative_alpha_candidates.md を整理したもの。
Phase 2 の top-3(phase2/alpha-signal-candidates.md)は microstructure ρ を持ちながらも、Phase 1.5-v2(phase1_5_v2/leaderboard-v2.md)で 10 ETH にスケールした際に -¥5M〜-¥12M を出した。本フェーズでは orderbook imbalance / big-trade follow と根本的に異なるクラスのシグナルを再探索し、4 本の候補とレジーム分類器を提示する。
ラン条件
- Symbol: ETH_JPY(GMO 信用、手数料ゼロ)
- サンプル日(3、Phase 2 と同一): 2026-03-12(chop, -0.14%), 2026-03-16(rally, +9.6%), 2026-03-18(down, -5.5%)
- Data source:
s3://historical-source/market_stream/symbol=ETH_JPY/business_date_jst=<day>/{trades,ticker,orderbooks}.parquet - Feature grid: ~2 Hz の orderbook スナップショット(170-176k rows/日)、trades は
merge_asof(direction='backward')で grid にマージ - Forward return:
r_H(t) = log(mid(t+H) / mid(t))、horizon H ∈{1s, 5s, 30s, 300s} - t-stats: raw Pearson + Newey-West HAC(Bartlett kernel、truncation lag = 2×H samples at 2Hz)
- 長ウィンドウ・ローリング特徴量(VWAP_30m、1h VPIN z-score 等)の安定化のため、各日最初の 3,600 行(~30 分)を廃棄。
Phase 2 との pipeline 差分:
- 長い trade lookbacks(60s, 300s, 1800s)で VWAP / VPIN を計算
- Session-cumulative CVD を 06:00 JST 境界で anchor
- 5 分窓の rolling AR(1) を連続レジーム検出器として追加
TL;DR — Phase 3b 推奨
Composite 軸: sign 安定性 × |ρ| @ 5s/30s × low turnover × Phase 2 との新規性。
| Rank | Candidate | Class | Best horizon | rally ρ | down ρ | chop ρ | HAC |t| @ best H | Turnover q90 (flips/day) | Regime-stable? | Novelty |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | cvd_accel = sv_5s/5 − sv_30s/30 | Multi-scale CVD(flow acceleration) | 5s | +0.013 | +0.032 | +0.031 | 5.47(rally 1s) | 800 avg(~1.3k chop, 1.1k rally max) | yes: +,+,+ at 5s; 2/3 at 30s | flow acceleration、level ではなく — sv_1s と直交 |
| 2 | mscale_consensus_3sig = sign(top1) = −sign(deep) = sign(sv_30s), ±1 else 0 | Multi-scale composite | 5s | +0.049 | +0.008 | +0.009 | 9.48(rally) | sparse — ~5-15% active;q90 ≈ 0 flips、q80 ≈ 14k — 実質 rare | yes: +,+,+ at 5s and 30s | Phase 2 top-3 の sign 一致 gate — rare だが high-grade |
| 3 | vwap_dev_1m_bps = (mid − VWAP_1m) / mid × 1e4 | VWAP deviation | 5s / 30s | +0.035 / +0.031 | -0.001 / -0.023 | +0.022 / +0.034 | 3.29(rally 5s), 2.46(chop 5s) | 2,100 avg | partial: +,−,+ at 30s ⇒ regime-dependent — rally/chop で momentum、down で reversion | price-vs-VWAP — 現 ATC に未搭載 |
| 4 | signed_vpin_5m = sv_300s / v_300s | Flow toxicity | 300s | +0.036 | +0.078 | -0.054 | 1.60(down 300s) | 124 avg — 最小 | 2/3 regimes at 300s; chop で反転 | 5 分 bucket の order-flow toxicity |
ヘッドライン
- 4 候補すべてが「Phase 2 と別物」ラインを通過。 どれも orderbook imbalance variant や big-trade follow ではない。#1, #4 は trade-flow 系だが Phase 2 の
signed_vol_1sとは根本的に異なるスケール。 - #1
cvd_accelは 5s horizon の regime-stable alpha として最強。 |ρ| > 0.012 が 3 日全て、HAC |t| ≥ 0.9 が全て、rally 1s では 5.5。ターンオーバーは全 3 レジームで ≤3k flips/日 バジェット内。 - #2
mscale_consensus_3sigは sparse high-grade event signal。 Phase 2 の 3 独立シグナルが sign 一致したときのみ発火する gate。q90 で ~0 flips(quantile 閾が 0 になる)だが active-frac ~5-15%。発火時は HAC t = 9.5(rally 5s)。Phase 2 top-3 が既に実装されていれば新規 feature engineering ゼロ。 - #3
vwap_dev_1m_bpsはレジーム分類器を兼ねる。 セッション終端の符号: rally +0.60 bps、down -2.97 bps、chop 曖昧(符号反転)。sign(vwap_dev_30m_bps)は 6 時刻 × 3 日 = 18 time-regime のうち 10 一致 — n=3 で大きな結論は出せないが rally / down は clean separate。 - #4
signed_vpin_5mは本研究最小のターンオーバー(~124/日)。 300s horizon ρ = +0.036 rally / +0.078 down(study 内で最強)。chop は -0.054(反転) — chop 用ゲートが必要。
候補バッテリー(24 シグナル × 4 horizon × 3 レジーム)
A. 時間系シグナル
| Signal | Definition | rally 5s ρ | down 5s ρ | chop 5s ρ | Comment |
|---|---|---|---|---|---|
trade_rate_z_1s | n_1s の trailing 5 分 z-score | +0.018 | 0.000 | +0.003 | rally-only。Reject。 |
trade_rate_z_5s | n_5s の z-score | -0.014 | -0.001 | +0.008 | 符号反転。Reject。 |
silence_run_sec | n_1s == 0 連続サンプル × 0.5s | 0 | 0 | 0 | 2Hz では検出不能。Rust event-loop 拡張が必要。保留。 |
silence_after_burst_flag | 直近 10s で n_5s ≥ p80 かつ現在 ≤ p30? | 0.000 | +0.007 | -0.004 | 2Hz で active ~0.2%、inconclusive。 |
結論: 時間率系は rally 限定か符号反転。Silence 検出は高解像度イベントループ前提で deferred。
B. VWAP 逸脱
| Signal | Definition | rally 5s / 30s | down 5s / 30s | chop 5s / 30s | HAC |t| max | Turnover q90 |
|---|---|---|---|---|---|---|
vwap_dev_1m_bps | (mid − VWAP_1m) / mid × 1e4 | +0.035 / +0.031 | -0.001 / -0.023 | +0.022 / +0.034 | 3.29(rally 5s) | 2,194 avg |
vwap_dev_5m_bps | 5 分 VWAP 版 | +0.008 / -0.019 | +0.008 / -0.002 | +0.022 / +0.025 | 2.11(chop 5s) | 1,208 avg |
vwap_dev_30m_bps | 30 分 VWAP 版 | +0.006 / -0.001 | +0.004 / +0.001 | +0.007 / +0.005 | 1.45(rally 1s) | 471 avg |
結論: 1 分 VWAP 逸脱が最強。rally+chop では momentum(+)、down では reversion(−)。 regime-stable ではなく regime-dependent。別途レジーム分類器と組み合わせれば 3 レジーム対応可。候補 #3。
C. CVD(Cumulative Volume Delta)
| Signal | Definition | rally 5s / 30s | down 5s / 30s | chop 5s / 30s | Turnover q90 |
|---|---|---|---|---|---|
cvd_30s | sv_30s | +0.012 / -0.004 | +0.015 / -0.003 | +0.014 / -0.006 | 367 avg |
cvd_accel | sv_5s/5 − sv_30s/30 | +0.013 / +0.018 | +0.032 / -0.002 | +0.031 / +0.019 | 785 avg |
cvd_session_raw | 06:00 JST からの cumulative signed volume | -0.003 / -0.009 | +0.008 / +0.016 | +0.007 / +0.016 | 19 avg |
cvd_session_norm | cvd_session / (v_1800s + 1) | -0.004 / -0.011 | +0.002 / +0.006 | +0.009 / +0.021 | 25 avg |
結論: cvd_accel が候補 #1 — 5s で 3 レジーム全て正、30s で 2/3 正。cvd_30s は Phase 2 signed_vol_1s(baseline_flow_imbalance_pulse コア)の 30s 版で直交性不足。Session cumulative は rally で符号反転するため tradeable ではない。
D. マルチスケール複合
| Signal | Definition | rally 5s / 30s | down 5s / 30s | chop 5s / 30s | Turnover |
|---|---|---|---|---|---|
mscale_top1_x_sv30s | ob_imb_top1 × sign(sv_30s) | -0.011 / -0.011 | -0.011 / -0.009 | +0.003 / +0.013 | 10,171/日 q90 |
mscale_negdeep_x_sv30s | (−ob_imb_deep) × sign(sv_30s) | -0.011 / -0.001 | +0.008 / -0.001 | -0.004 / -0.017 | 9,870/日 q90 |
mscale_consensus_3sig | top1, −deep, sv_30s の sign 一致 = ±1 else 0 | +0.049 / +0.013 | +0.008 / +0.007 | +0.009 / +0.020 | sparse(q90 ≈ 0, q80 ≈ 14k) |
結論: 単純な「top-1 / deep × flow 符号」積は component より劣化。mscale_consensus_3sig が候補 #2 — 3 シグナル sign 一致のときだけ発火する gate。Active ~5-15%、発火時 HAC t = 9.5(rally 5s)。Phase 2 top-3 実装済みなら新規 feature コストはゼロ。
E. 注文フロー毒性(VPIN-lite)
| Signal | Definition | rally 5s / 30s / 300s | down 5s / 30s / 300s | chop 5s / 30s / 300s | Turnover q90 |
|---|---|---|---|---|---|
vpin_1m | ` | sv_60s | / v_60s` | +0.001 / +0.020 / -0.006 | +0.000 / -0.002 / -0.019 |
vpin_5m | ` | sv_300s | / v_300s` | +0.002 / +0.005 / -0.079 | -0.003 / -0.009 / -0.023 |
vpin_5m_z_1h | vpin_5m の 1h trailing z-score | +0.007 / +0.018 / -0.038 | +0.007 / +0.009 / +0.022 | -0.000 / +0.003 / -0.040 | 135 avg |
signed_vpin_5m | sv_300s / v_300s(符号付き、5 分 bucket) | +0.011 / +0.014 / +0.036 | +0.008 / +0.015 / +0.078 | +0.001 / -0.005 / -0.054 | 124 avg — 最小 |
signed_vpin_1m | sv_60s / v_60s | +0.004 / -0.016 / -0.002 | +0.013 / +0.016 / +0.045 | +0.014 / +0.020 / +0.019 | 386 avg |
結論:
- 符号無し VPIN は弱いか反転。
vpin_5mは chop 300s で -0.079(Phase 2 のbig_cluster_count_30sと同じ高毒性 ⇒ chop で reversion)だが他は 0 近傍。 signed_vpin_5mが候補 #4 — 300s horizon ρ = +0.036 rally, +0.078 down。chop 反転 -0.054 のため regime gate 必須。Study 内最小ターンオーバー(124 flips/日 avg)。- HAC t-stats は modest(|t| ≈ 1.6 at down 300s) — 300s window rolling の heavy autocorrelation による。2 ETH サイズでのダウンサイド制限付き検証を推奨。
F. ティック方向 run-length
| Signal | Definition | rally 5s / 30s | down 5s / 30s | chop 5s / 30s |
|---|---|---|---|---|
tick_run_length | merged-asof tick_sign の同符号連続 run | +0.000 / -0.006 | -0.003 / -0.012 | +0.008 / +0.021 |
結論: 符号反転。Reject。
G. レンジ / ボラティリティ・バースト
| Signal | Definition | rally 5s / 30s | down 5s / 30s | chop 5s / 30s |
|---|---|---|---|---|
rv_ratio_5s_over_30s | σ_log_5s / σ_log_30s(bps 比) | +0.009 / -0.008 | -0.007 / -0.001 | +0.003 / +0.010 |
range_5s_bps | (max − min)/mid × 1e4 over 5s | -0.044 / -0.053 | +0.001 / +0.007 | +0.020 / +0.004 |
結論: range_5s_bps は rally で negative(HAC |t| ≈ 3.0)、down/chop では 弱 or 反転。regime-dependent volatility-reversion signal — スタンドアロン不可、レジーム・ゲートの補助として deferred。
H. レジーム検出器 — ローリング AR(1)
| Signal | Definition | rally 5s / 30s / 300s | down 5s / 30s / 300s | chop 5s / 30s / 300s |
|---|---|---|---|---|
ar1_fwdret_5s_5m | fwd_ret_5s の 600 サンプル(~5 分)rolling AR(1) | +0.011 / +0.017 / +0.035 | -0.005 / -0.015 / -0.021 | -0.001 / -0.007 / -0.035 |
結論: 300s で符号レジーム・フリップ(rally +0.035 / chop -0.035)。レジーム分類器として有望だが日次平均は全レジーム ~0.87 で近接、利用は 偏差 のみ。追加研究後に使用。
Z. ファンディング・レート — 未利用可能
src/atc/strategies/experimental/funding_rate.py は funding_rate_close / funding_rate_1h を参照するが、これらを生成するデータ・インジェスト・パイプラインが存在しない(src/atc/data / src/atc/features 内の funding grep ゼロ)。GMO Coin 信用の 0.04%/日 保有コストは既にモデル化済み。GMO Coin perp のファンディング・レートは公開 feed なし。
テストには:
- 新規データソース・コネクタ(CoinGecko / Binance ETH-USD perp をプロキシとして使用)
- 新
funding_ratesテーブルへの historical backfill ジョブ
推定コスト: ~1 エンジニア日(ingest)+ 1 日(business-date-JST alignment)。シグナル品質は未知。Phase 4+ に deferred。
Top-4 詳細仕様
3.1 候補 #1: cvd_accel — フロー加速度
定義:
sv_5s_rate = Σ signed_size(last 5s) / 5 [ETH/s]
sv_30s_rate = Σ signed_size(last 30s) / 30 [ETH/s]
cvd_accel = sv_5s_rate − sv_30s_rate [ETH/s]
ρ at horizon × regime:
| Regime | 1s | 5s | 30s | 300s |
|---|---|---|---|---|
| rally(2026-03-16) | +0.065 | +0.013 | +0.018 | +0.018 |
| down(2026-03-18) | +0.019 | +0.032 | -0.002 | +0.005 |
| chop(2026-03-12) | +0.032 | +0.031 | +0.019 | -0.001 |
HAC |t|(truncation lag = 2×H samples): rally 1s = 5.47, chop 1s = 3.56, chop 5s = 2.38, down 5s = 1.38。
Phase 2 との新規性: signed_vol_1s(Phase 2)は rally 1s ρ = +0.12 と強いが baseline_flow_imbalance_pulse のコア。cvd_accel は slow-moving baseline を減算 — 30s 平均を超えて 加速する flow のみで発火。Phase 2 top-3 とゼロ・オーバーラップ。
Turnover @ q90(ETH/s 閾): 556 chop, 677 down, 1,121 rally。Avg 785/日 — 3k バジェット内、余裕あり。
Entry/exit rule(--min-order-interval-sec 30, --max-abs-position-eth 2 互換):
- 全 tick(orderbook or trade)で
cvd_accel計算 - 戦略レベルで trailing 24h
|cvd_accel|quantile を q90 閾とする(或いは静的 fallback 2.0 ETH/s) - Entry:
|cvd_accel| > q90_thr⇒ target =sign(cvd_accel) × 2 ETH - Exit:
|cvd_accel| < 0.5 × q90_thrOR entry から 30s 経過 ⇒ target = 0 - Risk guards:
spread_bps > 12→ skip,rv_30s > 12 bps/s→ skip - 30s min-interval で現実的 flips ~100-300/日、3k バジェット余裕
Feature engineering コスト: Low。trade_series が 31s 履歴保有済 → 5s/30s window sum 追加(~30 LoC、feature_engine.py / Rust 同等)。
Regime-classifier potential: Low(構造上日次平均 ~0)。
3.2 候補 #2: mscale_consensus_3sig — 3 シグナル一致ゲート
定義:
s1 = sign(ob_imb_top1)
s2 = sign(−ob_imb_deep_5to30) # Phase 2 候補 #2(反転)
s3 = sign(sv_30s) # 30s CVD
mscale_consensus_3sig = s1 if (s1 == s2 == s3 and s1 ≠ 0) else 0
∈ {−1, 0, +1}
ρ at horizon × regime:
| Regime | 1s | 5s | 30s | 300s |
|---|---|---|---|---|
| rally | +0.045 | +0.049 | +0.013 | +0.007 |
| down | +0.008 | +0.008 | +0.007 | +0.019 |
| chop | +0.016 | +0.009 | +0.020 | +0.006 |
HAC |t|: rally 5s = 9.48, rally 1s = 14.08, chop 1s = 4.83, down 1s = 2.31。
Phase 2 との新規性: Phase 2 3 本の sign 一致 gate — 連続 correlation を sparse event trigger に変換。Active ~5-15%。
Turnover: 非ゼロが全サンプルの ~10-14%(rally 24,800 events / 14.4%, down 16,436 / 9.6%, chop 17,157 / 10.1%)。方向別カウント: rally pos 8,838 / neg 15,962;down pos 4,604 / neg 11,832;chop pos 4,794 / neg 12,363。3 日全てで bearish agreement が bullish の 2-2.5 倍(pos/neg 比 0.39-0.55) — sign-inverted deep imbalance 成分に由来する構造的ベア・バイアス。quantile-based turnover は |sig| ∈ {0, 1} のため ill-defined;signal ≠ 0 をそのままトレーディング・ゲートに使う。30s min-order-interval で現実的なポジション変更 ~500-1,500/日。
Entry/exit rule:
- Entry:
mscale_consensus_3sig ≠ 0⇒ target =mscale_consensus_3sig × 2 ETH - Exit: 3 連続スナップショット(~1.5s)で
== 0OR 30s 経過 ⇒ target = 0 - Risk guard は #1 と同じ
- 閾値不要 — 三重合意そのものが閾値
- Caveat: 構造的ベア・バイアス。 全テスト日(+9.6% rally 含む)で short の方が 2-2.5× 多い。ミティゲーション: (a) +1 / −1 で別閾値 or (b) short エントリに
sign(vwap_dev_1m_bps) == signal等の追加確認。
Feature engineering コスト: Phase 2 top-3 実装済ならゼロ。4 行の derived signal。
Regime-classifier potential: Medium。rally 日は bullish agreement 2-4× 多い、down 日は逆 — 最初の 4 時間の count(+)/count(−) 比でレジーム分類可能性、10+ 日で検証要。
3.3 候補 #3: vwap_dev_1m_bps — 古典 momentum/reversion
定義:
VWAP_1m(t) = Σ (price_i × size_i) / Σ size_i over trades in last 60s
vwap_dev_1m_bps(t) = (mid(t) − VWAP_1m(t)) / mid(t) × 1e4
ρ at horizon × regime:
| Regime | 1s | 5s | 30s | 300s |
|---|---|---|---|---|
| rally | +0.020 | +0.035 | +0.031 | -0.012 |
| down | -0.009 | -0.001 | -0.023 | +0.033 |
| chop | +0.005 | +0.022 | +0.034 | +0.023 |
HAC |t|: rally 5s = 3.29, chop 5s = 2.46, down 30s = -1.08。rally+chop は momentum(+)、down は reversion(30s で −)。
Phase 2 との新規性: 完全新規 — Phase 2 のどのシグナルも trade-weighted average price を使っていない。VWAP は古典 TA、institutional execution algo のコア要素。
Turnover @ q90(閾 ~2-3 bps): 2,107 chop, 2,378 down, 2,098 rally。≤3k バジェットの上端、許容範囲。
Entry/exit rule(regime-aware):
- 別途
regime_flag算出(§4 参照)。選択肢:sign(vwap_dev_30m_bps at 10:00 JST)orsign(ar1_fwdret_5s_5m − 0.85)。 - Entry:
regime_flag == +1(rally) ANDvwap_dev_1m_bps > q90→ target = +2 ETHregime_flag == +1ANDvwap_dev_1m_bps < −q90→ target = −2 ETHregime_flag == −1(down) ANDvwap_dev_1m_bps > q90→ target = −2 ETH(reversion!)regime_flag == −1ANDvwap_dev_1m_bps < −q90→ target = +2 ETH(reversion!)regime_flag == 0(chop) → rally と同様(chop 日も momentum が効いた)
- Exit:
|vwap_dev_1m_bps| < q50OR 30s 経過
Feature engineering コスト: Medium。trade_series 履歴を 31s → 60s に拡張、rolling weighted-mean state 追加(~40 LoC、Rust 同等)。
Regime-classifier potential: HIGH。 End-of-session vwap_dev_30m_bps: rally +0.60, down -2.97, chop 曖昧反転。10:00 JST vwap_dev_30m 評価の intraday classifier は 10/18 time-regime 一致 — n=3 では弱いが rally/down は clean 分離。10+ 日で検証要。
3.4 候補 #4: signed_vpin_5m — 5 分符号付きフロー毒性
定義:
v_300s = Σ size over last 300s
sv_300s = Σ signed_size over last 300s
signed_vpin_5m = sv_300s / v_300s ∈ [−1, +1]
ρ at horizon × regime:
| Regime | 1s | 5s | 30s | 300s |
|---|---|---|---|---|
| rally | +0.012 | +0.011 | +0.014 | +0.036 |
| down | +0.007 | +0.008 | +0.015 | +0.078 |
| chop | +0.003 | +0.001 | -0.005 | -0.054 |
HAC |t|: down 300s = 1.60, rally 1s = 3.02, chop 300s = -1.48。
Phase 2 との新規性: Phase 2 signed_vol_1s は 1s(瞬間)ピーク。signed_vpin_5m は 5 分 bucket で sustained directional flow を捉える。300s ρ は 5s の 4-7 倍。
Turnover @ q90(閾 ~0.20-0.25): 97 chop, 140 rally, 136 down。Study 内最小。 30s min-interval 下で実効 <100 flips/日。
Entry/exit rule:
- 全イベントで計算
- Entry:
|signed_vpin_5m| > q90(~0.25)⇒ target =sign(signed_vpin_5m) × 2 ETH - Exit:
|signed_vpin_5m| < q50OR 300s 経過(シグナル horizon に整合) - chop 用 regime gate 必須: 直近 15 分で
sign(vwap_dev_30m_bps)が flip していれば skip(chop proxy)
Feature engineering コスト: Medium-high。trade_series 31s → 300s 拡張、メモリ ~10 倍。Rust: trivial、pure Python: 2Hz なら OK、~50 LoC。
Regime-classifier potential: Low-medium。セッション終値: rally -0.09, down 0.0, chop -0.72 — VWAP-dev ほど clean でない。推奨外。
Phase 3b レジーム分類器ノート
レジーム分類可能性のある候補 3 つ:
| Classifier | End-of-session 値 | Rally +9.6% | Down -5.5% | Chop -0.1% | Agreement |
|---|---|---|---|---|---|
sign(vwap_dev_30m_bps) | last row | +1 | -1 | mixed | rally/down 分離 |
sign(ar1_fwdret_5s_5m) | last row | +1 | +1 | +1 | 識別不可(all +) |
sign(cvd_session_norm) | last row | -1 | +1 | +1 | regime と逆相関 — 使えない |
vwap_dev_30m_bps が最 clean。Intraday trace(6 時刻 × 3 日):
- Rally 08:00-18:00: sign = +1 consistent、22:00 にのみ -1 に flip
- Down 08:00-22:00: 主に -1 か弱い oscillation、遅時間帯で -1 consolidate
- Chop: flip-flop(early -1、late chop 定着で +1)
Phase 3b メタ戦略設計:
vwap_dev_30m_bpsを継続計算- N 分チェックポイント(N ∈ 120)で
sign(rolling mean over last 30 min)を評価(minute-level ノイズ平滑化) - 決定木:
- 直近 30 分 +1 安定: rally regime →
vwap_dev_1m_bps+cvd_accelを momentum として load、long bias - 直近 30 分 -1 安定: down regime →
cvd_accelのみ(両サイド long)、vwap_dev_1m_bpsを極性反転 - sign 不安定(30 分 >3 flip): chop regime →
mscale_consensus_3sigのみ(high-conviction gate)
- 直近 30 分 +1 安定: rally regime →
min_order_interval_sec = 30,max_abs_position_eth = 2
ランキング・サマリ(全 22 シグナル — viable 候補のみ)
Composite axis: sign 安定性 @ 30s (×10) + |ρ| @ 5s avg (×100) − turnover_q90_avg / 2000。
| Rank | Signal | Class | Stability | ρ 5s abs avg | ρ 30s abs avg | Turnover q90 avg | Pick |
|---|---|---|---|---|---|---|---|
| 1 | mscale_consensus_3sig | multi-scale gate | +,+,+(全 3) | 0.022 | 0.013 | 0(sparse) | YES #2 |
| 2 | cvd_30s | CVD 30s | −,−,−(全 3) | 0.013 | 0.004 | 367 | decline(signed_vol_1s と重複) |
| 3 | vpin_5m_z_1h | VPIN z-score | +,+,+(全 3, 300s) | 0.005 | 0.010 | 135 | decline(5s/30s 弱) |
| 4 | trade_rate_z_1s | time rate | +,−,+ at 5s | 0.007 | 0.005 | 1,355 | decline(rally-only) |
| 5 | cvd_accel | CVD accel | +,+,+ at 5s; 2/3 at 30s | 0.025 | 0.013 | 785 | YES #1 |
| 6 | vwap_dev_1m_bps | VWAP dev | +,−,+(regime-dep) | 0.019 | 0.029 | 2,194 | YES #3 |
| 7 | signed_vpin_5m | flow toxicity | +,+,− at 300s | 0.007 | 0.011 | 124 | YES #4 |
| 8 | ar1_fwdret_5s_5m | regime detector | +,−,− at 300s | 0.006 | 0.013 | 397 | classifier のみ |
| 9 | signed_vpin_1m | VPIN signed 1m | +,+,+ at 5s | 0.011 | 0.017 | 386 | monitor(vpin_5m 類似 / ノイズ多) |
| 10 | range_5s_bps | vol burst | −,+,+ at 5s | 0.022 | 0.021 | 4,721 | decline(regime-dep, 高ターンオーバー) |
Phase 3b 実装プライオリティ
Must-build(Phase 3b.1)
cvd_accel(候補 #1) — clean regime-stable 5s alpha、低ターンオーバー、低実装コスト。mscale_consensus_3sig(候補 #2) — Phase 2 top-3 実装済なら新規 feature ゼロ。Gating 戦略として実装。
Should-build(Phase 3b.2)
vwap_dev_1m_bps(候補 #3) — 古典指標、レジーム分類器の building block にもなる。候補 #4 と自然にペア。signed_vpin_5m(候補 #4) — 超低ターンオーバーの slow signal、#1/#2 の高速シグナルを補完。chop regime gate 要。
Supporting infrastructure(Phase 3b.3)
feature_engine.py_pruneを 300s+ に拡張(VWAP / VPIN 用)- rolling VWAP state(
price×sizeとsizeの prefix-sum)追加 — 定数時間更新 vwap_dev_30m_bpsをレジーム分類器として first-class feature 化ar1_fwdret_5s_5mを連続 chop detector として公開(secondary regime input)
Nice-to-have(Phase 4)
- Funding rate ingestion(新データソース、~1-2 エンジニア日)
- Rust event-loop 拡張による高頻度 silence / inter-arrival detector(2Hz の Python では粒度不足)
- Live signal への rolling HAC-corrected p-values(Rust preferred)
Caveats
- n=3 サンプル日 — Phase 2 と同一の注意。HAC t-stats は日内定常性を仮定、cross-day variance は未制御。
- Signal-theoretic P&L は実 P&L ではない。 Limit-only fill は tape 復帰時のみクロス。Phase 1.5-v2 の経験則で実現率 10-30%。
vwap_dev_1m_bpsregime dependence で atypical day の誤判定は符号反転。10 ETH 投入前に 10+ 日の walk-forward 必須。mscale_consensus_3sigは Phase 2 の spoofing 脆弱性を継承。 3 シグナル同時操作可能性 — Phase 2 §6.1 のdepth_bid_30 / depth_bid_5 > 1.5等 minimum-depth sanity 推奨。signed_vpin_5m300s horizon で保有時間 5 分、逆選択リスクは 30s 級の 5-10 倍。≥10 日検証まで 0.5 ETH cap を推奨。- Selection bias: 24 シグナル検証、Bonferroni α=0.05 で |t| > 3.3 要。survivors は
mscale_consensus_3sig(t=9.48)とcvd_accel(t=5.47)のみ。他は marginal — 小サイズ検証(2 ETH cap)前提で directionally 情報価値あり。
アーティファクト
CSVs in /tmp/phase2b_analysis/out/:
alt_signal_rho.csv— 全 (signal × horizon × day × ρ × n × t) テーブルalt_signal_hac.csv— HAC t-stat 付きalt_signal_pivot.csv— wide (signal × regime × horizon) ρ pivotalt_signal_turnover.csv/alt_signal_turnover_pivot.csv— q90/q80 turnovertop_candidates_deep_dive.csv— q75/q80/q85/q90/q95 スレッショルド sweep + hit rate + bps P&Lregime_classifier.csv— 日次 mean/end signal × daily return signregime_classifier_trace.csv— 6 JST 時刻 × 3 日 × 4 classifier signalsfinal_ranking.csv— composite ranking
Scripts in /tmp/phase2b_analysis/:
alt_signals.py— candidate battery + HAC t-statsdeep_dive_top.py— top 7 candidates deep-diveregime_classifier_test.py— intraday classifier evaluationfinal_ranking.py— composite ranking
関連ページ
- Phase 2 — Alpha Signal Candidates — 本 2b が extends する orderbook imbalance / big-trade follow 系 top-3 候補
- Phase 1.5-v2 — Leaderboard — Phase 2 top-3 を 10 ETH スケールした際に -¥5M〜-¥12M を出した結果(本分析の動機)
- Phase 1.5-v2 — MM Adverse Selection — zero-fee MM 戦略が逆選択で -¥22.6M を出した診断
- Source report — 24 シグナル × 4 horizon × 3 日 × HAC / turnover / deep-dive の全量