{# Inputs: cash_deployment_points: list[CashDeploymentPoint] -- period-scoped (free / pledged / invested) chart_head_kpis: ChartHeadKPIs -- inline panel-head numbers period_label: str -- "YTD 2026", "2024", "Lifetime" Renders a stacked-area chart of free cash + pledged cash + invested MTM. The total stack at any date equals total account value. Replaces the previous "cash balance + net contributed" two-line chart whose purpose was unclear. #} {% set has_data = cash_deployment_points and cash_deployment_points|length >= 2 %} {% set kpis = chart_head_kpis %}

Cash deployment

{{ period_label }} {% if kpis %} ${{ "{:,.0f}".format((kpis.end_free_cash + kpis.end_pledged)|float) }} cash {% if kpis.end_cash_share_pct is not none %} · {{ "{:.1f}".format(kpis.end_cash_share_pct|float * 100) }}% {% endif %} {% if kpis.end_pledged > 0 %} · ${{ "{:,.0f}".format(kpis.end_pledged|float) }} pledged {% endif %} {% if kpis.end_invested is not none %} · ${{ "{:,.0f}".format(kpis.end_invested|float) }} invested {% endif %} {% if kpis.lifetime_min is not none and kpis.lifetime_max is not none %} min ${{ "{:,.0f}".format(kpis.lifetime_min|float) }} {{ kpis.lifetime_min_on.strftime("%b '%y") }} · max ${{ "{:,.0f}".format(kpis.lifetime_max|float) }} {{ kpis.lifetime_max_on.strftime("%b '%y") }} {% endif %} {% endif %}
{% if not has_data %}
No cash events yet — import a Schwab Transactions CSV to populate this chart.
{% else %}
{% endif %}