1 个不稳定版本

0.0.1 2019年11月7日

#21 in #quant

MIT 许可证

170KB
4.5K SLoC

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);

依赖项

~52–600KB
~11K SLoC