Skip to content
Uses React and D3 to visualize the performance of thousands of potential financial portfolios across a given time range.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

This project calculates and visualizes the performance of $10,000 during all possible historic periods of a chosen length since 1928. For example, investors have seen 86 seperate 5-year periods, 66 25-year periods, and only one 90-year period. This tool allows people to adjust the period length and asset allocation** - their mix of stocks, bonds, and cash. The user can hover over each line to see performance details.

finsim gif

Ultimately 8,900 different portfolio/holding period scenarios can be explored on the fly. This project uses React to coordinate event handling and state management. The financial calculations are all done on the client and recalculated upon each change in the holding period length or asset allocation mix. D3 calculates scales, axes, colors, etc, though it is largely through React components that actual DOM elements are generated for the DOM.

Historical market data is from Federal Reserve database in St. Louis (FRED) via NYU professor Aswath Damodaran. The data run from 1928 to 2017. Stocks represent the S&P 500 including dividends. Bonds are represented by 10-year treasury bonds. Cash is represented by three-month U.S. treasury bill. Assets are compounded annually. There is no adjustment for inflation here.

You can’t perform that action at this time.