Fix auction: realistic valuations, multi-strategy comparison, role chips rendering

- Realistic price model: scales by FVM (Lautaro FVM=370 → ~199 cr, QI×5.7)
  Formula: qi * max(1.2, fvm/65) with forward premium and small-sample penalty
- 5 strategy engines: Balanced, Value, Stars, Safe, MILP-Lite
  Each with different score functions (value ratio, stability, risk adj)
- Strategy comparison radar grid: total FV, efficiency, stars, avg games, budget%
- Squad table with color-coded price bands (gold >100cr, sky >50cr, green <50cr)
- Market distribution histogram by role
- Top value picks section with cr/FV efficiency
- Fixed role_chip HTML rendering in all pages (unsafe_allow_html=True)
- Verified: 0 errors, 31 role chips, 5 KPIs, 8 charts
This commit is contained in:
ramseshk
2026-08-11 16:13:38 +08:00
parent 356b8d4c49
commit 6c1fb46e8a
3 changed files with 234 additions and 95 deletions
+1 -1
View File
@@ -89,7 +89,7 @@ def run():
role = p.get("role", "?")
team = p.get("team", "?")
st.markdown(f"### {ROLE_ICONS.get(role, '')} {selected}")
st.caption(f"{role_chip(role)} {team} · FVM: {p.get('fvm', 0)} · QI: {p.get('qi', 0)} cr")
st.caption(f"{ROLE_ICONS.get(role, '')} {role} · {team} · FVM: {p.get('fvm', 0)} · QI: {p.get('qi', 0)} cr")
with h2:
fv = p.get("fv_avg", 6.0)
st.metric("Fantavoto Avg", f"{fv:.2f}", delta=None)