Coder Social home page Coder Social logo

binance-history's Introduction

Binance history

Downloading and parsing historical data from the Binance exchange

Installation

Add the following line to your Cargo.toml file:

binance-history = "0.1.0"

Or for the latest github version:

binance-history = { git = "https://github.com/K0nstantini/binance-history" }

Usage

use binance_history::{COINMKlines, SpotTrades, USDMAggTrades};

#[tokio::main]
async fn main() {
    let symbol = "BTCUSDT";
    let path = "csv";
    let from = "2023-02-01 00:00:00";
    let to = "2023-02-02 23:59:59";

    let spot_trades: Vec<SpotTrades> = binance_history::get(symbol, None, from, to, path).await.unwrap();
    let usdm_agg_trades: Vec<USDMAggTrades> = binance_history::get(symbol, None, from, to, path).await.unwrap();
    let coinm_klines: Vec<COINMKlines> = binance_history::get("BTCUSD_PERP", Some("1h"), from, to, path).await.unwrap();

    assert!(!spot_trades.is_empty());
    assert!(!usdm_agg_trades.is_empty());
    assert!(!coinm_klines.is_empty());
}

Using custom struct

use binance_history::{BinanceData, DataType, MarketType};
use serde::Deserialize;

#[derive(Deserialize)]
struct Prices {
    time: i64,
    price: f64,
}

impl BinanceData for Prices {
    fn types() -> (MarketType, DataType) {
        (MarketType::USDM, DataType::Trades)
    }

    fn time(&self) -> i64 {
        self.time
    }
}

#[tokio::main]
async fn main() {
    let symbol = "ETHUSDT";
    let path = "csv";
    let from = "2023-02-01 00:00:00";
    let to = "2023-02-02 23:59:59";

    let prices: Vec<Prices> = binance_history::get(symbol, None, from, to, path).await.unwrap();
    assert!(!prices.is_empty());
}

binance-history's People

Contributors

k0nstantini avatar

Stargazers

 avatar

Watchers

 avatar

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.