Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gatsbyz/blue-sky-retirement-plus


https://github.com/gatsbyz/blue-sky-retirement-plus

Last synced: about 1 month ago
JSON representation

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 Shubert

BIG THANKS to all the great TAs and Professor Vinicio DeSola

---

## License
MIT