Skip to content

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 Mont…

Notifications You must be signed in to change notification settings

Analitico-771/grayscale_analysis

Repository files navigation

Contributors Forks Stargazers Issues LinkedIn1 LinkedIn2

Table of Contents
  1. About The Project
  2. Getting Started
  3. Link To Live Streamlit App
  4. Roadmap
  5. Contributing
  6. Contact
  7. Acknowledgements

About The Project

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.

Built With

Getting Started

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 :-)

Prerequisites

A text editor such as VS Code or Sublime Text

Installation

  1. Clone the repo

    git clone https://github.com/AnaIitico/grayscale_analysis.git
  2. You don't need to install pip - Conda comes with pip and you can also use the command conda install 'package name'

  3. 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!!

  4. Activate Conda Dev environment

    conda activate dev

    You should now see (dev) on your terminal (if not go back to step 3)

  5. Install JupyterLabs

    pip install jupyterlab
  6. Run JupyterLab as needed

    jupyter lab

    A browser window should open on localhost:8888/lab

  7. 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.

  8. Install Streamlit from the Anaconda Navigator

  9. Install yfinance Api

    pip install yfinance
  10. Install other dependencies with conda.

    • Search google for the correct conda intall command
    • See the acknowledgements sections for other dependencies

Usage

https://share.streamlit.io/anaiitico/grayscale_analysis/main/app.py

Roadmap

M.V.P.

Provide the following:

  • 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

Stretch Goals

Provide the following:

  • 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

Here are some screenshots and code snippets of the working app

App User Interface

App User Interface

Beta & Normalized Portfolio

Beta & Normalized Portfolio

Heatmap

Heatmap

Historical Portfolio

Historical Portfolio

Monte Carlo Simulation Results

Monte Carlo Simulation Results

Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contact

Jose Tollinchi - @josetollinchi - jtollinchi1971@gmail.com

Nick Danialy - @nicklaus-danialy - nickdanialy@gmail.com

Project Link: https://github.com/AnaIitico/grayscale_analysis

Acknowledgements

Other Dependencies used to build the project.

Search google for the correct conda install command
  • 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.

About

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 Mont…

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published