{% 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") %}
{% if user.role == 'admin' %}{% endif %} {% if race_id %}Quote sheet → · Market board →{% endif %}
{% endcall %} {{ flash(msg) }} {% if totals %}
{{ kpi("Markets", totals.markets, totals.open ~ " open") }} {{ kpi("Bets", totals.bets, "staked " ~ (totals.staked|money)) }} {{ kpi("EV at fair", totals.ev, "", "money") }} {{ kpi("Worst case", (totals.worst|money), "sum per market", "bad") }} {{ kpi("Settled P&L", totals.settled, "", "money") }}
{% endif %} {% if race_id %}

Create or reprice markets from the latest forecast

{{ kinds|length }} market types available
{{ csrf() }} {% for k in kinds %}{% endfor %}

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' %}
{{ csrf() }} Win / podium / top 10 / make-Final settle from the ingested results. Rank markets: settle by hand from the official standings.
{% else %}

Markets are created under your account; The admin settles them.

{% endif %}
{% endif %} {% if groups %}{% endif %} {% for kind, ms in groups %} {% endfor %}

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 %}