The expense ratios of mutual funds and ETFs are captured in the fund share price, and the displayed performance calculated from the adjusted close prices accounts for the fund expense ratio. This SEC publication provides more information on how the mutual fund share prices are calculated and how any fees are handled.
All returns for long positions are based on total return including dividends and capital gains distributions. Short positions can be entered by specifying a negative allocation weight for the shorted assets.
This section provides additional technical information and clarifications regarding the tools to address common questions.
The asset allocation backtesting tool uses asset class return data to backtest simulated portfolio returns. The asset allocation backtesting tool calculates portfolio returns (end balance, CAGR, IRR), risk characteristics (standard deviation, Sharpe ratio, Sortino ratio, maximum drawdown), and rolling returns based on monthly data. The risk free rate is based on historical 1-month treasury bill return data from Professor Kenneth French's data library. Inflation adjusted returns, withdrawals and contributions are based on the CPI-U data from the Bureau of Labor and Statistics. Internal rate of return (IRR) is shown for portfolios with periodic withdrawals or contributions. By default the simulated portfolio is rebalanced annually. Asset allocation drift data is displayed under the results section if rebalancing is disabled. Besides annual rebalancing the rebalancing period can also be set to monthly, quarterly, or semi-annual. Rebalancing bands are also supported, and the default rebalancing bands are based on 5% absolute deviation from the target allocation (large allocations), or 25% relative deviation from the target allocation (small allocations). If the target allocation for an asset is 60%, then the absolute deviation threshold would trigger rebalancing when the asset's weight in the portfolio hits 65% or 55%. If the target allocation for an asset is 10%, then the relative deviation threshold would trigger rebalancing when the asset's weight in the portfolio hits 12.5% or 7.5%.
The portfolio backtesting tool calculates portfolio returns (end balance, CAGR, IRR) based on monthly asset returns. Risk characteristics (standard deviation, Sharpe ratio, Sortino ratio) are calculated from monthly returns and annualized, and maximum drawdown is calculated from monthly portfolio balances. The portfolio backtesting tool tool uses total return data for the specified mutual funds, ETFs and stocks, and assumes by default that all dividends and capital gains distributions are reinvested. The risk free rate is based on historical 1-month treasury bill return data from Professor Kenneth French's data library. Inflation adjusted returns, withdrawals and contributions are based on the CPI-U data from the Bureau of Labor and Statistics. Internal rate of return (IRR) is shown for portfolios with periodic withdrawals or contributions. By default the simulated portfolio is rebalanced annually. Asset allocation drift data is displayed under the results section if rebalancing is disabled. Besides annual rebalancing the rebalancing period can also be set to monthly, quarterly, or semi-annual. Rebalancing bands are also supported, and the default rebalancing bands are based on 5% absolute deviation from the target allocation (large allocations), or 25% relative deviation from the target allocation (small allocations). If the target allocation for an asset is 60%, then the absolute deviation threshold would trigger rebalancing when the asset's weight in the portfolio hits 65% or 55%. If the target allocation for an asset is 10%, then the relative deviation threshold would trigger rebalancing when the asset's weight in the portfolio hits 12.5% or 7.5%.
The portfolio optimization tool supports optimizing portfolios based on the following strategies:
The optimizer uses differential evolution algorithm for optimizing minimum drawdown and maximum Sortino and Omega ratios. The results from the evolutionary algorithm for non-convex optimization may vary slightly between optimization runs depending on convergence to global optimum.
The Black-Litterman asset allocation model combines ideas from the Capital Asset Pricing Model (CAPM) and the Markowitz’s mean-variance optimization model to provide a a method to calculate the optimal portfolio weights based on the given inputs. The model first calculates the implied market equilibrium returns based on the given benchmark asset allocation weights, and then allows the investor to adjust these expected returns based on the investor's views. The opinion adjusted returns are then passed to the mean variance optimizer to derive the optimal asset allocation weights. The Black-Litterman model supports both absolute views (expected return for the given asset) and relative views (asset #1 will outperform asset #2 by X), and addresses many of the shortcomings of mean-variance optimization, which often results in concentrated portfolios based on past asset performance.
The Monte Carlo portfolio simulation tool provides a means to test long term expected portfolio growth and portfolio survival based on withdrawals. The following simulation models are supported for portfolio returns:
Periodic contributions and withdrawals are supported, and the amounts can be adjusted for the simulated inflation. For withdrawals the tool also supports withdrawing a fixed percentage from the portfolio periodically, or withdrawing a variable percentage based on remaining life expectancy. Fixed percentage based withdrawals can be smoothed with spending rules. Rolling average spending rule calculates the withdrawal amount as a percentage of the rolling average portfolio balance, and geometric spending rule calculates a weighted sum of the prior period's spending level adjusted for inflation and the percentage of the current portfolio balance where the former is multipled by the smoothing rate and latter by one minus the smoothing rate. For life expectancy based withdrawals the current age is a required parameter, and the age is assumed to increased by 1 before the end of the first simulated year, i.e., if the current age is 70, then the first year's withdrawal is based on remaining life expectancy at age 71. If the withdrawal frequency is not annual, then the percentage is adjusted automatically, e.g., quarterly withdrawals would use one quarter of the annual percentage amount (one divided by remaining life expectancy). Life expectancy tables are based on IRS Publication 590-B. For percentage based withdrawals the tool displays the withdrawals both in nominal dollars and in present dollars per the simulated inflation model.
The simulation model supports testing for the sequence of returns risk. The sequence of returns risk is the risk of receiving poor returns early in a period when withdrawals are taken from a portfolio, e.g., when starting retirement. These poor early returns may cause the portfolio to be depleted much faster than expected based on historical averages. The stress testing model allows the user to specify the number of years of poor early returns, and the simulated return series is adjusted so that the worst returns occur upfront. For example, if the sequence of generated returns is [1%, 5%, -2%, -7%, 4%], then stress testing for 1 poor return upfront would adjust the return series to [-7%, 1%, 5%, -2%, 4%], and stress testing for 2 poor returns upfront would adjust the return series to [-7%, -2%, 1%, 5%, 4%].
The efficient frontier is a concept in modern portfolio theory introduced by Harry Markowitz in 1952. The efficient frontier tool shows the return and risk curve for the mix of the selected assets that minimizes the portfolio risk for the given expected return. Efficient frontiers can be constructed based on historical returns, or forecasted returns for and volatilities. Forward-looking efficient frontier portfolios based on user-specified, expected returns and volatility use historical asset class correlations.
The asset correlation tool computes the Pearson correlation for the selected assets based on daily, monthly or annual asset returns. The tool also shows the annualized return for the selected assets based on the compound annual growth rate formula and the selected asset return series. Monthly standard deviation is calculated based on full calendar months within the time period for the selected tickers.
The factor regression analysis tool enables factor analysis of mutual funds and ETFs. The supported models include the capital asset pricing model (CAPM), the Fama-French three factor model, the Carhart four-factor model and the Fama-French five factor model. The multiple linear regression shows how well the returns of the given assets or a portfolio are explained by market, size, value and momentum factors, and the Fama-French five-factor model extends the three-factor model with profitability (RMW) and investment (CMA) factors. The tool also supports other factor models including Quality Minus Junk (QMJ) and Bet Against Beta (BAB) factors (Asness, Frazzini, Pedersen). The analysis is based on monthly asset returns (total return) and monthly factor returns. Term and credit risk factors are also supported to enable analysis of fixed income funds and balanced funds. The supported fixed income factor models include:
The fixed income factor premiums are calculated using the following funds:
The factor regression tool supports the use of robust standard errors based on the Newey–West estimator. The estimator can be used to try to overcome autocorrelation and heteroscedasticity of the residuals, which can impact the standard errors and thus the calculated t-statistics and p-values.
Note that historical equity factor returns are sometimes revised based on changes to CRSP database. Examples include updating and correcting the number of shares outstanding in past periods and changes in the treatment of deferred taxes described in FASB 109, i.e., factor returns published after August 2016 no longer add Deferred Taxes and Investment Tax Credit to BE for fiscal years ending in 1993 or later.
The factor exposure matching tool enables testing whether the factor exposures and performance of the given asset can be replicated using other available assets, e.g., by using cheaper and more widely available funds or ETFs with same factor exposures and performance rather than investing in a more expensive product. The tool computes the factor exposures of the target asset using the specified factor model and time period, and then explores the combinations of the given alternative assets to find the closest match. The factor matching can be weighted equally, in which case the tool tries to minimize the sum square of factor loading differences for statistically significant factors, or based on t-stat, in which case the absolute t-stat value of the factor loading is used to weight the squared differences to prioritize matching based on the most significant factors. The tool also displays the closest match based on straight performance matching for comparison purposes. The straight performance matching is based on a combination of alternative assets that minimizes the sum square of monthly return differences.
This model compares a baseline balanced portfolio (60% stocks, 40% treasury notes) with a portfolio that adjusts the stock and bond allocation based on the market valuation. The baseline portfolio is rebalanced annually, and the timing portfolio adjusts its allocation at the start of each year based on the Shiller PE10 ratio. The allocation changes to the timing portfolio are based on market valuation differing significantly from PE10 value of 18 (PE10 average since 1950).
Moving average model uses the crossover of the moving average with the price or another moving average to decide whether to invest in the given asset. If the end-of-month price is greater than or equal to the moving average, the model will invest in the selected asset (risk on). If the end-of-month price is less than the moving average, the model will invest in an alternative safe asset, e.g., cash (risk off). Alternatively the crossover of price and moving average can be replaced with the crossover of two moving averages, typically using a shorter term moving average being higher than the longer term moving average as the buy signal. The moving average is calculated from adjusted close prices either based on end-of-month prices for monthly moving averages or daily prices when the moving average is specified in trading days. The start year of the timing model backtest is adjusted forward if necessary so that there is enough historical data to trigger the timing signal from the start of the timing period. All trades are performed using the end-of-month close price.
The relative strength model uses the relative strength of an asset compared to other assets to decide which assets to invest in. The model favors assets with the best recent performance (momentum), and invests in one or more assets based on a performance ranked list of assets. Two options for relative strength timing windows are provided:
Both models above also support moving average based risk controls, which allows the relative strength model selections to be overridden so that the model invests in cash instead of the asset if the price of the asset is below its moving average. The moving average is calculated as described above. The start year of the timing model backtest is adjusted forward if necessary so that there is enough historical data to trigger the timing signal from the start of the timing period. The months in the timing period are calendar months, and monthly changes are based on the end-of-month adjusted close price. All trades are performed using the end-of-month close price.
The dual momentum model combines relative momentum and absolute momentum based timing. Relative strength is used to select the best performing model asset(s) and absolute momentum is then applied as a trend-following filter to only invest in the selected asset(s) if the excess return over the risk free rate has been positive. If the excess return is negative, then the model invests in short- to intermediate-term fixed income instruments (the out-of-market asset) until the trend turns positive. The relative momentum performance is calculated as the asset's total return over the timing period, and the return of 1-month treasury bills is used as the risk free rate for the absolute momentum filter. The months in the timing period are calendar months, and monthly changes are based on the end-of-month adjusted close price. All trades are performed using the end-of-month close price.
Rapach and Strauss and Zhou (2013) find that the US stock market leads the world markets even at the monthly frequency, so the supported options include specifying a single asset to be used for absolute momentum. As discussed in Gary Antonacci's Dual Momentum book, we can first apply absolute momentum based on the US stock market (e.g. S&P 500 TR) and assuming the excess return over the risk free rate is positive, we use relative momentum to choose between US equity and international equity. If the absolute momentum excess return is negative, the model is invested in the selected out-of-market asset, e.g., Barclays U.S. Aggregate Bond Index.
The adaptive asset allocation model combines relative strength momentum model with different asset weighting. The relative strength model uses an equal weight allocation for the model selected assets, whereas the adaptive asset allocation uses either risk parity allocation or minimum variance allocation for the model assets, i.e., it either equalizes the risk contribution across the selected assets or weights the assets in order to minimize the expected volatility. Both the relative strength momentum timing period and the period for daily volatility and return calculations can be specified. The default model uses 6-month relative momentum with 60-day volatility window.
The target volatility model uses dynamic asset allocation to achieve a stable level of volatility. The model manages volatility by forecasting future equity volatility based on historic realized volatility and then dynamically adjusts the market exposure to target a set level of volatility. The historic realized volatility calculation assumes that the given portfolio allocation is maintained (no adjustment for asset allocation drift). The model calculates the realized portfolio volatility (annualized daily volatility) based on daily total returns, and then either increases or decreases the equity exposure of the portfolio to maintain the target risk level. If the predicted volatility of the portfolio is above the set target level, the model shifts assets to a risk free asset, typically cash, so that the predicted volatility is in line with the target volatility. For example, if the target annual volatility is 4% and the realized volatility is 6%, then the portfolio asset weights are multiplied by 40/60 and the remaining assets are allocated to the selected risk free asset. The strategy aims to sell assets when their risk-adjusted expected return is falling (rising market volatility) and buying equities when their risk-adjusted expected return is rising (falling market volatility) to provide better risk-adjusted portfolio returns and to account for investor's risk tolerance. However, volatility targeting tends to reduce equity exposure after a sharp market drop, which means the portfolio may miss the early part of the market recovery.
The data sources for factor analysis are listed below.
The bond factors for term risk and credit risk are calculated as follows:
The data sources for monthly asset class returns are listed below. The table of annual asset class returns shows the calculated annual returns based on the data sources below. You can also import a custom return series to be used as an asset class, as a portfolio asset or as a benchmark.
Below you can find a list of references to additional market data sources:
Last Modified: April 23rd, 2018