BharatFinTrack is a Python package designed to simplify the process of downloading and analyzing financial data from India. Conceptualized on September 1, 2024, and launched on September 8, 2024, the package is tailored for long-term investors looking to streamline their financial data workflows using reliable public sources. This package focuses on historical data and fundamental tracking; it does not include features for technical indicators or real-time trading. The package aims to empower users by providing easy access to open-source data, enabling them to make informed financial decisions. Currently, the package offers the following features:
- Provides access to detailed information about equity indices.
- Enables downloading and updating daily Total Return Index (
TRI) data for all equity indices. - Fetches closing values for both Price Return Index (
PRI), excluding dividend reinvestment, andTRIfor all equity indices.
- Provides complete access to Pension Fund Manager (
PFM) information alongside their respective schemes and unique identifiers. - Enables downloading full historical Net Asset Value (
NAV) data from inception for any given PFM and specified scheme. - Fetches the most recent
NAVvalues for selected schemes across multiple PFMs in a single workflow.
- Sorts
PRIandTRIindices by CAGR (%) either globally or filtered within specific categories. - Calculates year-wise CAGR rolling backward from the present date for a specified asset (either a
TRIindex or anNPSscheme). - Compares the year-wise CAGR (%) and the compounding growth of a fixed annual investment across multiple assets (chosen from
TRIindices orNPSschemes).
- Estimates annual SIP performance, including investment amount, closing balance, and cumulative growth over a specified number of years and expected annual return, with options for yearly, quarterly, monthly, or weekly contributions.
- Calculates the terminal closing summary of an SIP with a fixed monthly contribution to a specified asset (either a
TRIindex or anNPSscheme) starting from a given date. - Computes year-wise SIP returns rolling backward from the present date for a fixed monthly contribution, accepting either a specific
TRIindex or anNPSscheme as the asset. - Compares the year-wise XIRR (%) and compounding growth of a fixed monthly SIP investment across multiple assets (chosen from
TRIindices orNPSschemes).
- Identifies key turning points, peak-to-trough corrections, and recoveries over the historical timeline of an specified asset.
- Extracts historical values from downloaded data between the specified given start and end dates.
- Shows bar graphs of top-performing
PRIandTRIindices by CAGR (%) since launch, with options to view a specified number of top indices, either overall or within each category. - Compares returns between a specified index and government securities for a monthly SIP of 1 Rupee over time.
- Illustrates a line plot comparing the growth of a monthly SIP investment across multiple NSE equity
TRIindices over the years. - Depicts a line plot comparing the growth of a one-time investment across multiple NSE equity
TRIindices over the years.
BharatFinTrack provides analytical insights into the performance of equity indices and various financial assets. The visualizations below highlight the top-performing TRI indices based on CAGR (%), both overall and categorized by their market segments, since inception. These snapshots offer a powerful overview of long-term performance trends.
In the analysis above, the NIFTY MIDCAP150 MOMENTUM 50 index stands out as a top-performing NSE equity index in terms of long-term CAGR (%). The following graph illustrates a comparative study of year-wise investments and terminal values for a fixed monthly SIP of ₹1, comparing government securities against a passive fund tracking the NIFTY MIDCAP150 MOMENTUM 50 TRI.
Furthermore, the plot below compares the growth multiples (TRI indices. This comparison highlights the performance delta between the NIFTY MIDCAP150 MOMENTUM 50, the broader NIFTY MIDCAP 150 (excluding the momentum factor), and the benchmark NIFTY 50.
To install, use pip:
pip install BharatFinTrackAfter a successful installation, the following code should run without errors:
import BharatFinTrackFor detailed information, see the documentation.
If this project has been helpful and you'd like to contribute to its development, consider sponsoring with a coffee! Support will help maintain, improve, and expand this open-source project, ensuring continued valuable tools for the community.



