1 个不稳定版本
0.0.1 | 2019年11月7日 |
---|
#21 in #quant
170KB
4.5K SLoC
blpapi
Bloomberg BLPAPI的Rust封装。
这是一个正在进行中的项目,我并不打算与C++ API达到完全一致。另一方面,我非常欢迎任何贡献!
仅在Windows上测试(DesktopApi)。在Linux上可编译。测试版本:3.12.3.1
安装
- 安装C/C++ BLPAPI。(从https://www.bloomberg.com/professional/support/api-library/下载并解压文件)
- 设置环境变量
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