{% extends "base.html" %} {% load static i18n humanize %} {% block extra_head %} {% endblock %} {% block title %}Invest Dashboard{% endblock %} {% block content %}
{{ fy_label }} Snapshot
Total Value
{% if overview.this_week_total is not None %}${{ overview.this_week_total|floatformat:0|intcomma }}
{% else %}—
{% endif %}Across {{ overview.portfolio_count }} portfolio{{ overview.portfolio_count|pluralize }}
{% if aud_total and aud_total.total_aud %}≈ A${{ aud_total.total_aud|floatformat:0|intcomma }}
{% endif %}Net Contributions
${{ net_contributions|floatformat:0|intcomma }}
External deposits minus withdrawals
Investment Gain
{% if performance.cash_adjusted_gain >= 0 %}+{% endif %}${{ performance.cash_adjusted_gain|floatformat:0|intcomma }}
Cash-flow adjusted
Top 5 Concentration
{% widthratio risk.top_5_weight 1 100 %}%
Risk: {{ risk.concentration_level }}
This Week
{% if overview.week_gain is not None %}{% if overview.week_gain >= 0 %}+{% endif %}${{ overview.week_gain|floatformat:0|intcomma }}
{% if overview.week_change_pct >= 0 %}+{% endif %}{{ overview.week_change_pct|floatformat:2 }}% vs last snapshot
{% else %}—
No prior snapshot
{% endif %}Money Weighted Return
{% if performance.money_weighted_return is not None %}{% widthratio performance.money_weighted_return 1 100 %}%
{% else %}—
{% endif %}IRR based on cash flows
Unrealized P&L
{% if total_pnl is not None %}{% if total_pnl >= 0 %}+{% endif %}${{ total_pnl|floatformat:0|intcomma }}
{% if total_pnl_pct >= 0 %}+{% endif %}{{ total_pnl_pct|floatformat:1 }}% vs cost basis
{% else %}—
No cost data
{% endif %}Last Snapshot
{% if overview.this_week_date %}{{ overview.this_week_date|date:"M j" }}
{{ overview.this_week_date|date:"l, Y" }}
{% else %}—
No snapshots yet
{% endif %}Same-cashflow Benchmark
Actual end value
${{ performance.end_value|floatformat:0|intcomma }}
Same cash flows into {{ ticker }}
${{ bench.end_value|floatformat:0|intcomma }}
Return {% if bench.simple_return is not None %}{% widthratio bench.simple_return 1 100 %}%{% else %}—{% endif %}
{{ fy_label }} Performance vs Benchmarks
切换涨跌幅百分比与金额两种视图。
Risk Overview
Top 1
{% widthratio risk.top_1_weight 1 100 %}%
Top 3
{% widthratio risk.top_3_weight 1 100 %}%
Semiconductors
{% widthratio risk.theme_exposure.semiconductors 1 100 %}%
AI / Cloud
{% widthratio risk.theme_exposure.ai_cloud 1 100 %}%
| Ticker | Value | Weight | Accounts |
|---|---|---|---|
| {{ position.stock_code }} | ${{ position.current_value|floatformat:0|intcomma }} | {% widthratio position.weight 1 100 %}% | {{ position.portfolio_names|join:", " }} |
Snapshots captured every Saturday 08:00 · Prices are best-effort market data · Cost basis estimated from trade-date close when no price was recorded
{% if all_holdings %}{{ group.portfolio.name }}
{{ group.position_count }} position{{ group.position_count|pluralize }}{% if overview.this_week_date %} · Snapshot {{ overview.this_week_date|date:"j M Y" }}{% endif %}
{% if group.this_week_value is not None %}${{ group.this_week_value|floatformat:0|intcomma }}{% else %}—{% endif %}
{% if group.change is not None %}{% if group.change >= 0 %}+{% endif %}${{ group.change|floatformat:0|intcomma }} ({% if group.change_pct >= 0 %}+{% endif %}{{ group.change_pct|floatformat:1 }}%)
{% else %}No prior snapshot
{% endif %}| Ticker | Qty | Price | Avg Cost | P&L | Mkt Value |
|---|---|---|---|---|---|
| {{ stock.stock_code }} | {{ stock.quantity|floatformat:0|intcomma }} | {% if stock.current_price %}${{ stock.current_price|floatformat:2|intcomma }}{% else %}—{% endif %} | {% if stock.cost.avg_cost %}${{ stock.cost.avg_cost|floatformat:2|intcomma }}{% else %}—{% endif %} | {% if stock.cost.unrealized_pnl is not None %}{% if stock.cost.unrealized_pnl >= 0 %}+{% endif %}${{ stock.cost.unrealized_pnl|floatformat:0|intcomma }} ({% if stock.cost.pnl_pct >= 0 %}+{% endif %}{{ stock.cost.pnl_pct|floatformat:1 }}%){% else %}—{% endif %} | {% if stock.current_value %}${{ stock.current_value|floatformat:0|intcomma }}{% else %}—{% endif %} |
Investment Reports
AI-generated weekly reports linked by the invest tag.
{{ post.title }}
{% if post.summary %}{{ post.summary }}
{% endif %}{{ post.created_at|date:"M j" }}
| Date | Portfolio | Action | Ticker | Qty | Price | Fee | Source |
|---|---|---|---|---|---|---|---|
| {{ tx.date|date:"j M Y" }} | {{ tx.portfolio.name }} | {{ tx.action }} | {{ tx.stock_code }} | {{ tx.quantity|floatformat:0|intcomma }} | {% if tx.price_per_share %}${{ tx.price_per_share|floatformat:2|intcomma }}{% else %}~估算{% endif %} | {% if tx.fee %}${{ tx.fee|floatformat:2|intcomma }}{% else %}—{% endif %} | {% if tx.source %} {% if tx.source|lower == 'ai' or tx.source|lower == 'ocr' %}🤖 AI{% else %}手动{% endif %} {% if tx.confidence is not None and tx.confidence < 0.9 %} ⚠ 低置信 {% endif %} {% endif %} |
没有匹配 "{{ search_q }}" 的交易