Portfolio Performance
These are the results of a real brokerage account at Charles Schwab, calculated each month from the statements. None of it is backtested or paper traded. Every number is read live from the source spreadsheet, losing months included. Risk metrics are measured against the S&P 500 total return; the Nasdaq 100 is shown for comparison.
Loading latest performance data…Risk & return at a glance
Computed in the source spreadsheet from … monthly returns and refreshed on every page load. Standard errors, confidence intervals and p-values for each figure are in the full table further down.
CAGR
Geometric annualised return of the portfolio.
Volatility (annualised)
Sample standard deviation of monthly returns, annualised.
Sharpe Ratio
Excess return per unit of total risk. Higher means a more favorable risk-to-reward profile.
Sortino Ratio
Like Sharpe, but only penalises downside volatility.
Max Drawdown
Largest peak-to-trough decline of the month-end portfolio value.
Beta (vs S&P 500)
Sensitivity to market moves. Above 1 means more volatile than the index.
Alpha (annualised)
Return not explained by market exposure (Jensen’s alpha).
Information Ratio
Active return over the benchmark relative to tracking error.
Hit Rate
Share of months with a positive return.
R-squared
Share of the portfolio’s variance explained by the benchmark.
Growth of $100,000
What $100,000 would have done at the portfolio's actual monthly returns, against the S&P 500 and Nasdaq 100 (QQQ), all with dividends reinvested.
Monthly returns
Modified-Dietz portfolio return each month, side by side with the S&P 500.
Drawdown
How far the portfolio sat below its previous month-end high at each point in time.
Rolling 12-month beta
Market sensitivity measured over a trailing 12-month window ending each month, against the S&P 500 price return. The dashed line marks a beta of 1.0.
Monthly data table
| Month | Portfolio | S&P 500 | Nasdaq 100 | vs S&P 500 |
|---|
All metrics, with standard errors and conventions
Every statistic the source spreadsheet computes, exactly as it computes it. The first two columns measure against the S&P 500 price return and total return respectively.
| Metric | vs S&P price | vs S&P total | Std. error | Convention |
|---|
Rolling 12-month statistics
| Window ending | Beta | R-squared | Alpha (ann.) | Volatility (ann.) | 12-month return |
|---|
Methodology and sources
- Portfolio returns are monthly Modified-Dietz returns computed from brokerage statements, with external cash flows time-weighted within the month. No adjustments beyond what the statements already reflect.
- Benchmark is the S&P 500. The spreadsheet carries its price return and a total-return proxy (price return plus a constant dividend yield of 1.25% a year). Headline cards use the total-return column; the full table shows both. The risk-free rate is a monthly Treasury-bill proxy.
- Every statistic is computed inside the source spreadsheet by live formulas and read by this page on each load, so the cards, the tables and the spreadsheet always agree. The Convention column in the full table states the exact formula behind each figure.
- Uncertainty: standard errors, t-statistics, p-values and 95% confidence intervals are reported for the mean return, beta, alpha, correlation and the information ratio, so readers can judge how much of a 20-month record is noise.
- Conventions: CAGR is geometric. Sharpe, Sortino and the information ratio annualise the monthly mean by 12 and the monthly deviation by √12. Sortino uses the risk-free rate as its target and a full-sample downside deviation. Beta and alpha come from an ordinary least squares regression of portfolio excess return on benchmark excess return; alpha is annualised arithmetically (monthly times 12).
- Max drawdown is measured on month-end values and understates intra-month drawdown.
- The Nasdaq 100 line (QQQ, dividends reinvested) is stored in the site repository and shown for comparison only; no risk metric uses it.
Common questions
- Is this a backtest? No. Every monthly return comes from a Charles Schwab statement for an account that was open and trading that month. There is no historical simulation and no strategy fitted to past data.
- Is this real money? Yes. It is my own brokerage account at Charles Schwab. The statements behind these numbers are the ones the broker issues each month.
- Who runs this site? Dani Theodore Nassar. I invest my own money and publish the results here. Market Tactical is a personal record, not a company or a fund.
- Do you manage money for other people? No. I do not take client money or charge for anything, and I am not a registered investment adviser. Nothing on this site is a solicitation.
- Are the returns audited? No. They come straight from brokerage statements, but no third party has verified them. That is a fair limitation to weigh.
Figures are calculated from monthly Charles Schwab account statements and have not been independently audited. Past performance does not guarantee future results. Nothing on this site is investment advice.