nx_fin_microcap.nx
buildroot/runtime/nx_fin_microcap.nx
about
nx_fin_microcap.nx -- the 1000-MICROCAP FUNNEL: screen a universe of small names down to the few worth
trading, by COMPOSING the analysis brain we already have -- mg_grade (nx_fin_mgmt_grade: are the PEOPLE good
stewards?), an Altman-Z distress floor (is it a real business, not about to fail?), a liquidity floor + the
md_capacity scaling wall (can I actually trade it at my size?), a market-cap band (is it truly a microcap?),
and a price floor (avoid sub-$1 delisting/penny junk). Every threshold is DATA (Cardinal 11), passed in.
mc_screen returns 0=PASS or the gate number that rejected (diagnosable, like the fetch error codes). mc_score
ranks the survivors. Pure, i64. This is where "1000 microcaps" becomes "the handful with an edge + a real
business + tradeable liquidity". license_tier: ORIGINAL
dependencies 3 imports · 1 importers
imports: nx_syscalls.nxnx_fin_marketdata.nxnx_fin_mgmt_grade.nx
imported by: nx_fin_microcap_gate.nx
structs
| none |
consts
| 13 | const MC_PASS: i64 = 0 |
| 14 | const MC_REJ_CAPBAND: i64 = 1 // outside the microcap market-cap band |
| 15 | const MC_REJ_LIQUIDITY: i64 = 2 // ADV below the liquidity floor |
| 16 | const MC_REJ_PRICE: i64 = 3 // price below the floor (penny/delisting risk) |
| 17 | const MC_REJ_DISTRESS: i64 = 4 // Altman-Z below the safe zone (bankruptcy risk) |
| 18 | const MC_REJ_STEWARD: i64 = 5 // management grade below the bar |
| 19 | const MC_REJ_CAPACITY: i64 = 6 // target position won't fit within participation% of ADV |
functions
| 24 | func mc_screen(cap_musd: i64, adv_cents: i64, price_cents: i64, z_x100: i64, mgmt_score: i64, target_pos_cents: i64, |
| 39 | func mc_score(z_x100: i64, mgmt_score: i64, has_catalyst: i64, w_mgmt: i64, w_catalyst: i64) -> i64 called by 1: main |