How the engine works
Monthly end-of-month cadence, TER, currency and dividend treatment.
The backtester reconstructs a portfolio's value over time by applying the historical returns of its components, with the rebalancing frequency and costs you set. This page covers the engine's conventions: the rules that explain why a number is what it is.
Monthly cadence, end of month
The engine works monthly and uses end-of-month values. There is no daily simulation: the dates you set are interpreted as whole months.
Practical consequences:
- "Annual" rebalancing happens at the end of the corresponding month, not on a specific date.
- An intra-month crash that recovers before month end doesn't appear in the drawdown. Max drawdown is therefore computed on monthly closes, and will be shallower than the real daily figure.
- A few days' lag in data updates doesn't alter the analysis, only how recent the last complete month is.
Monthly isn't a technical limitation, it's a modelling decision: over decade-long horizons daily noise adds no useful information and would multiply compute cost twentyfold.
What's in the prices
| Item | Included |
|---|---|
| TER | Yes, subtracted from performance |
| Dividends and coupons | No |
| Currency risk | Yes, converted to euro at historical rates |
| Trading commissions | Only if you set them |
| Capital gains tax | Only if you enable it |
Detail on sources and update frequency in Where the data comes from.
The analysis period
By default the backtest uses all available history, meaning the period in which every selected instrument has data. A single short-history instrument shortens the whole analysis, and the Analysis period bar flags this with a Limited by warning pointing at the instrument responsible.
This also applies when you add other portfolios to compare, and it's the most common cause of results that "change by themselves": a tab with short history (perhaps used as a benchmark) shortens the common period and therefore changes CAGR, volatility and everything else, even for portfolios you didn't touch. If numbers move after you add a tab, check the start date before looking for other explanations.
Investment strategy
Lump Sum Investment: one amount invested at the start. The cleanest way to measure the strategy itself, since no contribution timing muddies the result.
Recurring cadences (monthly, quarterly, semi-annual, annual): periodic contributions, that is, a DCA plan. More realistic, but it changes what return means: with contributions active, every metric shows two values, TWR and return on contributions. See Simulating a DCA plan.
Commissions: when set, applied to every operation, contributions and rebalancing included.
Rebalancing
Frequency decides how often the portfolio returns to its target allocation: on a fixed schedule (monthly, quarterly, semi-annual, annual), drift-based on a percentage threshold, or never. It's one of the parameters that most affects a comparison between two portfolios, and it's covered in full in Rebalancing.
Inflation adjustment
When enabled, returns and metrics are expressed in real euro. The source can be ISTAT, a fixed rate, or the prices of a product/ETF, including a custom one.
On the growth chart you'll see two curves per portfolio: real (solid) and nominal (dashed).
Mind the maths: real return is not a subtraction. With a 10.1% CAGR and 5% inflation, the real return is 4.9%, not 5.1%, because it's a ratio, (1+0.101)/(1+0.05) − 1, not a difference.
Dynamic portfolio
Lets target weights vary over time instead of staying fixed for the whole backtest, useful for modelling a glide path that reduces equity as a goal approaches. The Show linked charts option displays how weights evolve.
What the engine does not model
- Taxation beyond what you explicitly enable on capital gains and rebalancing.
- Bid-ask spread and market impact on orders.
- Your behaviour: the backtest assumes you followed the plan every single month, including through the worst drawdown in the series.
The last point is the important one. A backtest measures a strategy, not an investor.