The Consumer Division of Harold's company has decided to offer budgeting and financial planning services to customers. They want to build a report for customers that links to their banking and investment accounts and automatically refreshes the data and charts on login. However, some of the calculations are tricky, and Harold could really use some help connecting the accounts and simulating the retirement investment projections. Luckily, there are APIs available to obtain account transactions and fetch retirement portfolio prices.
In this homework assignment, you will help Harold complete the following tasks:
Note: The data produced from the api calls will vary depending on the dates used, causing results that vary from those pictured.
In this section, you will use the Plaid API to obtain transaction and account data for the budget analysis section of the report.
Follow the steps outlined in the budget starter notebook (account_summary.ipynb
) to complete the following:
-
Generate a Plaid access token to access the Developer Sandbox.
-
Use the Access token to fetch account transactions from the sandbox. You should fetch the last 90 days of transactions from the sandbox using the following institution:
INSTITUTION_ID = "ins_109508"
-
Perform basic budget analysis on the sandbox transaction and generate the following plots:
-
Use the API to fetch income data from the sandbox and print the following:
-
Last Year's Income Before Tax.
-
Current Monthly Income.
-
Projected Year's Income Before Tax.
In this section, you will use the Alpaca API to fetch historical closing prices for a retirement portfolio and then run Monte Carlo simulations to project the portfolio performance at 30
years. You will then use the Monte Carlo data to answer questions about the portfolio.
Follow the steps outlined in the budget starter notebook to complete the following:
Create a Monte Carlo simulation for the retirement portfolio:
-
Use the Alpaca API to fetch historical closing prices for a traditional 60/40 portfolio using the
SPY
andAGG
tickers to represent the60%
stocks (SPY
) and40%
bonds (AGG
). -
Run a Monte Carlo Simulation of
500
runs and30
years for the60/40
portfolio and plot the results. -
Select the ending cumulative returns from the Monte Carlo simulation and calculate the interval values for a
90
% confidence interval. -
Using the ending cumulative returns, plot a histogram of the results and plot the
90%
confidence interval as vertical lines on the histogram.
Use the Monte Carlo simulation data to answer the following questions:
-
What are the expected cumulative returns at
30
years for the10th
,50th
, and90th
percentiles? -
Given an initial investment of
$20,000
, what is the expected return in dollars at the10th
,50th
, and90th
percentiles? -
Given the current projected annual income from the Plaid analysis, will a
4%
withdrawal rate meet or exceed that value at the10th
percentile? Note: This is basically determining if retirement income is equivalent to current income. -
How would a
50%
increase in the initial investment amount affect the4%
retirement withdrawal? In other words, what happens if the initial investment had been bigger? -
(Optional Challenge) Use the Monte Carlo data and calculate the cumulative returns at the
5%
,50%
, and95%
quartiles and plot this data as a line chart to see how the cumulative returns change over the life of the investment.
In this section, you will compile a financial report to demo your calculations to the Consumer App Team. The report should be written as a markdown file and include the following sections:
-
Budget Analysis: Summarize the transaction data from the budget analysis and include images for each chart and table produced.
-
Retirement Planning: Summarize the retirement portfolio analysis and include the charts for the Monte Carlo simulation.
Harold was really impressed with your work on this planner, but commented that 30
years seems like such a long time to wait to retire! Harold starts wondering if the retirement plan could be adjusted to retire earlier than normal. Try adjusting the portfolio to either include more risk (a higher stock than bond ratio) or to have a larger initial investment and rerun the retirement analysis to see what it would take to retire in 5
years instead of 30
!
- For the Monte Carlo simulation, start out by running
100
simulations for one year of returns, and when you have the code worked out, run the simulation at100–500
simulations for30
years (this takes a long time).
-
Create Jupyter Notebooks for the analysis and planner and host the notebooks on GitHub.
-
Include a Markdown Financial Planner report that summarizes your assumptions and findings and include this report in your GitHub repo.
-
Submit the link to your GitHub project to Bootcampspot.
© 2020 Trilogy Education Services, a 2U, Inc. brand. All Rights Reserved.