{% include "_traffic_light.html" with context %} {% if not options %}
No holdings of {{ ticker }} in any account.
{% include "_sim_lot_comparison.html" with context %} {% else %}

Per-account options for {{ ticker }}

{% for opt in options %}
{{ opt.account.display() }}
{% if opt.would_trigger_wash_sale %} {{ opt.confidence }} {% else %} No wash sale {% endif %}
Realized P&L
${{ "%.2f"|format(opt.realized_pnl|float) }}
{% if opt.insufficient_shares %}
Insufficient shares: only {{ opt.available_shares }} held.
{% endif %}
Lots consumed (FIFO)
{% for lot in opt.lots_consumed_fifo %} {% endfor %}
{{ lot.purchase_date }} {{ lot.quantity }} ${{ "%.2f"|format(lot.basis_per_share|float) }}/sh
{% endfor %}
{% include "_sim_lot_comparison.html" with context %} {# A1: Next-step CTAs. Sell-at-loss aggregates per-account `realized_pnl`; the harvest CTA appears when any option produced a loss. #} {% set _is_loss = options and (options | map(attribute='realized_pnl') | min) < 0 %} {% set _first_acct = (options[0].account.display() if options else '') %}
Next steps View {{ ticker }} position Open {{ ticker }} timeline {% if _is_loss and _first_acct %} Add to harvest plan {% endif %}
{% endif %}