← all signals

capex_spike

stress   default: short

Definition

Fires on >50% YoY capex increase. Captures aggressive reinvestment phases — often precedes value destruction in mature industries.

Trigger logic

current_fy_capex / prior_fy_capex > 1.50 AND prior_fy_capex > 0. From facts.parquet PaymentsToAcquirePropertyPlantAndEquipment.

Source: signals/build_signals.py:315

Calibration — gross stock return vs net of execution costs

Cost model: 5 bps half-spread each side, 10 × √($1M / 30d ADV) impact each side, ADV-tiered borrow (≥$50M ADV → 10 bps annual; ≥$5M → 30; <$5M → 100), scaled by holding_days/252 if short.

Horizonn eventsGross stock retNet PnL Hit rater/σ netAvg cost (bps)
1d 2,295 +0.01% -0.06% +43.27% -0.01 32
5d 2,292 -0.85% +0.74% +41.88% +0.06 33
20d 2,258 -1.91% +2.05% +41.67% +0.10 36
60d 2,127 +0.65% -0.78% +44.01% -0.02 47
252d 2,092 +14.03% -14.91% +44.93% -0.09 97

Sector breakdown (top 8 by |r/σ| at 20d)

SIC divisionnMean 20dHit rater/σ
Services (business + personal) 256 -3.83% +39.45% -0.23
Services (health + legal + edu) 94 -4.20% +39.36% -0.19
Finance, Insurance, Real Estate 183 -2.77% +41.53% -0.16
Manufacturing (heavy) 612 -2.47% +40.52% -0.11
Transportation, Communications, Utilities 217 -2.05% +42.40% -0.11
Wholesale + Retail Trade 97 +2.54% +47.42% +0.10
Mining + Construction 129 +1.84% +48.84% +0.08
Manufacturing (light) 668 -1.39% +41.62% -0.06

Recent triggers

Caveats

Citations


Live data → /api/methodology/signal/capex_spike  ·  MCP → pyflo_signal_methodology(signal="capex_spike")