Skip to main content

Library to collect NSE data

Project description

NSE (national stock exchange) data

Introduction: This library serves as an api to fetch data from the NSE about stocks and indices and derivatives using python

Thank you for using Nsedt. Please feel free to send pull requests, comments, and suggestions, as well as get in touch with me if you require any additional help. I sincerely hope you will find this library useful.

For detailed doc please refer nse-doc

How to start

  1. clone the repository git clone https://github.com/pratik141/nsedt
  2. Install the requirements file after changing to cloned folder above pip install -r requirements.txt
  3. Install locally pip install . --upgrade

Equity

Details

Name Module name Description Argument Response
companyinfo get_companyinfo Company info symbol , response_type json, panda df
marketstatus get_marketstatus marketstatus -- panda_df
price get_price price start_date, end_date, symbol, input_type json, panda df
corpinfo get_corpinfo corpinfo arg
event get_event event start_date, end_date panda df
chartdata get_chartdata chartdata symbol panda df
symbols_list get_symbols_list symbols_list -- json
asm_list get_asm_list symbols_list asm_type json

Now get_price work with start_date, end_date without datetime format it support %d-%m-%Y

step to run

from nsedt import equity as eq
from datetime import date
start_date = "01-05-2023"
end_date = "03-05-2023"

print(eq.get_price(start_date, end_date, symbol="TCS"))
print(eq.get_corpinfo(start_date, end_date, symbol="TCS"))
print(eq.get_event(start_date, end_date))
print(eq.get_event())
print(eq.get_marketstatus())
print(eq.get_marketstatus(response_type="json"))
print(eq.get_companyinfo(symbol="TCS"))
print(eq.get_companyinfo(symbol="TCS", response_type="json"))
print(eq.get_chartdata(symbol="TCS"))
print(eq.get_symbols_list()) #print the list of symbols used by NSE for equities
print(eq.get_asm_list(asm_type = "shortterm"))

Indices

Details

Name Module name Description Argument Response
price get_price price start_date, end_date, symbol panda df

step to run

from nsedt import indices as ind
from datetime import date
start_date = "01-05-2023"
end_date = "03-05-2023"

print(ind.get_price(start_date=start_date, end_date=end_date, symbol="NIFTY 50"))
data = ind.get_price(start_date=start_date, end_date=end_date, symbol="NIFTY")
# To change date format from '%d-%b-%Y' to '%Y-%m-%d'
data["Date"] = pd.to_datetime(data["Date"],format='%d-%b-%Y')

Derivatives

Details

Name Module name Description Argument Response
vix get_vix price start_date, end_date,columns_drop_list panda df
option chain get_option_chain get option price symbol,strikePrice,expiryDate panda df
option chain expiry date get_option_chain_expdate option chain expiry date symbol json
future price get_future_price get future price symbol, start_date, end_date, expiryDate,response_type, columns_drop_list panda df
future expiry date get_future_expdate future expiry date symbol json
historical option chain get_historical_option_data get historical option value for a given strike price symbol, start_date,end_date,option_type,strike_price,year,expiry_date json, pandas df

step to run

from nsedt import derivatives as de
start_date = "24-04-2024"
end_date = "25-04-2024"
# date format "%d-%m-%Y"

print(de.get_vix(start_date, end_date))
print(de.get_option_chain_expdate(symbol="TCS"))
print(de.get_option_chain(symbol="TCS", strike_price=3300, expiry_date=report_date))
print(de.get_future_price(symbol="TCS", start_date=start_date, end_date=end_date))
print(de.get_future_expdate(symbol="TCS"))
print(de.get_historical_option_data(symbol="TATAMOTORS", start_date=start_date, end_date=end_date, option_type="CE", strike_price="1020", year="2024", expiry_date="30-May-2024"))

Reports

Details

Note: Not all reports will be available for a given date, some reports are only available for a given date and some for 2-3 weeks.

Name Module name Description Argument Response
market activity get_market_activity_report get raw text of market activity report date string
bhav copy get_bhav_copy_zip download bhav copy zip for a given day date, response_type json or pandas df
sec full bhav copy get_sec_full_bhav_copy download full bhav copy zip for a given day date, response_type json or pandas df
volatitly report get_volatility_report download volatility report for a given day date, response_type json or pandas df
fno participant wise oi data get_fno_participant_wise_oi_data fno participant oi data for a given day date, response_type json or pandas df
fno participant wise volume data get_fno_participant_wise_volume_data fno participant volume data for a given day date, response_type json or pandas df

step to run

from nsedt import reports as rep
report_date = "02-05-2024"
# date format "%d-%m-%Y"

print(rep.get_market_activity_report(date=report_date))
print(rep.get_bhav_copy_zip(date=report_date, response_type="json"))
print(rep.get_sec_full_bhav_copy(date=report_date, response_type="json"))
print(rep.get_volatility_report(date=report_date, response_type="json"))
print(rep.get_fno_participant_wise_oi_data(date=report_date, response_type="json"))
print(rep.get_fno_participant_wise_volume_data(date=report_date, response_type="json"))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nsedt-0.0.13.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

nsedt-0.0.13-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file nsedt-0.0.13.tar.gz.

File metadata

  • Download URL: nsedt-0.0.13.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for nsedt-0.0.13.tar.gz
Algorithm Hash digest
SHA256 544bba29648b37e948be05ba352539b5afa53fa4734855c22dec05572a9e13e5
MD5 3f84ef276067098777ce44bfb1a862df
BLAKE2b-256 36ced4346b2f60dc4d4209e8892153285907f05d7980b0c314943d549ef07508

See more details on using hashes here.

File details

Details for the file nsedt-0.0.13-py3-none-any.whl.

File metadata

  • Download URL: nsedt-0.0.13-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for nsedt-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 0bef79197824d768dbeb9a3a6f5fab587b83fb5cb6fd64226d564f75759523fe
MD5 8123894ed6ef28ad759823c822c881dd
BLAKE2b-256 48274864be2ed1f162614473a5c5c336ad5cbaceacf8ac065e95cfacf028c9d3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page