Project G: Financial Monte Carlo

Overview

The goal of this project is to build a Monte Carlo simulation to aid in financial planning.

Client: Scott Kay, eMoney Advisor

Background

Monte Carlo simulation is a statistical algorithm which we use to calculate the probability of uncertain future events, such as the value of the stock market in the years to come. The algorithm substitutes uncertain variables with random values constrained to a real-world historical model. Many simulations are performed with different random values and probabilistically combined to get the distribution of possible outcomes. Advisors use the result of a Monte Carlo simulation to analyze and discuss the risk of a client's portfolio.

The uncertain variables in this project are the value of 10 market indexes which we will select. We will provide a correlation matrix for the indexes as the real-world historical model. The simulator will calculate the outcome of the uncertain variables for a client's portfolio at yearly intervals.

There are numerous kinds of accounts and financial instruments which may comprise a client's portfolio. We have chosen 5 kinds for this project, described below. We'll explain all of these in more detail with you, so do not be alarmed by some of the financial verbiage.

Simulator

The simulator will load a file representing the client's portfolio in current dollars. It will compute the yearly values of each account starting from the current year up until the client's death. For each year, the simulation will distribute income to loan payments and to investments and apply taxes and growth rates. The Monte Carlo algorithm will be used to populate the uncertain values and statistically aggregate the results. Results of the simulation will be output to the console in any comprehensible format.

Technology

* Should you choose to develop with C#, we can provide assistance to setup your server environment and tool chain.