#trading #stock #finance #command-line-tool #async #api-bindings #shell-completion

app apcacli

Alpaca(alpaca.markets)上交易股票的命令行工具

10 个版本

0.1.8 2023年12月1日
0.1.7 2023年11月9日
0.1.6 2023年1月8日
0.1.5 2022年4月2日
0.1.1 2020年6月21日

#60HTTP客户端

每月21次下载

GPL-3.0-or-later

79KB
2K SLoC

pipeline crates.io rustc

apcacli

apcacli 是一个与 alpaca.markets 上的 Alpaca API 交互的命令行应用程序。它提供了访问 Alpaca 大多数功能的权限,包括但不限于

  • 查询账户信息
  • 更改账户配置
  • 检索账户活动
  • 访问市场时钟
  • 提交、更改、列出和取消订单
  • 列出和关闭开放头寸
  • 列出和检索一般资产信息
  • 流式传输账户和交易事件

它支持纸面交易和实时API端点。

使用方法

程序假定环境变量表示 Alpaca 密钥 ID(APCA_API_KEY_ID)和密钥(APCA_API_SECRET_KEY),因此请确保它们存在。程序默认使用纸面交易API。对于实时交易,您还需要更改要使用的API端点的URL(APCA_API_BASE_URL)。

export APCA_API_BASE_URL='https://api.alpaca.markets'; # We trade live
export APCA_API_KEY_ID='XXXXXXXXXXXXXXXXXXXX';
export APCA_API_SECRET_KEY='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';

在此设置下,您可以从命令行进行交易。

提交订单
$ apcacli order submit buy SPY --value 1000 --limit-price 200
> 40c13937-5969-48f0-92f8-2f1ef673517a
查找订单
$ apcacli order get 40c13937-5969-48f0-92f8-2f1ef673517a
SPY:
  order id:         40c13937-5969-48f0-92f8-2f1ef673517a
  status:           accepted
  created at:       Sun, 10 May 2020 10:15:34 -0700
  submitted at:     Sun, 10 May 2020 10:15:34 -0700
  updated at:       Sun, 10 May 2020 10:15:34 -0700
  filled at:        N/A
  expired at:       N/A
  canceled at:      N/A
  quantity:         5
  filled quantity:  0
  type:             limit
  side:             buy
  good until:       canceled
  limit:            200.00 USD
  stop:             N/A
  extended hours:   false
列出所有开放头寸
$ apcacli position list
                                   |  Avg Entry  |     Today P/L      |      Total P/L
1 AAPL @  274.02 USD =  274.02 USD |  281.59 USD |  5.65 USD ( 2.11%) |  -7.57 USD (-2.69%)
1 AMZN @ 2359.86 USD = 2359.86 USD | 2426.79 USD | 31.74 USD ( 1.36%) | -66.93 USD (-2.76%)
1 BIDU @  101.75 USD =  101.75 USD |  107.33 USD |  0.34 USD ( 0.34%) |  -5.58 USD (-5.20%)
1 CTSO @    8.90 USD =    8.90 USD |    7.98 USD |  0.50 USD ( 5.95%) |   0.92 USD (11.53%)
1 EA   @  113.00 USD =  113.00 USD |  116.76 USD | -0.27 USD (-0.24%) |  -3.76 USD (-3.22%)
1 SPWR @    6.35 USD =    6.35 USD |    6.66 USD |  0.20 USD ( 3.25%) |  -0.31 USD (-4.65%)
3 XLK  @   87.00 USD =  261.00 USD |   80.10 USD |  8.55 USD ( 3.39%) |  20.70 USD ( 8.61%)
----------------------------------- ------------- -------------------- --------------------
                       3124.88 USD   3187.41 USD   46.71 USD ( 1.47%)   -62.53 USD (-1.96%)

还有更多命令可用,您可以使用帮助来发现。

该程序由 apca 包提供支持,并使用 Rust 编写。它包括shell补全支持和自动着色盈亏。

Shell补全

如前所述,apcacli 包含shell补全支持(适用于各种shell)。可以通过 shell-complete 实用程序生成补全脚本,然后只需将其源到当前shell中,以提供上下文相关的tab补全支持。例如:

$ cargo run --bin=shell-complete > apcacli.bash
$ source apcacli.bash

生成的补全脚本可以像往常一样作为系统范围的安装,并通过初始化文件,如 ~/.bashrc 进行源。

其他shell的完成脚本以类似的方式工作。有关支持的shell列表,请参阅shell-complete程序的帮助文本(--help)。

依赖项

~17–31MB
~473K SLoC