Loading …
Definitions, data sources and calculation limits of the account-value display. Recorded NAV values can be compared; alone they are insufficient to reproduce cash-flow-adjusted returns or the risk metrics based on them. This is self-published documentation, not a forecast or independent audit.
Version 1.2 · Last revised 2026-09-12
The NAV curve remains an unadjusted account-value series. Separately, a qualified IBKR PortfolioAnalyst report supplies cumulative TWR. Daily return = (1 + today's TWR) / (1 + preceding TWR) − 1. The first point is only the comparison baseline; the retrieval day is excluded as potentially provisional. Metrics state their own TWR period, account base currency and retrieval date.
(end index / start index)^(365.25 / calendar days) − 1
Geometric annualization of TWR change over the stated period (CAGR), not a scaled arithmetic average. Each index value is 1 + the broker's cumulative TWR.
Requires a qualified daily TWR report for the configured account and at least 30 derived returns. No missing days or opening values are filled; undefined ratios stay blank. Broker reporting is not independently audited.
sampleStdDev(daily returns, ddof=1) × √252
Sample standard deviation of daily returns (Bessel-corrected, dividing by N−1), annualised by √252. Measures how much the daily return typically swings — a risk measure, not a return.
Requires a qualified daily TWR report for the configured account and at least 30 derived returns. No missing days or opening values are filled; undefined ratios stay blank. Broker reporting is not independently audited.
mean(daily returns) / sample standard deviation × √252 (benchmark 0%)
Return earned per unit of total volatility, with the risk-free rate set to zero. Higher is better.
Requires a qualified daily TWR report for the configured account and at least 30 derived returns. No missing days or opening values are filled; undefined ratios stay blank. Broker reporting is not independently audited.
mean(daily returns) / √mean(min(r, 0)²) × √252 (target 0%)
Like Sharpe but the denominator only penalises losses. Downside deviation = √( Σ min(rᵢ, 0)² / N ) × √252 — the root-mean-square of the negative daily returns against a 0 target, averaged over the FULL count N.
Requires a qualified daily TWR report for the configured account and at least 30 derived returns. No missing days or opening values are filled; undefined ratios stay blank. Broker reporting is not independently audited.
annualised return ÷ |max drawdown|
Geometrically annualized TWR divided by the absolute maximum TWR drawdown in the stated period, not necessarily since account inception and never from NAV declines.
Requires a qualified daily TWR report for the configured account and at least 30 derived returns. No missing days or opening values are filled; undefined ratios stay blank. Broker reporting is not independently audited.
min over t of ( valueₜ / running_peakₜ − 1 )
The largest percentage decline from a previous high in the series being considered. For recorded account values this describes a NAV decline, not a proven trading loss: withdrawals and transfers can also change the series.
The NAV curve remains unadjusted. Separately labelled TWR drawdown and Calmar use only the qualified return index over its own period.
The public curve is calculated from the stored daily-NAV series. CPAPI can write provisional intraday values; IBKR Flex can later settle daily closes. Imported executions use broker execution IDs when available and a documented fallback key otherwise. This is an internal, self-published reconciliation process, not an independent audit.
The current portfolio snapshot is selected from cached IBKR-linked tiers. Separately, IBKR Flex daily summaries can settle or correct a provisional CPAPI NAV point in the historical series. The public route does not query IBKR directly on each request.
If a brokerExecutionId is present, the import uses EXEC|brokerExecutionId|symbol|action. If it is missing, the importer falls back to a composite key of timestamp, symbol, side, quantity, price and order reference. Manual rows can also exist. These keys reduce duplicate imports; they do not constitute external verification.
Currency is excluded from the execution-ID key because CPAPI and Flex can represent the same listing in different currencies. Order references are stored separately and help group partial fills. Rows without an execution ID rely on the fallback key above.
Daily NAV values are stored by date without a display cap. CPAPI rows are provisional and may be updated intraday; a later IBKR Flex close or operator override can replace that date. The code does not guarantee a gap-free series.
The public summary exposes one overall freshness state for the selected current portfolio snapshot. It does not certify the source, completeness, or settlement status of every historical NAV row or trade. LIVE, STALE and FALLBACK are emitted by this route; SHADOW describes a provider diagnostics mode.
| State | Meaning / condition |
|---|---|
| LIVE | portfolioSource = regular_cache AND snapshot age ≤ 15 min The selected regular-cache snapshot is no more than 15 minutes old. This public request does not query IBKR directly. |
| STALE | portfolioSource = cpapi_last_valid, OR regular_cache older than 15 min The selected snapshot is either the last-valid CPAPI cache or a regular-cache snapshot older than 15 minutes. It is cached data. |
| FALLBACK | portfolioSource = flex_shadow The selected current portfolio snapshot comes from the cached IBKR Flex shadow tier. The historical NAV curve is read separately from the equity-history store. |
| SHADOW | IBKR_DATA_PROVIDER = shadow (diagnostics; not emitted by public-summary) CPAPI remains primary while Flex runs as an internal parity check. This is not independent verification. |
The export lets you compare recorded NAV values and their unadjusted changes. It does not supply all the cash-flow, valuation and currency evidence needed for the return and risk formulas above. It includes the overall current-snapshot state and update time, but not per-row source or provisional status. It is not a broker statement or independent audit; the trade export contains only public fields from recent trades.
The figures described here relate solely to the founder's personal trading account. Past performance is not a reliable indicator of future results. This page does not constitute investment advice, an investment recommendation, an offer, or a solicitation to buy or sell any financial instrument. Trading financial instruments involves substantial risk, up to and including total loss of capital; individual results may differ materially. Vaapad Capital is not a licensed investment firm and does not provide portfolio management. Full disclaimer.