Skip to content

mayur7garg/FinancialModelling

Repository files navigation

Financial Modelling

Easy to follow stock price analysis on Indian stock data with results hosted at GitHub Pages - FinancialModelling

Table of content

Click to expand

Data

Sources

This project uses historical data acquired from publicly available sources listed below:

  1. NSE India - Daily stock prices
  2. Screener.in - Stock PE

Update schedule

Stock # data is updated 3 times a week for a set of symbols via a cron workflow running on GitHub actions.

Updating PE data, however, is a manual process. Hence, PE information is not likely to be correct for recent dates and should not be relied upon.

Project Prerequisites

Docker

Development of this project was done inside a Docker container using the base image of Python v3.11.6. The same environment can be set up using the docker-compose.yml available here.

If using VS Code or GitHub Codespaces, a developmental container can be instantiated using the devcontainer.json file

Requirements

All top level packages used in this project are listed in the requirements file. This project does not use any niche functionality from any of the listed packages and hence should work with their most recent releases.

Usage

Static reports

This project generates static HTML reports which are hosted using GitHub Pages which can be viewed at FinancialModelling.

To regenerate the reports and the associated plots, run the following command:

cd 'Stock Forecasting' && python main.py

Once generated, the reports can be viewed by opening index.html in any web browser.

Interactive notebook

An interactive marimo notebook has been included which can be run using the following command:

cd 'Stock Forecasting' && marimo run stock_interactive.py

Notes and Caveats

  • This project is only meant to be educational and analytical purposes and should not be interpreted as a financial advice.
  • This project only focuses on day level stock price data and does not factor in intraday price changes or company fundamentals.
  • Data used in this project is not updated in realtime and may be out of date.
  • Currently, the analysis doesn't factor in stock splits, bonus shares, etc. as structured data for the same is difficult to obtain.

About this project

Feel free to leave a star if you liked this project.

@misc{MayurGarg_FinancialModelling,
    title={Financial Modelling},
    author={Mayur Garg},
    year={2024},
    url={https://github.com/mayur7garg/FinancialModelling}
}

Developed by - Mayur Garg