4 releases

0.2.0 Sep 16, 2023
0.1.2 Apr 1, 2023
0.1.1 Jan 20, 2023

#2464 in Parser implementations

MIT license

56KB
1.5K SLoC

rsmarketstore

Rust driver for MarketStore

rsmarketstore can query and [write TBD] financial timeseries data from MarketStore

How to install

cargo add rsmarketstore

Examples

// Connect
let agent = Agent::connect(
    Uri::from_static("http://localhost:5995").into()).await;

// Query
agent
    .query(QueryParams {
        symbols: vec!["NIFTY 50".to_string()],
        timeframe: marketstore::MIN,
        attrgroup: "OHLCV".to_string(),
        ..Default::default()
    })
    .await?

// timeframes
let FiveMins = 5 * marketstore::MIN;
let FifteenMin = 15 * marketstore::MIN;

let TwoHours = 2 * marketstore::HOUR;

// stream
    let (stream, receiver) = stream::connect::<Candle>("ws://localhost:5993/ws")
        .await
        .unwrap();

    stream.subscribe(vec!["NIFTY 50".into()]).await?;
    receiver
        .for_each(|msg| async move {
            println!("{:#?}", msg);
        })
        .await;

Serde with Protobuf

Source can be found in examples/ohlcv

# Run
cargo run --example ohlcv --features=serde

Stream

Source can be found in examples/stream

# Run
cargo run --example stream --features=stream

Dependencies

~5–14MB
~145K SLoC