← all signals

accruals_quality_low

forensic   default: short

Definition

Fires when total accruals exceed 10% of total assets while net income is positive. Captures 'earnings of low cash quality' (Sloan accruals).

Trigger logic

(NetIncomeLoss - OperatingCashFlow) / TotalAssets > 0.10  AND  NetIncomeLoss > 0.

Source: signals/build_signals.py:457

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 858 -0.20% -0.29% +45.45% -0.04 33
5d 857 +1.15% -0.47% +46.67% -0.04 34
20d 848 +0.26% +0.13% +46.93% +0.01 38
60d 798 +9.36% -9.54% +45.49% -0.05 49
252d 774 +22.52% -22.54% +48.71% -0.11 99

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

SIC divisionnMean 20dHit rater/σ
Wholesale + Retail Trade 73 +17.62% +53.42% +0.27
Transportation, Communications, Utilities 40 -4.01% +40.00% -0.18
Manufacturing (light) 171 -2.38% +45.03% -0.16
Mining + Construction 80 +3.47% +55.00% +0.14
Manufacturing (heavy) 223 -2.30% +42.60% -0.12
Finance, Insurance, Real Estate 135 -1.58% +48.15% -0.10
Services (business + personal) 102 -1.23% +49.02% -0.06

Recent triggers

Caveats

Citations


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