{% from "_macros.html" import pnl_cls %}
{% if year == 2026 %}Every 2026 weekend raced so far ({{ ef.n_weekends }}){% else %}The 2025 season ({{ ef.n_weekends }} weekends), as if we had been live from its first race: every price uses only data from before that moment{% endif %}, re-priced at the sport's saved stages, traded on {{ venue_names.get(venue, venue) if venue else "each venue" }}'s recorded prices and trades, and settled on the result. This view only reads saved sweeps. {% if sweep_job %}To generate another setup, run a strategy sweep;{% else %}No strategy-sweep form is wired for this sport yet;{% endif %} add its results here or compare them with F1 model variants, model backtests and job status.
{% if not ef.cards and not ef.missing and not ef.benchmark %}No full-season sweep saved for {{ year }}{% if sweep_job %}: run a strategy sweep{% else %} for this sport yet{% endif %}.
{% endif %}No full-season {{ year }} run yet for: {% for m in ef.missing %}{{ m.name }} · {{ m.label }}{{ ", " if not loop.last }}{% endfor %}. {% if sweep_job %}Run a strategy sweep →{% endif %}
{% endif %} {% if ef.cards|selectattr("in_sample")|list %}* In-sample: the stage-aware rule was drawn from the 2026 sweep.{% if ef.cards|rejectattr("same_data")|selectattr("vs_base")|list %} † baseline priced from different data (e.g. before a data backfill).{% endif %}
{% endif %} {% if ef.recaps %}| Strategy | P&L | Return on volume | Weekends up | Max drawdown | Consistency | vs baseline |
|---|---|---|---|---|---|---|
| {{ r.label }}{{ " *" if r.in_sample }}{{ " (benchmark)" if r.is_bench }} | {{ r.pnl|money(true) }} | {{ "%+.1f%%"|format(r.roi * 100) if r.roi is not none }} | {{ r.up }}/{{ r.weekends }} | {{ r.drawdown|money(true) }} | {{ "%.2f"|format(r.consistency) if r.consistency is not none }} | {% if r.vs_base is not none %}{{ r.vs_base|money(true) }}{% endif %} |
Sorted by P&L. Drawdown: the worst fall from a running peak across the season, weekend by weekend. Consistency: how many standard errors the average weekend is above zero ({{ ef.n_weekends }} weekends is a small sample; 2+ is a good sign, not proof).
{% endif %} {% if candidates %}| Name | Strategy | Configuration | Season | Why | From | |
|---|---|---|---|---|---|---|
| {{ cd.name }} | {{ cd.strategy_label }} | {{ cd.label|truncate(50) }} | {{ cd.year }} | {{ cd.why }} | {{ cd.source }}{% if cd.run_id %} · run #{{ cd.run_id }}{% endif %} | Load in Lab |
| Weekend | Format | {% for c in ef.columns %}{{ c.label }} {{ c.name|truncate(30) }} | {% endfor %}|
|---|---|---|---|
| {{ w.event }} {{ w.event_key }} | {{ (w.format or "")|replace('_', ' ') }} | {% for x in w.cells %}{{ x|money(true) if x is not none }} | {% endfor %}{% if w.last_run_id %}weekend →{% endif %} |
| Season | {% for t in ef.totals %} | {{ t|money(true) }} | {% endfor %}
Act when |fair − {{ vn }}| ≥ {{ "%.0f"|format((sweep.params.min_edge or 0) * 100) }} pts, stake ${{ sweep.params.stake_per_edge|int }} × edge (max ${{ sweep.params.max_stake|int }}/market), {{ "%.0f"|format((sweep.params.cost or 0) * 100) }}¢/share trading cost; prices at each stage are {{ vn }}'s at that moment; markets need ≥ ${{ (sweep.params.min_volume_24h or 0)|int }} traded in the prior 24 h and a coherent book.
| Stage | Trades | P&L to result |
|---|---|---|
| {{ r.stage }} | {{ r.trades }} | {{ r.pnl|money(true) }} |
| Market | Trades | P&L |
|---|---|---|
| {{ r.kind }} | {{ r.trades }} | {{ r.pnl|money(true) }} |
| Market | Stage | Outcomes | Brier model | Brier {{ vn }} |
|---|---|---|---|---|
| {{ r.kind }} | {{ r.stage }} | {{ r.n }} | {{ "%.4f"|format(r.brier_model) }} | {{ "%.4f"|format(r.brier_market) }} |
Averaged over weekends, on tradeable markets only. {{ vn }} at the same moment is the benchmark to beat.
These read-only tables show the fixed Polymarket pools behind the demo's historical choices. Phase descriptions explain what the demo ran and why; pool scores come only from saved full-season sweeps. They are backtests, not live trades or a promise of future performance.
{% for pool in demo_pools %}{{ pool.description }}
{% if pool.phases %}{{ ph.code }} · {{ ph.period }} — {{ ph.name }} ({{ ph.strategy }}, {{ ph.settings }}). {{ ph.why }}
{% endfor %} {% endif %}{{ d.label }}: {% if not d.known %}no weekends had been raced, so the default-start phase is expected. {% elif d.table %}the current saved sweeps{% if not d.pool_complete %} are incomplete ({{ d.candidates }} of {{ pool.pool_size }} pool combinations have decision evidence){% endif %} choose {{ d.chosen }}. {% else %}there is not enough saved data to make this decision.{% endif %} Recorded phase: {{ d.expected_phase.code if d.expected_phase else "–" }} ({{ d.expected_phase.name if d.expected_phase else "no phase recorded" }}). {% if d.history_matches is sameas true %}Matches the recorded phase. {% elif d.history_matches is sameas false %}Does not reproduce the recorded phase; inspect the saved results below. {% elif d.known and not d.pool_complete %}Incomplete pool: no conclusive comparison. {% endif %}
{% endfor %} {% if pool.reference %} {% set ref = pool.reference %}{{ ref.name }} ({{ ref.strategy }}, {{ ref.settings }}). {{ ref.why }} The chart on Positions uses the matching saved T1/A sweep and its sweep sizing; it is not the separate flat-size taker-resweep score.
| Profile | {% for y in years %}{{ y }} | {% endfor %}
|---|---|
| {{ ref.name }} | {% for y in years %}{% set r = ref.results[y] %}{% if r and r.weekends %}{{ r.pnl|money(true) }} · {{ r.up }}/{{ r.weekends }} up · worst {{ r.worst|money(true) }} · DD {{ r.drawdown|money(true) }} · run #{{ r.run_id }} {% elif r %}No strategy P&L values · run #{{ r.run_id }} {% else %}No complete saved sweep{% endif %} | {% endfor %}
| Demo phase | Setup | Strategy | {% for y in years %}{{ y }} saved backtest | {% endfor %}
|---|---|---|---|
| {% if row.phases %}{% for ph in row.phases %}{{ ph.code }} {{ ph.period }}{% endfor %}{% else %}Pool candidate{% endif %} |
{{ row.settings }} | {{ row.strategy }} | {% for y in years %}{% set r = row.results[y] %}{% if r and r.weekends %} {{ r.pnl|money(true) }} · {{ r.up }}/{{ r.weekends }} up · worst {{ r.worst|money(true) }} · DD {{ r.drawdown|money(true) }} · consistency {{ "%.2f"|format(r.consistency) if r.consistency is not none }} · run #{{ r.run_id }} {% elif r %}No strategy P&L values · run #{{ r.run_id }} {% else %}No complete saved sweep{% endif %} | {% endfor %}
P&L and risk stats summarize each saved sweep's weekend results. The full run page has its detailed metrics; no result is generated by opening this section.