{% extends "base.html" %} {% from "_macros.html" import exec_badge, rollup_plan_pill %} {% block title %}Paper books{% endblock %} {% block body %} {# D4 (Task 5) — the consolidated Paper-books landing: BOTH paper books as clickable summary cards. The crypto 4-edge book (simulated, `PAPER`) kept its OWN unique detail (live per-symbol book / trades / individual edges) at its card's target (`/paper/crypto` — the former `/paper` content, UNCHANGED). The IBKR paper account (also `PAPER`) links to its holdings detail (Task 3's `strategy.html`), which now also shows the per-strategy breakdown. Neither card is a dead end — an unconnected/empty IBKR account renders a clean state, never a 500. #} {# ── TRADER HEADER: h1 + a one-line subtitle. The two book cards below say the rest — no orientation blurb. #}

Paper books

the fund's live paper accounts — proving the edges with simulated money before real capital

Bybit 4-edge book {{ exec_badge('paper') }}

account value
{% if headline.has_record %}
${{ headline.final_equity|money }} {{ '%+.0f'|format(headline.total_return_pct) }}%
Sharpe {{ '%.2f'|format(headline.sharpe) }} · maxDD {{ '%.0f'|format(headline.max_dd_pct) }}% · since {{ headline.since }}
{% if headline_curve %}
{{ headline_curve|safe }}
{% endif %} {% else %}

no backfilled record yet

{% endif %}
Simulated 4-edge crypto book, live on Bybit → holdings & trades
{% if ibkr_view %}

IBKR paper account {{ exec_badge('paper') }}

account value
${{ ibkr_rollup.total_nav|money }}
{{ ibkr_rollup.n_executing }} strateg{{ 'y' if ibkr_rollup.n_executing == 1 else 'ies' }} trading · {{ ibkr_view.all_positions|length }} holdings
{% if ibkr_rollup.n_executing > 0 %}
{{ rollup_plan_pill(ibkr_rollup) }}
{% endif %} {% if ibkr_curve %}
{{ ibkr_curve|safe }}
{% endif %}
Real IBKR paper account (US equities/options) → holdings & per-strategy breakdown
{% else %}

IBKR paper account {{ exec_badge('paper') }}

not connected yet — no account data yet

{% endif %}
{% endblock %}