code wiki / (root) / nx_fin_mgmt_grade.nx

nx_fin_mgmt_grade.nx source

↩ module page · 55 lines · 3717 B

1// nx_fin_mgmt_grade.nx -- R-MKT5 of the MARKETS-INVESTING arc: GRADE THE PEOPLE running a company (operator: 2// "understanding the people who are running companies and if they are good or bad like evaluating a team like 3// betting people do"). A handicapper's scorecard for management STEWARDSHIP -- 8 binary governance/capital- 4// allocation tests, each a real signal you can pull from EDGAR (Form 4 insider trades, the 10-K's ROCE, the 5// DEF 14A proxy's pay + board independence + say-on-pay vote). Grounded in the Nishi researcher's fetched 6// knowledge/fetched/fin_mgmt_*.raw (corporate-governance / agency-cost / ROCE / exec-comp / insider / say-on-pay) 7// + fin_val_* (ROIC vs WACC = value creation). Score 0..8 -> letter grade A..F. EXACT integer (counts + 8// threshold compares, no floats). Thresholds are DATA (#11): edit the constants, not the logic. Like the 9// Z-score, it takes the SIGNALS as inputs -- real per-company data arrives at R-MKT6 (EDGAR/proxy parse). 10// Pure function, no store, no hardware writes. license_tier: ORIGINAL 11import "nx_syscalls.nx" 12 13// letter grades (high = better stewards) 14const MG_F: i64 = 0 15const MG_D: i64 = 1 16const MG_C: i64 = 2 17const MG_B: i64 = 3 18const MG_A: i64 = 4 19 20// DATA thresholds (the handicapper's bar; tune here, no recompile of logic) 21const MG_ROCE_GOOD: i64 = 15 // return on capital employed % that signals real capital efficiency 22const MG_PAY_MAX: i64 = 200 // CEO-to-median-worker pay ratio above which comp is "excessive" 23const MG_INDEP_MIN: i64 = 50 // % of board that must be independent (majority) 24const MG_SAYPAY_MIN: i64 = 50 // % shareholder say-on-pay approval 25const MG_SPREAD_MIN: i64 = 5 // ROIC-minus-WACC spread (pp) signalling disciplined reinvestment 26 27// 8-test stewardship score 0..8 from the governance signals. 28// insider_net : net insider $ (Form 4): >0 = insiders BUYING their own stock (confidence) 29// roce_pct : return on capital employed, whole % 30// roic_pct/wacc_pct: value creation -- ROIC above the cost of capital = the company earns its keep 31// ceo_pay_ratio : CEO pay / median worker pay 32// board_indep_pct : % independent directors 33// sayonpay_pct : % FOR the say-on-pay vote 34// restatements : count of recent financial restatements / fraud flags (0 = clean) 35func mg_score(insider_net: i64, roce_pct: i64, roic_pct: i64, wacc_pct: i64, ceo_pay_ratio: i64, board_indep_pct: i64, sayonpay_pct: i64, restatements: i64) -> i64 { 36 var s: i64 = 0 37 if insider_net > 0 { s = s + 1 } // T1 insiders net BUYING 38 if roce_pct >= MG_ROCE_GOOD { s = s + 1 } // T2 strong capital efficiency 39 if roic_pct > wacc_pct { s = s + 1 } // T3 creates economic value (ROIC > cost of capital) 40 if ceo_pay_ratio <= MG_PAY_MAX { s = s + 1 } // T4 pay not excessive 41 if board_indep_pct >= MG_INDEP_MIN { s = s + 1 } // T5 majority-independent board 42 if sayonpay_pct >= MG_SAYPAY_MIN { s = s + 1 } // T6 shareholders approve pay 43 if restatements == 0 { s = s + 1 } // T7 clean financials (no restatements/fraud) 44 if (roic_pct - wacc_pct) >= MG_SPREAD_MIN { s = s + 1 } // T8 disciplined reinvestment (real spread, not empire-building) 45 return s 46} 47 48// letter grade from a 0..8 stewardship score. 49func mg_grade(score: i64) -> i64 { 50 if score >= 7 { return MG_A } // A: excellent stewards 51 if score >= 5 { return MG_B } // B: good 52 if score >= 3 { return MG_C } // C: mixed 53 if score >= 1 { return MG_D } // D: poor 54 return MG_F // F: value-destroyers / red flags 55}