← all signals

profit_to_loss

stress   default: short

Definition

Fires when a previously-profitable company swings to net loss in the current fiscal year. Often early warning of structural problems.

Trigger logic

Prior fy NetIncomeLoss > 0 AND current fy NetIncomeLoss < 0. From facts.parquet.

Source: signals/build_signals.py:191

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 3,667 -0.22% -0.13% +42.21% -0.02 35
5d 3,667 +0.28% -0.21% +43.50% -0.01 36
20d 3,616 +0.23% +0.79% +44.16% +0.04 40
60d 3,386 +4.37% -3.72% +49.00% -0.06 51
252d 3,297 +20.41% -17.43% +51.05% -0.13 102

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

SIC divisionnMean 20dHit rater/σ
Mining + Construction 314 +2.78% +52.87% +0.10
Services (health + legal + edu) 137 +14.49% +42.34% +0.10
Manufacturing (light) 555 -1.96% +38.38% -0.08
Manufacturing (heavy) 812 -1.12% +44.33% -0.05
Wholesale + Retail Trade 247 +1.11% +38.87% +0.02
Finance, Insurance, Real Estate 773 -0.46% +44.89% -0.02
Services (business + personal) 503 +0.49% +44.14% +0.01
Transportation, Communications, Utilities 245 -0.29% +50.61% -0.01

Recent triggers

Caveats

Citations


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