#derive #blpapi #trading #bloomberg #api-bindings

blpapi-derive

bloomberg的blpapi库的过程宏derive

1个不稳定版本

0.0.1 2019年11月7日

#161#trading


blpapi 使用

MIT 许可证

5KB
75 代码行

blpapi

Bloomberg blpapi的Rust封装。

这是一个正在进行中的项目,我不打算与C++ API达到兼容。另一方面,我非常欢迎任何贡献!

仅在Windows上测试(DesktopApi)。在Linux上可编译。测试版本:3.12.3.1

安装

  1. 安装C/C++ BLPAPI。 (从 https://www.bloomberg.com/professional/support/api-library/ 下载并提取文件)
  2. 设置 BLPAPI_LIB 环境变量。在Windows上:\lib,在Linux上:/Linux

示例

# Cargo.toml
[dependencies]
blpapi = { version = "0.0.1", features = [ "derive", "dates" ] }

参考数据

use blpapi::{RefData, session::SessionSync};

// use the derive feature to automatically convert field names into bloomberg fields
#[derive(Default, RefData)]
struct EquityData {
    ticker: String,
    crncy: String,
    market_status: Option<String>,
}

let mut session = SessionSync::new().unwrap();
let securities: &[&str] = &[ /* list of security tickers */ ];

let maybe_equities = session.ref_data::<_, EquityData>(securities);

历史数据

use blpapi::{RefData, session::{SessionSync, HistOptions}};

// use the **derive** feature to automatically convert field names into bloomberg fields
#[derive(Default, RefData)]
struct Price {
    px_last: f64,
}

let mut session = SessionSync::new().unwrap();
let securities: &[&str] = &[ /* list of security tickers */ ];

let options = HistOptions::new("20190101", "20191231");
let prices = session.hist_data::<_, Price>(securities, options);

依赖项

~1.5MB
~35K SLoC