Giter Club home page Giter Club logo

analitico-771 / grayscale_analysis Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 3.0 2.88 MB

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.

Python 0.70% Jupyter Notebook 99.30%
python fintech fintech-api cryptocurrency-exchanges stock-analysis api-rest alpaca-trading-api bitfinex-api streamlit-webapp pandas-dataframe hvplot financial-analysis quantitative-finance quantitative-analysis

grayscale_analysis's Introduction

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 - [email protected]

Nick Danialy - @nicklaus-danialy - [email protected]

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.

grayscale_analysis's People

Contributors

analitico-771 avatar ndanialy avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.