Skip to content

gatsbyz/blue-sky-retirement-plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Retirement Global 2.0

Executive Summary

Retirement Global 2.0 is our new and improved application designed to help working class citizens live out their dream retirement sooner. In addition to our original promise, we seek to provide our clients with new products to help them build wealth. The new Housing Analytics tool leverages the cutting edge of machine learning and predictive technology to guide our clients on where to purchase investment properties or their retirement homes.

How To Run

  1. Open RoboAdviser-LexJson.zip file to start Amazon Lex chatbot
  2. Enter the utterance: "I want to retire"
  3. Follow and answer prompts from Amazon Lex chatbot
  4. The CUI will show you the cities you can retire in.
  5. Map results saved in Interactive_retirement_map.html
  6. Retire!

Sample Prompts (Amazon Lex)

? What is your current age 25

? By what age, would you prefer to retire? 65

? How much do you have in liquid cash savings (USD) 50000

? Would you like your portfolio to be conservative[1], conservatively moderate[2], or moderate[3]? 3

? How much would you like to invest in stocks and bonds? 40000

Sample Output/Response

You can retire in ['Paris/France', 'Hamilton/Canada', 'Milan/Italy', 'Bucaramanga/Colombia', 'Madrid/Spain', 'Delhi/India']

For Users -- General Overview & Flow

Part 1: Data inputs will be generated to determine the years in retirement, size and risk profile of the user's investment portfolio, and historical growth rates of indices.

Part 2: Users will forecast the performance of their portfolio at the age they wish to retire until the time they choose to retire. Historical price data will be used to generate Monte Carlo simulations to compute total savings (mean) for the time, which elapses btwn the user's current age and the year they prefer to retire.

Part 3: This total cash savings, in addition to asset appreciation will be exported to the Cost of Living Calculator to determine the list of viable cities where the user can retire.

List of Cities within Scope of Analysis

Hamilton (Bermuda)
Hong Kong
Los Angeles
Paris
Milan
Bucaramanga (Colombia)
Mardrid
Delhi
Hamilton (Canada)


Documents

###Team Presentation (Slides)
https://docs.google.com/presentation/d/1telx0y47zEFE7gah3XCnOr20Z_wnIJqP7ymZ5ulgjtM/edit?usp=sharing

###Team Charter
https://docs.google.com/document/d/1laAHUYkqxnocPBQqIeRB0HaU6wA8JShfNR4nlD4YaIU/edit?usp=sharing


Technologies

Required programs, libraries, systems, and overall dependencies:
Python (version 3.0 or later)
Amazon Lex == V2
Pathlib
pandas
%matplotlib
hvplot.pandas
sqlalchemy
numpy
simulation
fileio
fire==0.4.0
pip==22.0.4
prompt-toolkit==3.0.28
questionary==1.10.0
setuptools==58.1.0
six==1.16.0
termcolor==1.1.0
wcwidth==0.2.5
wheel==0.37.1

Installation Guide

pip install Voila
pip install Fire
pip install folium
conda install -c pyviz hvplot geoviews


Usage of Retirement Global 2.0 App

Getting User info:

import questionary
def get_retire_plan_user():
    age = questionary.text("What is your current age").ask()
    retirement_age = questionary.text("By what age, would you prefer to retire?").ask()
    savings = questionary.text("How much do you have in liquid cash savings (USD)").ask()
    portfolio_type = questionary.text("Would you like your portfolio to be conservative[1], conservatively moderate[2], or moderate[3]? (Enter 1, 2, or 3)").ask()
    total_stocks_bonds = questionary.text("How much would you like to invest in stocks and bonds?").ask()
        
    age = int(age)
    retirement_age = int(retirement_age)
    savings = float(savings)
    portfolio_type = int(portfolio_type)
    total_stocks_bonds = float(total_stocks_bonds)
    return age, retirement_age, savings, portfolio_type, total_stocks_bonds

Snippet of Monte Carlo code

output = simulation.run_mc_output(df_portfolio, portfolio_type, years_to_retirement)
output
output.calc_cumulative_return()

View of Amazon Lex Screen

view_Lex_screen

Short Clip of Amazon Lex Chatbot

view_Lex_screen

Forecast Simulation

sample_output_MC


Useful GitHub commands for Group Coordination

git checkout -b [BRANCH_NAME]: new branch

git checkout [BRANCH_NAME]: change branch

git branch : which branch am I in

when i wanna push code:
git add -A / git add filename
git commit -m "COMMIT_MESSAGE"
git push if this doesn’t work git pull --rebase origin master then try git push again

git branch -D {BRANCH_NAME} delete branch


Contributors

Tracy Davis
Reginald Hyppolite
Jesse Lee
Wonkyung Lee
Tyler Shubert

BIG THANKS to all the great TAs and Professor Vinicio DeSola


License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •