Portfolio Agent EvalsHarbor task suite · ETF analyze → backtest → rebalance
← All themes
AnalyzeTheme 02

Portfolio Analytics & Exposure

Weights, drift, look-through, TWR vs MWR, risk, factors and attribution — with the conventions spelled out.

Why this theme exists

Deterministic analytics on a multi-account ETF household. Each task pins the convention (ddof, annualization, window definition, quantile interpolation, flow timing) so the only source of error is the agent, not the ambiguity of finance jargon.

Capability under test

Convention-exact quantitative work, multi-file joins (holdings, lots, transactions, constituents), performance measurement with cash flows, and econometric inference done correctly.

Design notes

Tolerances are tight (rel 1e-6) because everything is closed-form. Traps are chosen so that the 'textbook' shortcut is wrong (e.g. 365-day annualization, using pay-date instead of ex-date, ignoring fund-of-funds recursion). Each task includes a self-consistency check the agent can use to catch its own bugs; whether it does is itself informative.

Tier ladder

  • Tier 11
  • Tier 23
  • Tier 32
  • Tier 40
TaskTierPhaseRewardGatesBudgetStatus
Weights, drift and band breaches (absolute and 5/25 relative)
pf-analyze-weights-drift

Compute per-account and household market-value weights, drift versus IPS targets, and band breaches under both absolute and relative rules.

T1
easy
Analyzepartial15 minready
Look-through exposure, pairwise overlap and hidden concentration
pf-analyze-lookthrough-overlap

Compute look-through sector and region exposures, pairwise ETF overlap and hidden single-name concentration from constituent holdings files, including recursive fund-of-funds expansion.

T2
medium
Analyzemulti-metric30 minready
Risk report with exact conventions
pf-analyze-risk-suite

Produce a full risk report — vol, beta, downside deviation, drawdown geometry, historical and parametric VaR/CVaR, tracking error and information ratio — with exactly the conventions specified.

T2
medium
Analyzemulti-metric20 minready
Time-weighted vs money-weighted returns from a transaction log
pf-analyze-twr-vs-mwr

Compute time-weighted and money-weighted returns for each account and the household over multiple horizons from a transaction log with contributions, withdrawals, fees and dividends.

T2
medium
Analyzemulti-metric30 minready
Brinson–Fachler attribution with Cariño linking that reconciles exactly
pf-analyze-brinson-attribution

Monthly Brinson–Fachler attribution versus the policy benchmark with Cariño geometric linking over 12 months, reconciling exactly to the active return.

T3
hard
Analyzemulti-metric30 minready
Factor exposures with Newey–West inference and an implied-vs-direct reconciliation
pf-analyze-factor-regression

Regress ETF and household excess returns on FF5 + momentum with Newey–West standard errors, and reconcile weight-implied versus directly-estimated household exposures.

T3
hard
Analyzemulti-metric30 minready