Skip to content

Phase 2: Forensic evaluator, Beneish, STA/SNOA/COMBOACCRUAL #89

Description

@JLaborda

Parent

#85

PRD: spec/prds/phase2/prd.md · Spec: spec/features/008-permanent-loss-filter/spec.md

Spec

spec/features/008-permanent-loss-filter/spec.md

Scope (expanded)

Implement the forensic evaluator as a hard-exclusion module before QV scoring:

  1. Distress / bankruptcy hard rules (BK_*): Altman Z, interest coverage, net debt/EBITDA, negative equity, delisted
  2. Beneish M-Score (PROBM in Quantitative Value Ch. 3) with bottom-5% cross-sectional gate (FRD_BENEISH_BOTTOM_PCT)
  3. STA (scaled total accruals) and SNOA (scaled net operating assets) with COMBOACCRUAL bottom-5% gate (FRD_COMBOACCRUAL_BOTTOM_PCT) — pulled forward from phase 2b per product decision (July 2026)
  4. EDGAR confirmed-fraud rules coded as unavailable until SEC ETL is wired
  5. Output curated/permanent_loss/run_date=.../exclusions.parquet + review queue
  6. CI regression: Enron, Lehman, WorldCom excluded at documented distress dates

Still phase 2b: PFD distress logit, EDGAR fraud wiring, ML fusion.

Acceptance criteria

  • Beneish M-Score from multi-period PIT inputs (beneish_v1)
  • STA and SNOA from PIT fundamentals (accrual_v1)
  • COMBOACCRUAL bottom-5% gate per QVAL process
  • Beneish bottom-5% gate per QVAL process
  • Exclusions parquet schema matches permanent-loss spec
  • CI fails if Enron, Lehman, or WorldCom stop being flagged on fixture dates
  • Spec + CONTEXT.md updated; phase 2b backlog trimmed (PFD next)
  • MLflow exclusion counts per rule (deferred to Phase 2: QV funnel orchestrator and production scoring #91)

PRs

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    phase-2Deferred past June 30 demo slice (ADR-0002)ready-for-agentAFK agent can pick up

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions