Holdings rebalancing what-if: reading the comparison
A historical calculation of current holdings and up to two user-edited versions, with separate rebalancing rules.
What the page answers
Holdings rebalancing what-if compares the holdings recorded today with up to two versions of amounts and rebalancing rules chosen by you. It applies past prices to those inputs. The question is how those specified mixtures trace different paths over the same history, with the calculation and its data limits visible beside the results.
This is a historical calculation, not a forecast or an assessment of any version. It does not describe the transactions that actually occurred in your account. A version can contain amounts or instruments that were never part of your account during the selected dates. The column order is fixed; neither order nor colour assigns a ranking.
The three columns
Current is fixed and matches the Jade replay, tail-risk and historical-stress cards for the same currency and replay span. Version A and Version B begin as independent copies. Edit each row’s amount in the display currency; its share updates with the version’s total. A zero amount omits that row from the calculation. An empty amount counts as zero, commas used as thousands separators are ignored, and digits beyond two decimal places are dropped. The footer shows the total, its ratio to the current total and the signed difference, so a change in portfolio size is visible alongside a change in composition.
The additional ETF list is fixed: SPY, QQQ, EFA, EEM, 2800.HK, 510300.SS, ISF.L, EXSA.DE, 1306.T, 069500.KS, AGG and GLD. Cash is another available row. Added cash is denominated in the display currency, with the entered amount as its current base-currency value. It enters the calculation as cash rather than an ETF price series; there is no modelled interest return for that same-currency cash row.
The confirmation dialog appears only when a version’s displayed ratio falls outside the inclusive band from ninety-nine percent to one hundred and one percent of the current total. That displayed ratio is rounded half-up to a decimal place before the band is checked. The dialog identifies the affected versions and their ratios; Confirm calculates with those amounts, while Cancel returns to editing.
Changing the replay span does not calculate. Changing currency reloads current amounts and resets both versions to copies, without calculating. Calculate submits both versions; earlier results retain the span and currency used for that calculation until another submission succeeds. Each user can submit once every two minutes; an early attempt shows a countdown. Inputs remain for another editing round but nothing is saved after the page reloads. With no valued current holdings, the page links to holdings instead of showing the editor.
Three calendar rules
No rebalancing leaves quantities unchanged as prices move. Monthly and quarterly calculations start at the version’s own weights and reset to them at the close of the first valid trading day of each new calendar month or quarter. They use the closing portfolio value at that reset, with no external cash flow.
In the committed example window, the monthly line resets 60 times and the quarterly line resets 20 times. Every reset uses the initial 60% SPY and 40% AGG weights. The value for the reset day is calculated first, and the new quantities apply to subsequent price changes. A calendar boundary during a market closure therefore uses the first valid trading day, rather than a fabricated price on the calendar date.
The no-rebalancing line begins at those same 60% SPY and 40% AGG weights. By Oct 9, 2026, its value weights are 74.58% SPY and 25.42% AGG. The quantities have not changed; the two price paths have changed their shares of the total. This drift is what a reset removes at each scheduled close. Between resets, the monthly and quarterly mixtures also drift.
Where each path starts
On the Jade page, replay and tail risk without rebalancing carry today’s quantities back through history. Rebalanced columns instead begin at today’s weights on the window’s first day. These are different starting conventions: a current value weight does not imply that the same weight applied on every earlier date. The tail-risk calculation uses its fixed historical replay window, while the chart follows the span selected for Calculate.
Stress scenarios begin every column at today’s weights on the scenario’s first valid day, as the existing Jade stress tool does. Without rebalancing the weights then drift; monthly and quarterly columns reset on their calendar boundaries after the reset day’s close. Stress therefore has the same starting convention across columns even though their subsequent rules differ. The selected replay span does not change those scenario windows.
The example: three lines
This public example uses 60% SPY + 40% AGG, starting on Oct 11, 2021 and ending on Oct 9, 2026. All three lines begin with the same mixture at the first date: no rebalancing, monthly and quarterly. They use the committed SPY and AGG adjusted closing prices, including distributions. This is a fixed illustration, separate from any person’s holdings.
The common starting mixture isolates the effect of the calendar rule within this example. It differs from the no-rebalancing replay on the Jade page, which carries today’s quantities backward. The chart places cumulative returns on the same date axis; the table applies the same metric definitions and observation window to all three lines.
- No rebalancing
- Monthly
- Quarterly
| Metric | No rebalancing | Monthly | Quarterly |
|---|---|---|---|
| Cumulative return | 54.07% | 48.01% | 48.17% |
| Annualized return | 9.04% | 8.17% | 8.19% |
| Annualized volatility | 11.76% | 11.05% | 11.06% |
| Maximum drawdown | -21.03% | -20.72% | -20.77% |
Cumulative return compares the final value with the initial value for the entire window. It is 54.07% without rebalancing, 48.01% with monthly resets and 48.17% with quarterly resets. These are changes in the example’s calculated value, including the adjusted-price distribution treatment. They are not the realized returns of a user’s account and do not assign a preference to a rule.
Annualized return expresses the full-window compounded change as a yearly rate using the elapsed calendar time. The values are 9.04% without rebalancing, 8.17% monthly and 8.19% quarterly. This puts the total change on a common yearly scale; it does not mean that the path delivered that rate in each calendar year.
Annualized volatility describes the dispersion of consecutive daily returns, using their sample standard deviation scaled to a year. It is 11.76% without rebalancing, 11.05% monthly and 11.06% quarterly. It concerns variation along each path, rather than the direction or size of its final cumulative return. The three figures use the same price dates.
Maximum drawdown is the largest decline from an earlier calculated peak to a subsequent trough in the window. It is -21.03% without rebalancing, -20.72% monthly and -20.77% quarterly. These negative figures describe a peak-to-trough interval within each path, not the full-window return. The number summarizes one observed decline and is not a boundary on future losses.
What the results show on the page
The Jade page displays a replay curve and its metrics for each column, then VaR and CVaR in percentage and currency amounts for daily and monthly horizons. VaR describes a historical loss boundary at the displayed confidence level; CVaR describes the average within the associated tail. They summarize the replay observations used for that column rather than a forecast of a particular future day or month.
The stress table places the five historical scenarios in time order. Each column reports the scenario peak-to-trough return and amount, together with its in-window maximum drawdown. Read columns across the same dates and result type, including each column’s rule and data-coverage notice. A pending or insufficient-data state is not a zero return. The page has no benchmark line, contribution bars or ranking.
Hindsight and omitted costs
The inputs are selected today and evaluated against known history. Trying multiple versions against the same prices favours whichever happened to match that period; this supplies no ranking or forecast. Costs, taxes and transaction timing are not modelled. The past paths describe these assumptions over these dates only.
A reset in practice would involve transactions. Their execution prices, costs, taxes and timing are outside this calculation; the model resets at the selected day’s closing values without those effects. Applying a different mixture repeatedly to familiar history also leaves the same hindsight limitation in place. A displayed difference records the assumptions and price path, rather than an assessment of which version fits a person.
The watermark
The repeated text across the result tables and chart identifies a calculation based only on user-defined assumptions. It also appears in screenshots. The same sentence is available as ordinary text for assistive technology; it is not an assessment of any version.
The watermark accompanies the results alongside the notices on hindsight, starting conventions and omitted costs. It identifies what the calculation represents when the chart or a table is viewed separately from the editor. It does not turn an illustrative historical path into a forecast.