Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/meticulouscraftman/tickerstore
Historical data of financial instruments from NSE
https://github.com/meticulouscraftman/tickerstore
nse nse-stock-data python upstox upstox-api
Last synced: 7 days ago
JSON representation
Historical data of financial instruments from NSE
- Host: GitHub
- URL: https://github.com/meticulouscraftman/tickerstore
- Owner: meticulousCraftman
- License: mit
- Created: 2018-12-09T10:38:07.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T01:28:11.000Z (almost 2 years ago)
- Last Synced: 2024-11-01T07:33:24.334Z (14 days ago)
- Topics: nse, nse-stock-data, python, upstox, upstox-api
- Language: Python
- Homepage:
- Size: 68.4 KB
- Stars: 25
- Watchers: 1
- Forks: 11
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Super simple to use
TickerStore is an easy to use python library used to get historical
data of financial instruments from NSE.## Install
```bash
$ pip install tickerstore
```## Basic Usage
Using TickerStore you can specify the source from where the data needs
to be fetched. At present, there are 2 sources of data **Upstox** and
**NSE**. EOD (End of Day) data can be used simple by using the following piece
of code.```python
from tickerstore.store import TickerStore
from datetime import datefetcher = TickerStore()
fetcher.historical_data("SBIN", date(2018,1,1), date(2018,1,30), TickerStore.INTERVAL_DAY_1)```
## How it works?
TickerStore tries to make historical stock market data more easy to
use in your python projects. TickerStore has multiple sources from
where the data is fetched. At present we have 2 sources, **NSE** and **Upstox**.
Data from these 2 sources are fetched in a predefined order.The default order is:
1. Upstox
2. NSEIf one fails, the next one is tried in order. You can change the order using a **set_fetch_order()** method.
To view the present fetch order use the **get_fetch_order()** method.## Using with .env file (python-dotenv)
Create a **.env** file in the present working directory and enter your
Upstox API key and API secret and leave all other fields as it is.```dotenv
UPSTOX_API_KEY=
UPSTOX_API_SECRET=
UPSTOX_REDIRECT_URI=http://127.0.0.1:5000/callback
TEMP_SERVER_SHUTDOWN_URL=http://127.0.0.1:5000/shutdown
TEMP_SERVER_AUTH_PAGE=http://127.0.0.1:5000/
```On python end, use the **find_dotenv** function from the python-dotenv
package and pass it to the TickerStore. The information from the dotenv
file will be available as environment variables.
```python
from tickerstore.store import TickerStore
from dotenv import find_dotenv
from datetime import datefetcher = TickerStore(dotenv_path=find_dotenv())
fetcher.historical_data("SBIN", date(2018,1,1), date(2018,1,30), TickerStore.INTERVAL_DAY_1)```
## Using with Upstox
Using only with **Upstox**:```python
from tickerstore.store import TickerStore
from datetime import datefetcher = TickerStore(
upstox_api_key="",
upstox_api_secret="",
upstox_redirect_uri="http://localhost:5000/callback",
temp_server_auth_page="http://localhost:8000/"
)fetcher.historical_data("SBIN", date(2018,1,1), date(2018,1,30), TickerStore.INTERVAL_DAY_1)
```
## Change fetch order
Order in which the data is fetched from different sources can be changed.```python
from tickerstore.store import TickerStore
from dotenv import find_dotenv
from datetime import datefetcher = TickerStore(dotenv_path=find_dotenv())
fetcher.set_fetch_order([TickerStore.NSE, TickerStore.UPSTOX])fetcher.historical_data("SBIN", date(2018,1,1), date(2018,1,30), TickerStore.INTERVAL_DAY_1)
```
TickerStore now first fetches data from NSE and then from UPSTOX. You can
even specify a single source and data will only be fetched from there.## API
Coming soon :)