GithubHelp home page GithubHelp logo

mb739132 / forage-jpmc-swe-task-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from theforage/forage-jpmc-swe-task-1

0.0 0.0 0.0 37 KB

Starter repo for task 1 of the JPMC software engineering program

Python 100.00%

forage-jpmc-swe-task-1's Introduction

JPMC Task 1

Starter repo for task 1 of the JPMC software engineering program

Trader's Dashboard Enhancement: Stock Correlation Monitoring

Overview

This project aims to enhance a trader's dashboard by adding a chart that allows the identification of under/over-valued stocks. The trader will be able to monitor two historically correlated stocks and visualize when the correlation between the two weakens. Such instances may signal a potential trade strategy: simultaneously buying the relatively underperforming stock and selling the relatively outperforming stock. If the two prices subsequently converge, the trade should be profitable.

Technologies Used

  • Python 3: The primary programming language for this project. Ensure you have a recent version installed.
  • Perspective: JPMorgan Chase's open-source data visualization software, used for interactive charts.
  • yfinance: Python library for fetching historical stock data from Yahoo Finance.
  • pandas: Data manipulation library for handling and analyzing stock data.
  • matplotlib: Plotting library for additional visualizations.
  • requests: Library for making HTTP requests to data feeds.

Set-Up

Before you can tackle any software development task, you need to set up your development environment. You can think of your local development environment as a virtual workbench with all the tools necessary to work on your project. To set up your dev environment, follow these instructions:

  1. Install Python 3:

    • Ensure Python 3 is installed on your system. Any recent version will work, but the most up-to-date version is advisable.
    • For installation instructions, check out this guide from Real Python: Installing Python.
  2. Fork and Clone the Starter Repo:

    • Fork the repository from GitHub: Fork Repository.
    • IMPORTANT: Uncheck the “Copy the main branch only” box in the fork dialog. A model answer is provided in a separate branch from main.
    • Clone the forked repository to your local machine:
      git clone https://github.com/<your-username>/forage-jpmc-swe-task-1.git
      cd forage-jpmc-swe-task-1
  3. Open the Project in Your IDE:

    • Open the project in your IDE of choice. If you don't have a preferred Python IDE, consider PyCharm Community Edition by JetBrains. It's powerful, feature-rich, and free.
  4. Create a Virtual Environment:

    • Create a new virtual environment in the project root. In PyCharm, you can do this using the “Configure Python Interpreter” option in settings. Alternatively, use the terminal:
      python -m venv venv
      source venv/bin/activate  # On Windows use: venv\Scripts\activate
  5. Install Project Dependencies:

    • Install all required dependencies listed in the requirements.txt file:
      pip install -r requirements.txt

Implementation Steps

  1. Interface with Financial Data Feed:

    • Connect to the relevant financial data feed.
    • Retrieve and process the data for the two stocks being monitored.
  2. Calculate Historical Correlation:

    • Compute the rolling correlation between the two stocks.
    • Identify when the correlation weakens beyond a specified threshold.
  3. Visualize the Data:

    • Use Perspective to create an interactive chart.
    • Highlight instances where the stocks deviate from their historical correlation, signaling potential trade opportunities.

Resources

  • Perspective Documentation: Perspective GitHub Repository
  • Financial Data Feed API: Access a reliable financial data API such as Alpha Vantage, Yahoo Finance, or another service offering historical stock data.

forage-jpmc-swe-task-1's People

Contributors

josiahdc avatar jf-forage 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.