Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📈 AMFI NAV Extractor

A lightweight shell script tool that downloads and processes mutual fund Net Asset Value (NAV) data published by the Association of Mutual Funds in India (AMFI).
The script fetches the latest NAV data, parses it, and converts it into both TSV and JSON formats for easier analysis and automation.


📄 About AMFI NAV Data

The Association of Mutual Funds in India (AMFI) publishes daily NAVs for all registered mutual fund schemes on their official website.
These NAVs are essential for investors, financial analysts, and app developers who track or work with mutual fund performance.

The raw NAV data file contains:

  • Scheme Code
  • ISIN Payout / Growth / Reinvestment
  • Scheme Name
  • Net Asset Value
  • Date

AMFI's NAV source:
📥 https://www.amfiindia.com/spages/NAVAll.txt


📁 Project Structure

amfi_nav_extractor/
│
├── data/
│   ├── NAVAll.txt         ← Raw downloaded data (ignored in Git)
│   ├── nav_data.tsv       ← Cleaned TSV output (ignored in Git) 
│   └── nav_data.json      ← Parsed JSON output (ignored in Git)
│
├── extract_nav.sh         ← Main shell script
├── .gitignore             ← To ignore data files and OS clutter
└── README.md              ← This file

🛠 How to Use

1. Clone the repository

git clone https://github.com/fuzail-pixel/amfi-nav-extractor.git
cd amfi-nav-extractor

2. Give executable permission to the script

chmod +x extract_nav.sh

3. Run the script

./extract_nav.sh

This will:

  • Download the latest NAVAll.txt from AMFI
  • Extract and clean mutual fund NAV entries
  • Save them as nav_data.tsv and nav_data.json inside the data/ folder

📊 Output Example

nav_data.tsv (Tab-separated)

Scheme Code  ISIN Payout ISIN Growth  Scheme Name                                     NAV       Date
119551        INF209K1AZ71 INF209K1AZ97 Aditya Birla Sun Life Banking & PSU Debt Fund 106.7901  14-May-2025

nav_data.json

[
  {
    "scheme_code": "119551",
    "isin_payout": "INF209K1AZ71",
    "isin_growth": "INF209K1AZ97",
    "scheme_name": "Aditya Birla Sun Life Banking & PSU Debt Fund",
    "nav": "106.7901",
    "date": "14-May-2025"
  }
]

❓ Project Question / Use Case

Q: What does this project solve or demonstrate?

This project demonstrates how to:

  • Automate daily data fetching using shell scripting
  • Parse semi-structured data into structured formats like TSV and JSON
  • Handle real-world finance data from authentic public sources
  • Build lightweight extract-transform pipelines

Ideal for developers building:

  • Mutual fund tracking tools
  • Personal finance dashboards
  • ETL pipelines using shell/Python/JavaScript

🚫 What Not to Push (via .gitignore)

data/NAVAll.txt
data/nav_data.tsv
data/nav_data.json
*.log
*.DS_Store

These are generated files and do not need to be pushed to the repo. Users can regenerate them via extract_nav.sh.


⚖ License

This project is open-source and available under the MIT License. All AMFI data remains the intellectual property of AMFI India.


👤 Contact

Feel free to reach out on LinkedIn or GitHub if you have any questions or feedback.

About

A shell script project that automates the download and extraction of daily mutual fund NAV data from AMFI, outputting TSV and JSON formats.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages