Run Status
{{ status }}
{{ message }}
Latest Report
{% if latest_report and latest_report.report and 'processed_events' in latest_report.report %}
Run at {{ latest_report.run_at }}
Events: {{ latest_report.events_path }}
Processed: {{ latest_report.report.processed_events }}
Opportunities: {{ latest_report.report.opportunities_seen }}
Trades: {{ latest_report.report.trades_executed }}
Realized P&L: {{ '%.4f'|format(latest_report.report.realized_pnl_usd) }} USD
Max drawdown: {{ '%.4f'|format(latest_report.report.max_drawdown_usd) }} USD
{% elif latest_report %}
Job {{ latest_report.get('job_id','')[:8] }}... {{ latest_report.status }}
{{ latest_report.get('error','Waiting for worker...') }}
{% else %}
No runs yet.
{% endif %}
Run Backtest
{% if no_enabled_pairings %}
No enabled pairings found. Enable at least one pairing on the Pairings page before running a backtest.
{% endif %} {% if flash_message %}
{{ flash_message }}
{% endif %}
Pairings managed in Configuration → Pairings. Only enabled pairings are backtested.
Advanced options (fee profile, slippage, latency)
Recent Jobs
{% if recent_reports %}
{% for item in recent_reports %} {% endfor %}
Job Status Events Trades P&L Created
{{ item.status }} {{ item.events_path }} {{ item.report.trades_executed if item.report else "—" }} {{ '%.2f'|format(item.report.realized_pnl_usd) if item.report and item.report.realized_pnl_usd else "—" }} {{ item.run_at[:19] }}
{% else %}
No jobs submitted yet.
{% endif %}