Table of Contents
This project was created by: Nick Danialy and Jose Tollinchi and its live on Streamlit. See the link in the Usage section
This is an application that fetches historical data on 1 index, 4 stocks, and 2 crypto currencies and performs analytical calculations to assist in conducting a relative analysis between the index and the crypto currencies to determine if a relationship exists and the type of relationship for the purpose of conducting portfolio analysis and Monte Carlo Simulation for forecasting potential future returns.
The user can experiment with many different variations of choices for portfolio analysis based on preferences and risk tolerance.
- Postman
- Python
- Python CSV Reading/Writing
- Python pandas
- Python Streamlit
- Python hvplot.pandas
- Python conda
- Python JupyterLab
You don't need Python directly on your system. You can install Anaconda for a virtual environment and JupyterLab normally just like any other application on your computer. Follow the instructions for Anaconda, ensure that its working, then install JupyterLab.
You will need Anaconda Navigator as the preferred tool to install the Streamlit environment. Go to the Streamlit docs to follow the installation.
We used Postman and Jupyter Lab to test the APIs, look at the object returned, and look at the dataframe to develop the ETL code/process (extraction, transformation, and loading) of the data.
I have placed Comments throughout the code so that you can follow the code and be able to replicate the app on your own. Also, so that you're able to contribute in the future :-)
A text editor such as VS Code or Sublime Text
-
Clone the repo
git clone https://github.com/AnaIitico/grayscale_analysis.git
-
You don't need to install pip - Conda comes with pip and you can also use the command conda install 'package name'
-
Install Conda according to the instructions based on your operating system. For windows users you MUST use the Administrator PowerShell. Users with AMD Processors MUST use the Administrator PowerShell 7 (X64) version
Once installed Conda has an Admin PowerShell version shortcut - look on your Start menu for it. This shortcut will prove very useful at times when you need to install other apps or make adjustments to your installation
Once installed and you have finished all Conda instructions, you will see (base) on your terminal. Make sure that you finish the Conda full installation or this will not work!!
-
Activate Conda Dev environment
conda activate dev
You should now see (dev) on your terminal (if not go back to step 3)
-
Install JupyterLabs
pip install jupyterlab
-
Run JupyterLab as needed
jupyter lab
A browser window should open on localhost:8888/lab
-
Rename the .ignoreSample to .ignore to keep those folders out of you repo, and keep your keys secret. Add any folders or filenames that you want to exclude from your repo into this file.
-
Install Streamlit from the Anaconda Navigator
-
Install yfinance Api
pip install yfinance
-
Install other dependencies with conda.
- Search google for the correct conda intall command
- See the acknowledgements sections for other dependencies
https://share.streamlit.io/anaiitico/grayscale_analysis/main/app.py
- User input for data parameters
- Error catching logic for user input
- Price correlations between assets
- Asset Beta compared to Index
- Correlation Heatmap
- Sharpe Ratios
- Hypothetical past portfolio performance
- Hypothetical future portfolio performance based on weighted assets
- Monte Carlo Simulation based on user input
A text editor such as VS Code or Sublime Text
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Jose Tollinchi - @josetollinchi - jtollinchi1971@gmail.com
Nick Danialy - @nicklaus-danialy - nickdanialy@gmail.com
Project Link: https://github.com/AnaIitico/grayscale_analysis
Other Dependencies used to build the project.
- pandas
- python-dotenv
Other Acknowledgements
- Img Shields
- Choose an Open Source License
- Yahoo!, Y!Finance, and Yahoo! finance are registered trademarks of Yahoo, Inc. yfinance is not affiliated, endorsed, or vetted by Yahoo, Inc. It's an open-source tool that uses Yahoo's publicly available APIs, and is intended for research and educational purposes. You should refer to Yahoo!'s terms of use (here here here) for details on your rights to use the actual data downloaded. Remember - the Yahoo! finance API is intended for personal use only.