https://github.com/techfanetechnologies/nse
NSE is a rust cli binary and library for extracting real-time data from National Stock Exchange (India)
https://github.com/techfanetechnologies/nse
algorithmic-trading algotrading banknifty investing national-stock-exchange nifty nse options-trading quantitative quantitative-trading qunatitative-finance stock-data stock-market stocks-analysis stocks-prices trading trading-algorithms trading-bot trading-platforms zerodha
Last synced: about 1 year ago
JSON representation
NSE is a rust cli binary and library for extracting real-time data from National Stock Exchange (India)
- Host: GitHub
- URL: https://github.com/techfanetechnologies/nse
- Owner: TechfaneTechnologies
- License: mpl-2.0
- Created: 2022-05-10T18:40:30.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-05-18T13:16:05.000Z (about 4 years ago)
- Last Synced: 2024-10-31T12:13:07.631Z (over 1 year ago)
- Topics: algorithmic-trading, algotrading, banknifty, investing, national-stock-exchange, nifty, nse, options-trading, quantitative, quantitative-trading, qunatitative-finance, stock-data, stock-market, stocks-analysis, stocks-prices, trading, trading-algorithms, trading-bot, trading-platforms, zerodha
- Language: Rust
- Homepage: https://github.com/TechfaneTechnologies/nse
- Size: 4.41 MB
- Stars: 20
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# NSE
[](https://www.rust-lang.org/)
[](https://github.com/TechfaneTechnologies/nse/blob/main/LICENSE)
[](https://en.wikipedia.org/wiki/Copyleft)
[](https://github.com/TechfaneTechnologies/nse/actions/workflows/release.yml)
> Check out the sister projects [NsePython](https://github.com/TechfaneTechnologies/nsepython) and [SaveKiteEnctoken](https://github.com/TechfaneTechnologies/SaveKiteEnctoken) which are Python & Javascript libraries to use the NSE and Zerodha APIs respectively
NSE is an easy to use rust CLI program and library for extracting real-time data from [National Stock Exchange (India)](https://www.nseindia.com/)
## Features
- Download EOD 1-Minute Data for NFO-FUT, NSE-EQ, NSE-Index, NSE-CDS from NSE Tame Charts.
- Download Intraday Futures & Options Data Snapshots with all LTP & OI Data.
- Multi-threading for network intensive subcommands
- You can configure the maximum number of additional threads using the `--threads` options
## Installation
nse is a compiled, statically linked program that does not require any external dependencies.
> nse is coming to more package managers soon!
### Cargo Install
If you have the Rust toolchain, you can also compile and install nse by running `cargo install nse`.
Remember to use an add-on like [cargo-update](https://crates.io/crates/cargo-update) to keep nse updated to the latest version!
### GitHub Releases
1. Download the asset suitable for your operating system from [the latest release](https://github.com/TechfaneTechnologies/nse/releases/latest)
2. Unzip the file and move it to a folder in your path such as `~/bin`
3. Remember to check the releases page for any updates!
### First Startup
When you first start up, the program will create a new data download directory automatically named as `NSE_Downloads_Data` in which the download files will be further categorised, subcatogorised and saved into dated folders.
```bash
NSE_DOWNLOADS_DATA
├───1-Minute-OHLCV-Data
│ ├───Commodity
│ │ └───11-May-2022
│ ├───Currency
│ │ └───11-May-2022
│ ├───Equity
│ │ └───11-May-2022
│ ├───Futures
│ │ └───11-May-2022
│ └───Index
│ │ └───11-May-2022
├───BankNifty
│ ├───Futures_Intraday_Snapshots
│ │ └───11-May-2022
│ ├───GraphsData
│ │ └───11-May-2022
│ └───Options_Intraday_Snapshots
│ └───11-May-2022
├───FinNifty
│ ├───Futures_Intraday_Snapshots
│ │ └───11-May-2022
│ ├───GraphsData
│ │ └───11-May-2022
│ └───Options_Intraday_Snapshots
│ └───11-May-2022
├───Misc
│ ├───Futures_Intraday_Snapshots
│ │ └───11-May-2022
│ ├───GraphsData
│ │ └───11-May-2022
│ └───Options_Intraday_Snapshots
│ └───11-May-2022
└───Nifty
├───Futures_Intraday_Snapshots
│ └───11-May-2022
├───GraphsData
│ └───11-May-2022
└───Options_Intraday_Snapshots
└───11-May-2022
```
**WARNING:** _When upgrading, any files not downloaded by nse will be moved to the `.old` folder in the output directory_
#### Configure
_To Be Updated_
#### Manage
_To Be Updated_
#### Delete
_To Be Updated_
## Feature Requests
If you would like to make a feature request, check the [issues](https://github.com/TechfaneTechnologies/nse/issues?q=is%3Aissue) to see if the feature has already been added or is planned. If not, [create a new issue](https://github.com/TechfaneTechnologies/nse/issues/new).
## Building from Source or Working with nse
Firstly, you need the Rust toolchain which includes `cargo`, `rustup`, etc. You can install these from [the Rust website](https://www.rust-lang.org/tools/install).
You'll also need the [Just](https://github.com/casey/just#installation) command runner, its basically a much better version of `make`.
If you want to build nse without cloning the repo then run `cargo install nse`.
To build the project and install it to your Cargo binary directory, clone the project and run `just install`. If you want to install it for testing a developement version, run `just` (alias for `just install-dev`).
If you want to obtain executables for a specific OS, you can run `just build-` and replace `` with `mac`, `win`, or `linux`. The produced binaries will be zipped and moved to `out/`.
You can run clippy linters using `just lint`, and integration tests using `cargo test`. Finally you can delete all the build and test artefacts by using `just clean`.