5 releases
0.1.5 | Dec 20, 2021 |
---|---|
0.1.4 | Dec 17, 2021 |
0.1.2 | Aug 24, 2021 |
0.1.1 | Apr 27, 2021 |
0.1.0 | Apr 27, 2021 |
#7 in #candlestick
1MB
761 lines
crypto-candlesticks-rust 📈
The goal behind this project is to facilitate downloading cryptocurrency candlestick data fast & simple. Currently only the Bitfinex exchange is supported with more to come in future releases.
I created this project to port my python package crypto-candlesticks as an exercise to learn Rust.
Once the data is downloaded, it will be converted and stored in a .csv and .sqlite3
for convenient analysis.
The data will include the Open, High, Low, Close
of the candles and the volume
during the interval
and its timestamp
.
Installation
To install crypto-candlesticks-rust, run this command in your terminal:
cargo install crypto-candlesticks-rust
Or you can get one of the pre-compiled binaries
Not for windows users:
It is possible that Windows Defender will complain about the executable.
The binary is packed with cargo strip
and UPX
after compilation.
Usage
crypto-candlesticks-rust can be used the following way:
$ crypto-candlesticks-rust --help
USAGE:
crypto-candlesticks-rust --symbol <BTC> --base_currency <USDT> --interval <1m, 5, 15m, 30m, 1h, 3h, 6h, 12h, 1D, 7D, 14D, 1M> --start_date <YYYY-MM-DD> --end_date <YYYY-MM-DD>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-s, --symbol <BTC>
Cryptocurrency symbol to download (ie. BTC, ETH, LTC) [default: BTC]
-b, --base_currency <USDT>
Cryptocurrency base trading pair [default: USD]
-i, --interval <1m, 5, 15m, 30m, 1h, 3h, 6h, 12h, 1D, 7D, 14D, 1M>
Interval that will be used to download the data [default: 1D]
-d, --start_date <YYYY-MM-DD>
Date to start downloading the data (ie. YYYY-MM-DD) [default: 2020-11-01]
-e, --end_date <YYYY-MM-DD>
Date up to the data will be downloaded (ie. YYYY-MM-DD) [default: 2021-01-01]
Example output for CSV ✅
Open | Close | High | Low | Volume | Ticker | Date | Time |
---|---|---|---|---|---|---|---|
7203 | 7201 | 7203.7 | 7200.1 | 9.404174 | BTC/USD | 12/31/2019 | 16:00:00 |
7201 | 7223.6 | 7223.6 | 7201 | 7.9037398 | BTC/USD | 12/31/2019 | 16:01:00 |
7224.4 | 7225 | 7225.5 | 7224.4 | 0.4799298 | BTC/USD | 12/31/2019 | 16:02:00 |
7224.981 | 7225.9 | 7225.9 | 7224.981 | 0.9294573 | BTC/USD | 12/31/2019 | 16:03:00 |
7225.862 | 7225.7295 | 7225.9 | 7225.7295 | 0.2913202 | BTC/USD | 12/31/2019 | 16:04:00 |
7225.7 | 7225.8673 | 7225.9 | 7225.2973 | 1.0319704 | BTC/USD | 12/31/2019 | 16:05:00 |
Example output for SQL (the timestamp is shown in milliseconds) ✅
ID | Timestamp | Open | Close | High | Low | Volume | Ticker | Interval |
---|---|---|---|---|---|---|---|---|
1 | 1577868000000.0 | 7205.7 | 7205.8 | 7205.8 | 7205.7 | 0.07137942 | BTCUSD | 1m |
2 | 1577867940000.0 | 7205.70155305 | 7205.8 | 7205.8 | 7205.70155305 | 0.035 | BTCUSD | 1m |
3 | 1577867880000.0 | 7205.7 | 7205.70155305 | 7205.70155305 | 7205.7 | 0.025 | BTCUSD | 1m |
4 | 1577867820000.0 | 7205.75299748 | 7205.75299748 | 7205.75299748 | 7205.7 | 0.075 | BTCUSD | 1m |
5 | 1577867760000.0 | 7205.75299748 | 7205.2 | 7206.3 | 7205.2 | 0.005 | BTCUSD | 1m |
6 | 1577867700000.0 | 7205.2 | 7205.2 | 7205.2 | 7205.2 | 4.5802 | BTCUSD | 1m |
Contributing
Feel free to open an issue or pull request.
Buy me a coffee
ETH: 0x06Acb31587a96808158BdEd07e53668d8ce94cFE
Dependencies
~29–44MB
~727K SLoC