← all signals

fcf_turn_positive

inflection   default: long

Definition

Fires on the fiscal year a company first generates positive operating cash flow after a stretch of negative or zero. Inflection from cash-burning to self-funding.

Trigger logic

Current fy operating cash flow > 0 AND any of the prior 2 fy <= 0. From facts.parquet OperatingCashFlow tag.

Source: signals/build_signals.py:122

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,430 +0.08% -0.29% +47.28% -0.04 33
5d 2,430 +2.37% +1.72% +47.20% +0.02 33
20d 2,411 +2.47% +1.81% +46.95% +0.02 32
60d 2,273 +4.84% +4.48% +48.26% +0.06 33
252d 2,226 +19.57% +19.70% +53.05% +0.16 33

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

SIC divisionnMean 20dHit rater/σ
Wholesale + Retail Trade 217 +6.03% +46.08% +0.12
Services (health + legal + edu) 82 +1.63% +50.00% +0.08
Transportation, Communications, Utilities 208 +18.13% +54.33% +0.07
Services (business + personal) 348 -1.50% +43.39% -0.07
Manufacturing (light) 400 +3.43% +48.00% +0.06
Mining + Construction 192 +1.21% +53.65% +0.05
Manufacturing (heavy) 645 -0.42% +45.89% -0.02
Finance, Insurance, Real Estate 319 -0.19% +42.63% -0.01

Recent triggers

Caveats

Citations


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