Documentation
https://marketsetup.in/documentation/jugaad-data/
Introduction
jugaad-data is a python library to download historical/live stock, index as well as economic data from NSE and RBI website using.
Features
- Supports new NSE website, (All libraries based on old NSE website might stop working)
- Powerful CLI (Command line interface), Even non-coders can use it easily
- Built-in caching mechanism to play nice with NSE. Avoid making un-necessary requests to NSE's website and getting blocked
- Optional
pandassupport
Road map
| Website | Segment | Supported? |
|---|---|---|
| NSE | Stocks | Yes |
| NSE | Stocks F&O | Yes |
| NSE | Index | Yes |
| NSE | Index F&O | Yes |
| RBI | Current Rates | Yes |
Installation
pip install jugaad-data
Getting started
Python inteface
Historical data
from datetime import date
from jugaad_data.nse import bhavcopy_save, bhavcopy_fo_save
# Download bhavcopy
bhavcopy_save(date(2020,1,1), "/path/to/directory")
# Download bhavcopy for futures and options
bhavcopy_fo_save(date(2020,1,1), "/path/to/directory")
# Download stock data to pandas dataframe
from jugaad_data.nse import stock_df
df = stock_df(symbol="SBIN", from_date=date(2020,1,1),
to_date=date(2020,1,30), series="EQ")
Live data
from jugaad_data.nse import NSELive
n = NSELive()
q = n.stock_quote("HDFC")
print(q['priceInfo'])
{'lastPrice': 2635,
'change': -49.05000000000018,
'pChange': -1.8274622305843848,
'previousClose': 2684.05,
'open': 2661,
'close': 2632.75,
'vwap': 2645.57,
'lowerCP': '2415.65',
'upperCP': '2952.45',
'pPriceBand': 'No Band',
'basePrice': 2684.05,
'intraDayHighLow': {'min': 2615.6, 'max': 2688.45, 'value': 2635},
'weekHighLow': {'min': 1473.45,
'minDate': '24-Mar-2020',
'max': 2777.15,
'maxDate': '13-Jan-2021',
'value': 2635}}
Command line interface
$ jdata stock --help
Usage: jdata stock [OPTIONS]
Download historical stock data
$jdata stock --symbol STOCK1 -f yyyy-mm-dd -t yyyy-mm-dd --o file_name.csv
Options:
-s, --symbol TEXT [required]
-f, --from TEXT [required]
-t, --to TEXT [required]
-S, --series TEXT [default: EQ]
-o, --output TEXT
--help Show this message and exit.
$ jdata stock -s SBIN -f 2020-01-01 -t 2020-01-31 -o SBIN-Jan.csv
SBIN [####################################] 100%
Saved file to : SBIN-Jan.csv
Download historical index data (niftyindices.com)
from datetime import date
from jugaad_data.nse import (index_raw, index_pe_raw, index_tri_raw,
index_type_list, index_subtype_list, index_name_list)
# OHLC data for an index
data = index_raw("NIFTY 50", date(2026, 1, 1), date(2026, 7, 31))
# P/E, P/B and Dividend Yield
pe_data = index_pe_raw("NIFTY 50", date(2026, 1, 1), date(2026, 7, 31))
# Total Return Index values
# For standard indices name == index_name; for strategy indices use the short code as name
tri_data = index_tri_raw("NIFTY 50", "NIFTY 50", date(2026, 1, 1), date(2026, 7, 31))
# Discover available indices (3-level hierarchy)
index_type_list() # ['Equity', 'Fixed Income', 'Multi Asset']
index_subtype_list('Equity', 'Historical Index Data') # ['Broad Market Indices', 'Sectoral Indices', ...]
index_name_list('Broad Market Indices', 'Historical Index Data') # ['NIFTY 50', 'NIFTY 100', ...]
# index_group options:
# 'Historical Index Data'
# 'Total returns Index Values '
# 'P/E, P/B & Div.Yield values'
Download historical derivatives (F&O) data
$ jdata deriviatives --help
Usage: cli.py derivatives [OPTIONS]
Sample usage-
Download stock futures-
jdata derivatives -s SBIN -f 2020-01-01 -t 2020-01-30 -e 2020-01-30 -i FUTSTK -o file_name.csv
Download index futures-
jdata derivatives -s NIFTY -f 2020-01-01 -t 2020-01-30 -e 2020-01-30 -i FUTIDX -o file_name.csv
Download stock options-
jdata derivatives -s SBIN -f 2020-01-01 -t 2020-01-30 -e 2020-01-30 -i OPTSTK -p 330 --ce -o file_name.csv
Download index options-
jdata derivatives -s NIFTY -f 2020-01-01 -t 2020-01-30 -e 2020-01-23 -i OPTIDX -p 11000 --pe -o file_name.csv
Options:
-s, --symbol TEXT Stock/Index symbol [required]
-f, --from TEXT From date - yyyy-mm-dd [required]
-t, --to TEXT To date - yyyy-mm-dd [required]
-e, --expiry TEXT Expiry date - yyyy-mm-dd [required]
-i, --instru TEXT FUTSTK - Stock futures, FUTIDX - Index Futures, OPTSTK -
Stock Options, OPTIDX - Index Options [required]
-p, --price TEXT Strike price (Only for OPTSTK and OPTIDX)
--ce / --pe --ce for call and --pe for put (Only for OPTSTK and
OPTIDX)
-o, --output TEXT Full path of output file
--help Show this message and exit.
Buy me a coffee
If my work has helped you in anyway, you can buy me a coffee
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jugaad_data-0.35.5.tar.gz
(39.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jugaad_data-0.35.5.tar.gz.
File metadata
- Download URL: jugaad_data-0.35.5.tar.gz
- Upload date:
- Size: 39.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e7c37a0c5ca362719c0de6899d7d2f667cfd4da9ece23e4596018ec98c1044b
|
|
| MD5 |
d07c69b450cd17e14ea837fba81d8d95
|
|
| BLAKE2b-256 |
83344fbaf8ae210935c85d8bf90e6c97403b6c3a961c8725c18d709b18b18dab
|
File details
Details for the file jugaad_data-0.35.5-py3-none-any.whl.
File metadata
- Download URL: jugaad_data-0.35.5-py3-none-any.whl
- Upload date:
- Size: 30.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5df246f0116a66e1a61fe6db62e1aeb1afedfc675f00863ad91363492a0380e6
|
|
| MD5 |
a6ea800ab8c8667c1ba6de9a37649fdc
|
|
| BLAKE2b-256 |
dc2d4428a1bbf4741305f7368d8f560f79e57b61ff425b2c1728bc92dc810eb9
|