Consolidate metric definitions with Rust JSON as single source of truth
- Add core.computed.json with 32 ratio definitions (filing + market derived) - Add Rust types for ComputedDefinition and ComputationSpec - Create generate-taxonomy.ts to generate TypeScript from Rust JSON - Generate lib/generated/ (gitignored) with surfaces, computed, kpis - Update financial-metrics.ts to use generated definitions - Add build-time generation via 'bun run generate' - Add taxonomy architecture documentation Two-phase ratio computation: - Filing-derived: margins, returns, per-share, growth (Rust computes) - Market-derived: valuation ratios (TypeScript computes with price data) All 32 ratios defined in core.computed.json: - Margins: gross, operating, ebitda, net, fcf - Returns: roa, roe, roic, roce - Financial health: debt_to_equity, net_debt_to_ebitda, cash_to_debt, current_ratio - Per-share: revenue, fcf, book_value - Growth: yoy metrics + 3y/5y cagr - Valuation: market_cap, ev, p/e, p/fcf, p/b, ev/sales, ev/ebitda, ev/fcf
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -13,6 +13,7 @@ build/
|
||||
dist/
|
||||
.next/
|
||||
out/
|
||||
lib/generated/
|
||||
|
||||
# Environment
|
||||
.env
|
||||
@@ -37,6 +38,9 @@ out/
|
||||
*.db
|
||||
*.sqlite
|
||||
|
||||
# Generated code
|
||||
lib/generated/
|
||||
|
||||
# Local app runtime state
|
||||
data/*.json
|
||||
data/*.sqlite
|
||||
|
||||
Reference in New Issue
Block a user