57 个版本 (29 个破坏性更新)

0.29.0 2024 年 2 月 21 日
0.28.0 2023 年 11 月 16 日
0.27.2 2023 年 7 月 2 日
0.26.2 2023 年 2 月 23 日
0.0.0 2019 年 6 月 29 日

#22WebSocket

Download history 172/week @ 2024-03-11 12/week @ 2024-03-18 12/week @ 2024-03-25 80/week @ 2024-04-01 19/week @ 2024-04-08 10/week @ 2024-04-15 21/week @ 2024-04-22 21/week @ 2024-04-29 8/week @ 2024-05-06 23/week @ 2024-05-20 9/week @ 2024-05-27 29/week @ 2024-06-03 16/week @ 2024-06-10 25/week @ 2024-06-17 31/week @ 2024-06-24

每月 101 次下载
4 个包中 使用

GPL-3.0-or-later

335KB
8K SLoC

pipeline coverage crates.io Docs rustc

apca

apca 是一个用于与 alpaca.markets 上的 Alpaca API 交互的库。这个包完全用 Rust 编写,并公开了一个基于原生的 async/await 语言特性的完整异步 API。

该包提供了对 Alpaca 提供的大多数功能的访问,包括但不限于

  • 查询账户信息
  • 更改账户配置
  • 检索过去账户活动
  • 访问市场时钟
  • 提交、更改、列出和取消订单
  • 列出和关闭开放头寸
  • 列出和检索一般资产信息
  • 通过 WebSocket 流订单更新
  • 通过 Alpaca 的数据 API 检索历史市场数据
  • 通过 Alpaca 的 WebSocket API 实时市场数据流

为了方便通过基于命令行的 API 访问,请使用 apcacli

使用方法

以下示例演示了如何创建一个 Client 对象,然后提交一个限价订单,限价为 100 美元,用于 AAPL

let api_info = ApiInfo::from_env().unwrap();
let client = Client::new(api_info);

let request = order::CreateReqInit {
  type_: Type::Limit,
  limit_price: Some(Num::from(100)),
  ..Default::default()
}
.init("AAPL", Side::Buy, order::Amount::quantity(1));

let order = client
  .issue::<order::Create>(&request)
  .await
  .unwrap();

返回的 order 对象可以随后进行检查,以获取有关订单的详细信息(例如其 ID)。完整的示例可在 此处 获得。

有关更多详细信息,请参阅完整的 文档

依赖关系

~9–22MB
~339K SLoC