← all signals

zombie_alert

stress   default: long

Definition

Fires on companies with persistent negative free cash flow but still operating — 'walking dead' candidates. Useful as oversold-bounce flag.

Trigger logic

FCF < 0 in each of the last 3 fy AND total debt growing. From facts.parquet.

Source: signals/build_signals.py:258

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 1,085 +13881.81% -0.60% +45.90% -0.10 28
5d 1,079 +13913.06% -0.46% +46.71% -0.04 28
20d 1,068 -0.28% -0.67% +46.54% -0.03 28
60d 991 +3.27% +2.98% +49.65% +0.07 28
252d 970 +17.15% +17.86% +53.51% +0.22 28

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

SIC divisionnMean 20dHit rater/σ
Finance, Insurance, Real Estate 146 -3.41% +48.63% -0.22
Mining + Construction 49 +4.02% +57.14% +0.19
Manufacturing (light) 140 -2.79% +41.43% -0.19
Manufacturing (heavy) 227 +2.17% +49.34% +0.09
Wholesale + Retail Trade 91 +1.31% +43.96% +0.07
Services (health + legal + edu) 45 -0.84% +48.89% -0.05
Services (business + personal) 160 -0.53% +46.25% -0.03
Transportation, Communications, Utilities 210 -0.44% +43.81% -0.02

Recent triggers

Caveats

Citations


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