Files
cross-chain-pmm-lps/config/scorecard-schema.json
2026-04-27 11:26:55 -07:00

205 lines
5.5 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "SimulationScorecard",
"description": "Output contract for sim runs. See docs/12-sim-scorecard.md.",
"type": "object",
"required": [
"scenario",
"capture_mean",
"churn_mean",
"intervention_cost_total",
"peak_deviation_bps"
],
"properties": {
"scenario": {
"type": "string"
},
"runId": {
"type": "string"
},
"capture_mean": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"capture_p95": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"churn_mean": {
"type": "number",
"minimum": 0
},
"churn_p95": {
"type": "number",
"minimum": 0
},
"churn_max": {
"type": "number",
"minimum": 0
},
"intervention_cost_total": {
"type": "number",
"minimum": 0
},
"intervention_cost_per_1M_volume": {
"type": "number",
"minimum": 0
},
"peak_deviation_bps": {
"type": "number"
},
"reflexive_route_count": {
"type": "integer",
"minimum": 0
},
"drain_half_life_epochs": {
"type": "object",
"description": "Per (token, chain): epochs until PMM inventory halves under routing pressure",
"additionalProperties": {
"type": "number",
"minimum": 0
}
},
"path_concentration_index": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "HHI on path shares; high = flow concentrated, low = diversified"
},
"arb_volume_total": {
"type": "number",
"minimum": 0,
"description": "Total volume traded by arb step"
},
"arb_profit_total": {
"type": "number",
"description": "Total approximate arb profit after fees/gas"
},
"peak_deviation_bps_pre_arb": {
"type": "number",
"minimum": 0,
"description": "Max pool deviation before arb"
},
"peak_deviation_bps_post_arb": {
"type": "number",
"minimum": 0,
"description": "Max pool deviation after arb"
},
"peak_deviation_bps_post_bot": {
"type": "number",
"minimum": 0,
"description": "Max pool deviation after bot"
},
"intervention_cost_inject_total": {
"type": "number",
"minimum": 0
},
"intervention_cost_withdraw_total": {
"type": "number",
"minimum": 0
},
"intervention_cost_by_chain": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"inject": {
"type": "number"
},
"withdraw": {
"type": "number"
}
}
}
},
"micro_trade_count": {
"type": "integer",
"minimum": 0,
"description": "Count of support-lane micro-trades executed during the run"
},
"micro_trade_buy_count": {
"type": "integer",
"minimum": 0
},
"micro_trade_sell_count": {
"type": "integer",
"minimum": 0
},
"micro_trade_volume_total": {
"type": "number",
"minimum": 0,
"description": "Base-token units traded through the support lane"
},
"micro_trade_gas_cost_total": {
"type": "number",
"minimum": 0,
"description": "Abstract gas budget consumed by support trades"
},
"worst_pool_diagnostic": {
"type": "object",
"description": "Last-epoch worst pool at pre_arb, post_arb, post_bot",
"properties": {
"pre_arb": {
"type": "object",
"properties": {
"key": {},
"deviation_bps": {},
"I_T_ratio": {},
"D_effective": {}
}
},
"post_arb": {
"type": "object",
"properties": {
"key": {},
"deviation_bps": {},
"I_T_ratio": {},
"D_effective": {}
}
},
"post_bot": {
"type": "object",
"properties": {
"key": {},
"deviation_bps": {},
"I_T_ratio": {},
"D_effective": {}
}
}
}
},
"capital_efficiency_enabled": {
"type": "boolean",
"description": "True when the simulation-only capital efficiency Monte Carlo overlay was run"
},
"capital_efficiency_paths": { "type": "integer", "minimum": 1 },
"capital_efficiency_epochs": { "type": "integer", "minimum": 1 },
"initial_capital": { "type": "number", "minimum": 0 },
"alpha": { "type": "number", "minimum": 0, "maximum": 1 },
"leverage": { "type": "number", "minimum": 1 },
"spread_bps": { "type": "number", "minimum": 0 },
"volume_efficiency": { "type": "number", "minimum": 0 },
"pmm_k": { "type": "number", "minimum": 0 },
"liquidity_target_units": { "type": "number", "minimum": 0 },
"roi_mean": { "type": "number" },
"roi_p05": { "type": "number" },
"roi_p95": { "type": "number" },
"pnl_distribution": {
"type": "object",
"properties": {
"p05": { "type": "number" },
"p50": { "type": "number" },
"p95": { "type": "number" }
}
},
"max_drawdown_p95": { "type": "number", "minimum": 0 },
"liquidation_probability": { "type": "number", "minimum": 0, "maximum": 1 },
"peg_deviation_frequency": { "type": "number", "minimum": 0, "maximum": 1 },
"external_liquidity_floor_violations": { "type": "integer", "minimum": 0 },
"volatility_throttle_events": { "type": "integer", "minimum": 0 },
"spread_adjustment_events": { "type": "integer", "minimum": 0 }
}
}