{{ toast.message }}

Dashboard

Auto-refresh: 60s
Total AUM
{{ formatUSD(dashData.total_aum) }}
Clients
{{ dashData.clients_active || 0 }} / {{ dashData.clients_paused || 0 }} paused / {{ dashData.clients_error }} err
Today's PnL
{{ formatUSD(dashData.today_pnl) }} {{ formatPct(dashData.today_pnl_pct) }}
Active Strategies
{{ strategyCards.length }}
Strategies
{{ strategyDisplayName(s.strategy) }}
Target {{ formatPct(s.target_exposure) }}
TS {{ s.trend_score != null ? s.trend_score.toFixed(1) : '--' }}
Price {{ formatUSD(s.price, 0) }}
Avg Heat {{ s.avg_heat != null ? s.avg_heat.toFixed(2) : '--' }}
Clients {{ s.client_count || 0 }}
AUM {{ formatUSD(s.aum, 0) }}

Client Overview

Client Exchange Allocation Balance Exposure Heat DD 24h PnL Status
{{ c.name }} {{ exchangeBadge(c.exchange) }} {{ c.exchange }}
{{ strat.toUpperCase() }} {{ pct }}%
{{ formatUSD(c.balance) }} {{ formatPct(c.exposure) }}
{{ formatPct(c.drawdown) }} {{ formatUSD(c.pnl_24h) }} {{ c.status }}
No clients configured

Clients

Name {{ sortIcon('name') }} Exchange {{ sortIcon('exchange') }} Allocation Balance {{ sortIcon('balance') }} Fee % {{ sortIcon('fee_pct') }} PnL Status {{ sortIcon('status') }} Actions
SIGNAL {{ c.name }} {{ exchangeBadge(c.exchange) }} {{ c.exchange }}
{{ strat.toUpperCase() }} {{ pct }}%
{{ formatUSD(c.balance) }} {{ c.fee_pct }}% {{ formatPct(c.pnl_total) }} {{ c.status }}
No clients. Click "+ Add Client" to get started.

{{ selectedClient.name || 'Client' }}

{{ exchangeBadge(selectedClient.exchange) }} {{ selectedClient.exchange }} {{ selectedClient.status }}
Balance
{{ formatUSD(selectedClient.portfolio_value ?? selectedClient.balance) }}
Initial
{{ formatUSD(selectedClient.initial_balance) }}
PnL
{{ formatPct(selectedClient.pnl_total_pct) }}
Peak / HWM
{{ formatUSD(selectedClient.peak ?? selectedClient.hwm) }}
Drawdown
{{ formatPct(selectedClient.drawdown) }}
Heat
{{ selectedClient.heat != null ? Number(selectedClient.heat).toFixed(3) : '--' }}
Exposure
{{ formatPct(selectedClient.effective_exposure ?? selectedClient.exposure) }}
Fee
{{ selectedClient.fee_pct || 0 }}% perf + {{ selectedClient.management_fee_pct || 0 }}% mgmt

Allocation Breakdown

{{ strategyDisplayName(strat) }}
{{ pct }}%
{{ strategyDisplayName(sd.strategy) }}
Heat: {{ sd.heat != null ? sd.heat.toFixed(3) : '--' }}
Exposure: {{ formatPct(sd.exposure) }}
TS: {{ sd.trend_score != null ? sd.trend_score.toFixed(1) : '--' }}
Price: {{ formatUSD(sd.price, 0) }}
PnL: {{ formatPct(sd.pnl) }}

Cash Flows

Date Type Amount Notes
{{ formatDate(cf.timestamp) }} {{ cf.flow_type.toUpperCase() }} {{ formatUSD(cf.amount) }} {{ cf.notes || '' }}
No deposits or withdrawals recorded

Portfolio Value

Trade History

Time Side Size Price Exposure After
{{ formatDate(t.timestamp) }} {{ t.side.toUpperCase() }} {{ t.size }} {{ formatUSD(t.price) }} {{ formatPct(t.exposure_after) }}
No trades recorded

Monthly Performance

Month Start End PnL Return Max DD
{{ m.month }} {{ formatUSD(m.start_value) }} {{ formatUSD(m.end_value) }} {{ formatUSD(m.pnl) }} {{ formatPct(m.return_pct) }} {{ formatPct(m.max_dd) }}
No monthly data

Strategies

No strategy data available. Engine may not be running.

{{ strategyDisplayName(sd.strategy) }}

{{ formatUSD(sd.asset_price, sd.asset_price > 100 ? 0 : 2) }}
Target Exposure
{{ sd.target != null ? sd.target.toFixed(0) + '%' : '--' }}
Trend Score
{{ sd.trend_score != null ? sd.trend_score.toFixed(1) : '--' }}
Signal Time
{{ sd.signal_hour || '--' }}

Calculation Pipeline

{{ step.step }} {{ step.value }}
{{ step.desc }}

Heat System

DD Soft {{ (sd.heat_params.dd_soft * 100).toFixed(1) }}%
DD Hard {{ (sd.heat_params.dd_hard * 100).toFixed(1) }}%
Taper {{ sd.heat_params.taper }}
Floor {{ sd.heat_params.floor }}
Recovery TS>80 {{ sd.heat_params.rec_80 }}
Recovery TS>70 +{{ sd.heat_params.rec_70 }}
Recovery TS>60 +{{ sd.heat_params.rec_60 }}
Bull Floor TS>{{ sd.bull_floor.ts_threshold }} = {{ sd.bull_floor.min_exposure }}%

Master Portfolio ($10k Virtual)

Equity {{ formatUSD(sd.master.equity) }}
PnL {{ sd.master.pnl_pct != null ? sd.master.pnl_pct.toFixed(1) + '%' : '--' }}
Drawdown {{ sd.master.drawdown != null ? sd.master.drawdown.toFixed(1) + '%' : '--' }}
Heat {{ sd.master.heat != null ? sd.master.heat.toFixed(3) : '--' }}
Effective Exp {{ sd.master.effective_pct != null ? sd.master.effective_pct.toFixed(0) + '%' : '--' }}
Target {{ sd.master.daily_target_pct != null ? sd.master.daily_target_pct.toFixed(0) + '%' : '--' }}
Sharpe {{ sd.master.sharpe != null ? sd.master.sharpe.toFixed(2) : '--' }}
Sortino {{ sd.master.sortino != null ? sd.master.sortino.toFixed(2) : '--' }}
Calmar {{ sd.master.calmar != null ? sd.master.calmar.toFixed(2) : '--' }}
CAGR {{ sd.master.cagr != null ? sd.master.cagr.toFixed(1) + '%' : '--' }}
Peak {{ formatUSD(sd.master.peak) }}
Updated {{ sd.master.last_update ? sd.master.last_update.substring(0, 16) : '--' }}

Monthly PnL

{{ month }} {{ pnl > 0 ? '+' : '' }}{{ pnl.toFixed(1) }}%

Recent Master Trades

{{ t.time ? t.time.substring(5, 16) : '' }} {{ t.from_pct.toFixed(0) }}% → {{ t.to_pct.toFixed(0) }}% {{ t.reason }} H: {{ t.heat.toFixed(2) }}

Exposure History (30d)

Indicator Layers

# Indicator Group Value Effect Description
{{ idx + 1 }} {{ l.name }} {{ l.group }} {{ formatLayerValue(l.value) }} {{ l.effect }} {{ l.desc }}

Operations

Engine {{ opsData.engine_running ? 'Running' : 'Stopped' }}
{{ strategyDisplayName(key) }}
{{ sig.target != null ? sig.target.toFixed(0) + '%' : '--' }}
TS {{ sig.trend_score != null ? sig.trend_score.toFixed(1) : '--' }}
{{ formatUSD(sig.asset_price, 0) }}

Client Verification

{{ opsData.timestamp }}
{{ c.name }} {{ c.status }}
{{ exchangeBadge(c.exchange) }} {{ c.exchange }}
Balance {{ formatUSD(c.portfolio_value) }}
Peak {{ formatUSD(c.peak) }}
DD {{ c.drawdown != null ? c.drawdown.toFixed(2) + '%' : '--' }}
24h PnL {{ c.pnl_24h != null ? '$' + c.pnl_24h.toFixed(2) : '--' }}
Total PnL {{ c.pnl_total != null ? '$' + c.pnl_total.toFixed(2) : '--' }}
Net Flows {{ c.net_flows !== 0 ? formatUSD(c.net_flows) : '--' }}
Trades Today {{ c.trades_today || 0 }}
Last Trade {{ c.last_trade_side }} {{ c.last_trade_symbol }} {{ formatDate(c.last_trade_time) }} None
{{ strategyDisplayName(sc.strategy) }} {{ sc.allocation_pct }}% Target: {{ sc.target_exposure != null ? sc.target_exposure.toFixed(0) + '%' : 'N/A' }} Eff: {{ sc.effective_exposure != null ? sc.effective_exposure.toFixed(0) + '%' : '--' }} Heat: {{ sc.heat != null ? sc.heat.toFixed(3) : '--' }} DD: {{ sc.sub_dd != null ? sc.sub_dd.toFixed(1) + '%' : '--' }} TS: {{ sc.trend_score != null ? sc.trend_score.toFixed(1) : '--' }} No signal
{{ issue }}

No clients configured

Reports

Monthly Report

Client Start Value End Value PnL Return Max DD Trades Fee % Fee Amt
{{ r.name }} {{ formatUSD(r.start_value) }} {{ formatUSD(r.end_value) }} {{ formatUSD(r.pnl) }} {{ formatPct(r.return_pct) }} {{ formatPct(r.max_dd) }} {{ r.trades }} {{ r.fee_pct }}% {{ formatUSD(r.fee_amount) }}
No report data. Select a period and click "Load Report".
TOTAL {{ formatUSD(reportTotals.start_value) }} {{ formatUSD(reportTotals.end_value) }} {{ formatUSD(reportTotals.pnl) }} {{ formatPct(reportTotals.return_pct) }} {{ reportTotals.trades }} {{ formatUSD(reportTotals.fee_amount) }}

Commission Summary

Client Profit Fee % Commission
{{ c.name }} {{ formatUSD(c.profit) }} {{ c.fee_pct }}% {{ formatUSD(c.commission) }}
TOTAL {{ formatUSD(commissionTotal) }}