Simulation Assumptions

Key settings to make simulations more realistic


Data and performance returns shown are for illustrative purposes only. Though we have made an effort to closely match performance results shown to that of portfolios over time, these results are entirely the product of computer models. Actual individual investor performance has and will vary depending on the time of the initial investment, amount and frequency of contributions, intraperiod allocation changes, taxes and other factors. Additionally, this tool illustrates past performance, but is not and cannot be indicative of future results.

For models comprised of exchange traded funds (ETFs), they are each similar to a number of common equity and bond indices. Model results and volatility of asset allocation over a given timeframe are likely to be similar to a comparable blend of these indices, but it is possible that the model portfolios would have performed better or worse than the comparable blend of indices. These differences may be due to, but are not limited to, portfolio rebalancing, dividend reinvestments, fees, and the impact of market conditions.

Pricing Assumptions

We expect that individual users will achieve individual results. However we require that our display have some statistical basis that permits people to differentiate between the systems. Furthermore, we need a price when calculating transactions that reference a share count during a rebalance. We therefore must have a single reference price for all transactions.

When assessing an automated simulation — generally either a Designer, or automatically-rebalancing personal model — we will make a few assumptions about the price.

Our simulation protocol assumes all trades occur on a Monday (or if the market is closed on a particular Monday, then the first trading day of the week) and that it is accomplished in a single lot that is priced at the close for that day.

To account for trading costs (commissions and general market friction), we penalize these prices (add to Buy prices and subtract from Sell process) based on slippage as per our protocol that imposes penalties the size of which vary depending on the stock’s liquidity. While users may set this to a fixed value in their personal models, in asset allocation and designer models this is instead set to a variable schedule depending upon the liquidity of the securities. Liquidity is determined by calculating a 10-day average of volume traded times price.



Up to $50,000


$50,001 to $100,000


$100.001 to $350,000


$350,001 to $1,000,000


$1,000,001 to $5,000,000


$5,000,001 or higher


ETF systems use a constant 0.10%; they are liquid by design, so we penalize them minimally. As a practical matter, the expert stock models we make available on this site have rules that eliminate stocks in the lower-liquidity categories.

Splits and Stock Dividends

Splits are applied on the dates that they became active. All numbers presented on Portfolio123 are as of the date of the last available pricing data. For example, if a stock split in January 2015 and then left the database in July 2017, and you look at a transaction that would have taken place in September 2014, it will be expressed in July 2017 terms.

We apply stock dividends the same way that we apply splits, except that we differentiate between the ex-date and the payment date. If a stock is owned on the ex-date then it will have the split applied. If not, then the stock will be priced as appropriate thereafter.

Cash Dividends and Spinoffs

Cash dividends are not reinvested per se. Generally speaking, new positions are initiated when there is enough cash in the system to allow a new full position to be purchased.

Dividends, in practice, almost never cause this; only position sales will allow it. Because of this, the only time that dividends are reinvested, in effect, is when the system is selling and repurchasing the same security at the same rebalance. Cash dividends are otherwise received into the cash position and then held until the next time that the portfolio makes a purchase.

Other corporate events are generally assumed to received as cash-equivalent dividends. This means that when there is an option, the system will take whatever it can in cash. Anything that is received above that is sold immediately. This is most commonly the case for spinoffs, where the new stock is sold immediately for cash. Our data providers will tell us what the economic value of the deal was. This behavior is not user-configurable.

Forced Sales

The general behavior of a portfolio system is to sell a position if it exits the universe. A stock can exit a universe in a few ways: It can either cease existing entirely (as through bankruptcy or acquisition) or it can otherwise no longer qualify for the universe. For example, if a stock is removed from the S&P 500 and you’re using the S&P 500 components universe, then the stock will exit the universe when it is no longer a component.

This will happen at the next rebalance, and the system will receive the last known price on the date that it exited. Note that the systems may therefore hold a cash position for, potentially, the entire rebalance period less a day, where a stock is purchased and ceases to exist the next day. If a stock still exists but exited the universe for some other reason then it will be priced as if it was a standard sell on the date of the rebalance.

A designer can opt to not sell merely because a stock exits the universe. This might be useful in the S&P example, for example, where you don’t want to sell an otherwise attractive position simply because it is no longer part of the index. If a stock exits the database entirely then it will be unaffected by this option.

Cash Return

In the interest of financial conservatism, cash positions are assumed to have a return of zero in all cases.