{% extends "base.html" %}{% from "_macros.html" import csrf, flash, page_head, kpi, pnl %} {% block title %}{{ 'Books' if user.role == 'admin' else 'My book' }} · quotes{% endblock %} {% block content %}
{{ "Books" if user.role == 'admin' else "My book" }} › Quotes
{% call page_head("Quotes", "Every maker's YES/NO markets for one race" if user.role == 'admin' else "The YES/NO markets you quote for one race") %} {% endcall %} {{ flash(msg) }} {% if totals %}Market types a sport doesn't have (e.g. make-the-Final in F1) are skipped. Open markets priced from the model are repriced; bets keep the price they were taken at. Manually priced markets aren't touched.
{% if user.role == 'admin' %}{% else %}Markets are created under your account; The admin settles them.
{% endif %}| Market | {% if user.role == 'admin' %}Maker | {% endif %}Fair | YES price | NO price | Spread | Status | Bets | Staked | P&L if YES | P&L if NO | EV |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ mk.title }}{% if mk.fair_source == 'manual' %} (manual){% endif %} | {% if user.role == 'admin' %}{{ mk.maker }} | {% endif %}{{ mk.fair_prob|fmt("model_prob") }} | {{ mk.yes_price if mk.yes_price is not none else "–" }} | {{ mk.no_price if mk.no_price is not none else "–" }} | {{ "%.0f"|format(mk.spread * 100) }} | {{ mk.status }}{% if mk.status == 'settled' %} ({{ "YES" if mk.outcome else "NO" }}){% endif %} | {{ mk.bets }} | {{ mk.staked|money }} | {{ mk.pnl_if_yes|money(true) }} | {{ mk.pnl_if_no|money(true) }} | {{ mk.ev|money(true) }} |
Prices are per $1 payout: a YES at 0.10 means stake $10 to be paid $100 if it happens. Money is handled outside the app. Rank markets use placeholder points for pricing.
{% endblock %}