Using Python we can download historical data for all NSE stocks for Indian Stock Market. Below are the steps.
1. First download the csv file containing all NSE stock codes. Go to :
https://www.nseindia.com/market-data/securities-available-for-trading and click on
Securities available for Equity segment (.csv) to download the file. We use this file to read stock codes to read historical data for them.
2. Install the yfinance package using following command
pip install yfinance
3. Below is the code to read all NSE stock historical data:
import yfinance as yf
import pandas as pd
import os
NSE_all_stock_codes = pd.read_csv(f'./NSE_Stock_Codes/EQUITY_ALL.csv')
print(NSE_all_stock_codes.SYMBOL)
for file in os.scandir(f'Historical_Data_All/'):
if file.name.endswith(".csv"):
os.unlink(file.path)
for nse_symbol in NSE_all_stock_codes.SYMBOL:
try:
nse_symbol_data = yf.download(f'{nse_symbol}.NS', period="1mo")
df = pd.DataFrame(nse_symbol_data)
print(nse_symbol)
df['Stock_Symbol'] = nse_symbol
# print(df)
df.to_csv(f'./Historical_Data_All/{nse_symbol}.csv')
except Exception as e:
print(f'{nse_symbol} => {e}')
Comments
Post a Comment