US stock market
S&P 500: price & dividends
Price series in EUR
Historical comparison
See what $10,000 could have become.
Compare stock indices including dividends with Bitcoin, gold, real estate, global investment-grade bonds, broad commodities and money markets on the same starting capital. The two real-estate series use separate rent assumptions; the overall comparison can be shown in nominal or real terms.
Market overview
Fixed periods with $10,000 starting capital
| Asset | |||||||
|---|---|---|---|---|---|---|---|
| S&P 500 | |||||||
| Bitcoin | |||||||
| Gold | |||||||
| MSCI World | |||||||
| Real estate Germany | |||||||
| Real estate USA | |||||||
| DAX | |||||||
| EURO STOXX 50 | |||||||
| Global IG bonds (EUR hedged) | |||||||
| Global IG bonds (unhedged) | |||||||
| Broad commodities | |||||||
| Euro money market | |||||||
| US money market (EUR) |
Swipe sideways for more periods
Focus a table cell to see the date and starting value.
Individual series
Choose a period for each asset class
US stock market
Price series in EUR
Crypto, BTC/EUR
UTC daily reference value
Precious metal
Investable EUR proxy
Developed-markets stocks
Price series in EUR
German residential real estate
Eurostat residential property price index, quarterly
Default: 3.0% after ongoing property costs, without reinvestment. Calculate real-estate costs
German stock market
DAX price index
Euro-area stock market
EURO STOXX 50 Price Index
US residential real estate
FHFA residential property price index, monthly
Default: 5.0% after ongoing property costs, without reinvestment. Calculate real-estate costs
Global bonds
Accumulating total-return proxy
Global bonds & currency
Total return from a EUR investor’s perspective
Global commodity basket
Broad ETC total-return proxy in EUR
Euro-area liquidity
EONIA/€STR wealth index
Liquidity & USD/EUR
EFFR/SOFR wealth index from a EUR perspective
Overall comparison
Nominal return | no inflation adjustment
Results
Loading period
| Asset | Model tax | Last observed value |
|---|
Calculated from consecutive source observations. When taxes are enabled, changes in tax status, including completed holding periods, also affect the net path.
| Asset |
|---|
Transparency
For each asset, units are calculated at the value on the common start date. Bitcoin and gold follow starting capital × value(t) / value(start). For the S&P 500, MSCI World, DAX and EURO STOXX 50, the price index remains visible as its own line. A second line shows the corresponding value including price growth and reinvested dividends. Only total return and portfolio value use this second calculation.
Multpl publishes annualised dividend yield as the 12-month dividend per share divided by price. For the S&P 500, the backtester allocates this value pro rata up to each calendar date and assumes reinvestment. For the MSCI World, DAX and EURO STOXX 50, the full annual value is credited on 31 December. For the EURO STOXX 50, the historical net dividend factor uses an accumulating UCITS ETF proxy because an official SX5T history is not freely available. Daily risk metrics still use only real price observations.
Net rental cash flow is a freely adjustable model assumption after ongoing property costs. The default is 5.0% for the USA and 3.0% for Germany. It is calculated only in the respective individual series on the original starting capital, held as cash and not reinvested. Financing, purchase costs, selling costs and personal taxes must already be reflected in the inputs.
For real returns, the backtester divides each nominal portfolio value by the change in the selected consumer price index since the start date. Available choices are HICP for Germany and the euro area, US CPI-U and a constant custom annual rate. Monthly inflation values are carried forward until the next official observation.
TER is disabled by default and modelled as a constant annual cost only after explicit activation. It can be used for each individual series and uniformly across all lines in the overall comparison. This also applies to Bitcoin, gold and real estate if a fund, ETF, ETC or ETP product is being represented. The prefilled values are adjustable model assumptions. A series based on a fund proxy may already include ongoing product costs in its history; an additional TER input is therefore a conservative extra charge.
The tax model in the overall comparison calculates an independent full sale on every chart date. Settings include available savings allowance, general capital losses, private-sale losses, other §23 gains, personal marginal tax rate, church tax, optional personal-income Soli and the tax treatment of each investment. The detailed breakdown shows the selected date, gross gain, exemptions, offsets, taxable income and each tax component. Taxes reduce chart performance and result metrics. They are never deducted recursively every day. Current German rules are applied to historical dates as a simplified sale-only model. No ongoing distribution or interest taxes, advance lump sum, foreign treaty / withholding taxes or fund transition rules before 2018 are simulated. Details appear when you enable the model.
The global tax switch also applies to saved and completed portfolios, their individual charts and the 60/40 reference. Portfolio sales use FIFO acquisition lots and one shared annual tax calculation with separate capital and private-sale loss pools. Actual tax payments from rebalancing reduce reinvestable capital. The remaining positions are sold only hypothetically on each chart date. The detailed overview separates tax already paid, additional final-sale tax, total tax and lost reinvestment. Portfolio allocation rules and optimisation remain before personal taxes. Period buttons rebase a chart excerpt to EUR 10,000 without resetting acquisition dates or tax history.
Volatility, Sharpe ratio and period statistics use observed changes; when the tax model is enabled, tax-status changes are included as well. Daily market series are annualised with 252 periods, Bitcoin with 365.2425, the US real-estate index with 12 and the German real-estate index with 4 periods per year. The backtester sets the risk-free rate to 0% for the Sharpe ratio.
Loading source metadata.