Giter VIP home page Giter VIP logo

girishg4t / bhavcopy-downloader Goto Github PK

View Code? Open in Web Editor NEW
44.0 5.0 9.0 23.45 MB

Get free NSE and BSE data(bhavcopy, derivatives), based on customizable index and date. Give it a star if you like it

Home Page: https://www.freehtmlchecker.com/bhavcopy-downloader

HTML 0.91% CSS 0.25% JavaScript 85.54% Dockerfile 0.26% Go 12.46% Procfile 0.01% Makefile 0.57%
bhavcopy stock stock-data nse bse nse-stock-data bse-stock-data eod-data-downloader free-nse-data free-bse-data stock-download free-nse-bse-data derivatives options-trading

bhavcopy-downloader's Introduction

BhavCopy Downloader

Download NSE and BSE data free, Here is the blog post for the same

logo

BhavCopy downloader is a FREE NSE and BSE end of the day stocks data downloader. Since it connect to NSE and BSE server for getting the data it is considered as authentic. it can download daily as well as historical EOD data for the currently configured indexes. It is made simple, customizable, public and free, so any one can download the data as per there need. You can check the existing data in "./nse" and "./bse" folder which got downloaded so far.

Features:

  • Download EOD data for both the index NSE and BSE with delivered quantity and delivered quantity percentage
  • Download OPTIONS data from NSE
  • Can select different funds like Equities, options chain etc.
  • Can select different index from NSE and BSE like NIFTY50, BSE100 etc.
  • Get back date data
  • Api is public any one can use directly, https://bhavcopy-backend.fly.dev

Flow:

Alt working

Backend:

It is written in golang which makes an api call to NSE and BSE servers to get all stocks eod data. ones the data is received it is stored in this github repo. Further reading of data is happened from this files if present else it get downloaded and stored. Based on the api request, the data is then send in csv format.

Frontend:

It is written in javascript react, which allows user's to download the data based on there selection. Below are the steps user need to perform to get the data, default is all stock download.

  1. Select the Stock Exchange from which the data is required eg. NSE/BSE
  2. Select Fund for the particular exchange, currently it is configured for Equity only, in future more options will be added
  3. Select the Index for which the data is required default is All.
  4. One's index is selected all the stock in that index get appear in textarea which is editable. User can make changes to the list.
    Current configured index are:
NSE BSE
"AUTO", "BANK", "CONSUMERDURABLES", "FINANCE", "FINANCIAL_SERVICES", "FMCG", "HEALTHCARE", "IT", "MEDIA_ENTERTAINMENT", "METAL", "OIL_GAS", "PHARMA", "PRIVATE_BANK", "PSU_BANK", "REALTY", "NIFTY50", "NIFTY100", "NIFTY200", "NIFTY500", "NIFTY500_MULTICAP_50_25_25", "NIFTY_LARGE_MIDCAP250", "NIFTY_MIDCAP50", "NIFTY_MIDCAP100", "NIFTY_MIDCAP150", "NIFTY_MID_SMALLCAP400", "NIFTY_NEXT50", "NIFTY_SMALLCAP50", "NIFTY_SMALLCAP100", "NIFTY_SMALLCAP250" "AUTO", "BANKS", "BASIC_MATERIALS", "CAPITAL_GOODS", "CONSUMER_DISCRETIONARY_GOODS_SERVICES", "CONSUMER_DURABLES", "ENERGY", "FINANCE", "FMCG", "HEALTHCARE", "INDUSTRIALS", "IT", "METAL", "OIL_GAS", "POWER", "REALTY", "TECK", "TELECOM", "UTILITIES", "BSE100", "BSE200", "BSE500", "BSE_ AllCap", "BSE_LARGECAP", "BSE_LARGE_MIDCAP", "BSE_MIDCAP", "BSE_MIDCAP_SELECT_INDEX", "BSE_MID_SMALLCAP", "BSE_SENSEX", "BSE_SENSEX_50", "BSE_SMALLCAP", "BSE_SMALLCAP_SELECT_INDEX"
  1. Select date, to download the specific day data, default is previous date
  2. Click on download to get the bhavcopy in csv file.

In Action

Alt working

OPTIONS Data

Alt working

How to run

npm start

Contributing

As you know stocks in an index get change and keeping that up to date is not a one person job, that's why i have made all this configurable. There are 2 folders "./NSEIndexConfigs" and "./BSEIndexConfigs" in which all the index stocks configuration are present eg. Auto, Nifty50, BSE100 etc.

You can make changes to config by adding/removing the stock as per NSE and BSE changes or create the new/customized config and raise the pull request.

Also there is "./src/config.json" in which UI related config are present.

Inputs are always welcome! whether it's.

  • Reporting a bug
  • Discussing the current state of the code
  • Submitting a fix
  • Proposing new features

bhavcopy-downloader's People

Contributors

girishg4t avatar iamrohitanshu avatar mrbrowner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bhavcopy-downloader's Issues

Need Index data

I think nifty 50 historical index data is missing ,5min etc
Also the git which hosts the data cannot be cloned it says fatal: BUG: initial ref transaction called with existing refs

few updates will work awesome

i just download the BHAVCOPY of previous day, it works superb, it will be very helpful if you can add some more details like delivered quantity and delivered quantity percentage. i have attached the link from where you can get that data.

https://www1.nseindia.com/products/content/equities/equities/eq_security.htm

the path for the recourses is ....nse india website>resources>historical reports>Security-wise Price Volume Archives (Equities) Click Here>enter symbol>select date

i dont know anything about coding that is why i have tried to explain the possible changes as per my understanding.

stock tamplets.xlsx

Cross-Origin Request Blocked

Cloned the project & ran successfully.
but, when i tried to download a file.

i got this in console.

Cross-Origin Request Blocked: 
The Same Origin Policy disallows reading the remote resource 
at https://bhavcopy-backend.fly.dev/getbhavcopy. 
(Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Status code: 200.

why so ?

Thanks.

ps: it's my first time coding a web project

it will be good if BE stock also available

if the download format will be lin this manner

  1. [Date] [series] [OPEN] [HIGH] [LOW] [PREV. CLOSE] [ ltp] [ close] [vwap] [52W H] [52W L] [VOLUME] [VALUE] [No of trades]
  2. [Deliverable Qty] [% Dly Qt to Traded Qty]
  3. if you can add something customizable blank or SEARCH OWN in SELECT INDEX option like say i want data for some specific stocks, so i just add name or symbol as per nse website and download the data for those stocks only.. right now we just got to any random index and add name or symbol of those stocks and we get the data just BE category data is not available in this.

i have already shared EXCEL file for your reference.

for topic no 1 the source path is NSE INDIA > SEARCH BY COMPANY NAME, SYMBOL OR KEYWORD > HISTORICAL DATA > SELECT DATE> FILTER > DOWNLOAD

and no need to update on topic no 2 as you have already updated those requirements very precisely.

nse eod file: extra info present on 1st line

Hey, Hi @girishg4t,

I just downloaded the nse eod data .
And in some files their seems to be some extra info/data present at the 1st line.

Not a valid date format, it should be in ddMMMYYYY format, eg. 02Mar2020SYMBOL,SERIES,OPEN,HIGH,LOW,CLOSE,LAST,PREVCLOSE,TOTTRDQTY,TOTTRDVAL,TIMESTAMP,TOTALTRADES,ISIN,

Not a valid date format, it should be in ddMMMYYYY format, eg. 02Mar2020

This is present in whole july 2023 month eod files.

selectedDate is null : on clearing the date input field

when i cleared all values in the date input field to change the whole date.

result : it stopped

:: after debuging the date here is undefined.

maybe the check is not present here ?

const handleDateChange = (date) => {
	if (date instanceof Date) {
		setSelectedDate(date);
	}
};

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.