Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gatsbyz/blue-sky-retirement-plus
https://github.com/gatsbyz/blue-sky-retirement-plus
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/gatsbyz/blue-sky-retirement-plus
- Owner: gatsbyz
- Created: 2022-07-01T00:53:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-07-11T01:40:34.000Z (over 2 years ago)
- Last Synced: 2023-03-10T01:31:47.492Z (over 1 year ago)
- Language: Jupyter Notebook
- Size: 7.96 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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:
```python
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
```python
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](https://github.com/gatsbyz/blue-sky-retirement-plus/blob/Reggie/Amazon_Lex_screen.png)## Short Clip of Amazon Lex Chatbot
![view_Lex_screen](https://github.com/gatsbyz/blue-sky-retirement-plus/blob/Reggie/Lex_clip.mp4)## Forecast Simulation
![sample_output_MC](https://user-images.githubusercontent.com/11021924/168452488-f5470627-b15b-4166-8dd5-ace160e4e9c0.png)---
# 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 ShubertBIG THANKS to all the great TAs and Professor Vinicio DeSola
---
## License
MIT