Factor Research · 跨截面因子组合
Factor Portfolio
A long-only top-decile basket built from a 34-factor composite score, rebalanced monthly. Today's catalog is BULL, selected by the daily regime classifier.
As of 2026-08-14. Forward record since 2026-06-18 · 2 baskets (1 active, 1 closed).
🌡️ Regime — BULL
Label
BULL
Score
+0.82
Catalog
BULL
Factors
34
Direction flips
0
BULL (score=0.82) | bullish: price_vs_ma+ma_slope+breadth+fear
📈 Forward record
Strategy
-13.3%
SPY benchmark
+4.2%
Alpha
-17.5%
Baskets
2
Rolling-IC strategy ●
-13.0%
Rolling-IC alpha
-17.3%
Rolling-IC baskets
2
📌 Current basket 25 holdings from 251 universe · rebalance 2026-07-20
| # | Symbol | Weight | Composite z | Period return |
|---|---|---|---|---|
| 1 | UVIX | 4.0% | +0.94 | -22.8% |
| 2 | BK | 4.0% | +0.71 | +0.0% |
| 3 | TRV | 4.0% | +0.61 | +0.4% |
| 4 | MAR | 4.0% | +0.58 | -3.9% |
| 5 | STX | 4.0% | +0.57 | +14.8% |
| 6 | PYPL | 4.0% | +0.53 | +6.6% |
| 7 | PANW | 4.0% | +0.53 | +13.6% |
| 8 | PAYX | 4.0% | +0.52 | +8.9% |
| 9 | EA | 4.0% | +0.48 | +0.2% |
| 10 | CVS | 4.0% | +0.47 | -11.7% |
| 11 | CCEP | 4.0% | +0.46 | +1.3% |
| 12 | FTNT | 4.0% | +0.46 | +3.2% |
| 13 | ORLY | 4.0% | +0.45 | +9.5% |
| 14 | ABBV | 4.0% | +0.45 | -1.0% |
| 15 | AAPL | 4.0% | +0.44 | -6.5% |
| 16 | ADP | 4.0% | +0.44 | +8.2% |
| 17 | SPG | 4.0% | +0.43 | -2.9% |
| 18 | DDOG | 4.0% | +0.42 | -4.2% |
| 19 | FDX | 4.0% | +0.41 | +10.8% |
| 20 | V | 4.0% | +0.41 | +1.4% |
| 21 | UNP | 4.0% | +0.40 | +0.5% |
| 22 | DIS | 4.0% | +0.38 | +8.7% |
| 23 | PM | 4.0% | +0.38 | -2.0% |
| 24 | KHC | 4.0% | +0.37 | -1.9% |
| 25 | CSX | 4.0% | +0.37 | +0.1% |
🔬 Information Coefficient — top factors cross-sectional Spearman, 21-day forward · 20 rebalances
| Rank | Factor | Family | mean IC | IR | Win % | Useful |
|---|---|---|---|---|---|---|
| 1 | bollinger_b_20d | reversal | +0.052 | +0.25 | 50% | — |
| 2 | beta_60d | risk | +0.068 | +0.21 | 60% | — |
| 3 | mean_revert_20d | reversal | +0.043 | +0.18 | 55% | — |
| 4 | rsi_14 | reversal | +0.033 | +0.15 | 50% | — |
| 5 | close_to_high_60d | momentum | +0.029 | +0.14 | 65% | — |
| 6 | momentum_1m | momentum | +0.027 | +0.12 | 60% | — |
| 7 | rs_1m_vs_spy | momentum | +0.027 | +0.12 | 60% | — |
| 8 | downside_vol_60d | risk | +0.033 | +0.12 | 55% | — |
| 9 | drawdown_3m | momentum | +0.029 | +0.11 | 55% | — |
| 10 | volatility_60d | risk | +0.034 | +0.11 | 60% | — |
⚠️ Worst 5 by IR (drop candidates or direction-flip targets)
| amihud_illiq_60d | liquidity | mean IC -0.030 | IR -0.21 | win 50% |
| momentum_6m | momentum | mean IC -0.007 | IR -0.04 | win 41% |
| sharpe_60d | momentum | mean IC -0.007 | IR -0.03 | win 60% |
| volume_momentum_60d | liquidity | mean IC -0.002 | IR -0.01 | win 45% |
| mean_revert_60d | reversal | mean IC +0.014 | IR +0.06 | win 65% |
Honest caveats
- Universe = today's SP500 — survivorship-biased; delisted losers excluded.
- IC sample is 20 monthly rebalances over ≈ 2 years — minimal statistical edge.
- Catalog is regime-tuned: BULL today (different weights kick in if regime flips).
- Forward record is real prices, equal-weight, no costs or slippage modelled.
- Rolling-IC track (G8) is an additive forward experiment — weights = each factor's trailing realized IC (no look-ahead, ≤ today's history only). The fixed-weight composite stays the production default; both NAVs accrue side-by-side pending forward evidence. IC history caliber (G8O): honest next-open — each IC is measured enter open[t+1] → exit open[t+1+H], not the legacy close[t]→close[t+H]. P1b found the two calibers near-isomorphic (composite rank corr ≈0.95); the pre-switch stretch is a retroactive recompute from the point-in-time panel pile (no look-ahead), not a live day-by-day accumulation.