alpaca-py-Alpaca 提供的 API 产品进行交互的 Python 库


alpaca-py 是一个用于与 Alpaca 提供的 API 产品进行交互的 Python 库。Alpaca 提供了多种 REST、WebSocket 和 SSE 端点,允许用户进行从流式市场数据到创建自己的投资应用程序等各种操作。以下是对该仓库的详细介绍:

主要特性

  1. 多 API 支持:支持 Alpaca 的交易 API、市场数据 API 和经纪 API,可用于开发各类投资应用。
  2. OOP 设计:采用面向对象编程(OOP)的方式设计,通过创建请求对象来提交请求,每个方法通常对应一个独特的请求模型。
  3. 数据验证:利用数据验证确保请求数据的有效性。
  4. 多客户端支持:提供多个客户端类,方便用户与不同的 Alpaca API 进行交互。

仓库结构

.dockerignore
.gitattributes
.gitignore
.pre-commit-config.yaml
CODEOWNERS
CONTRIBUTING.md
Dockerfile
LICENSE
Makefile
README.md
cloudbuild.yaml
poetry.lock
pyproject.toml
.github/
 ISSUE_TEMPLATE/
 workflows/
tools/
 scripts/
docs/
 Makefile
 _static/
 _templates/
 api_reference/
 broker.rst
 conf.py
 getting_started.rst
 images/
 index.rst
 make.bat
 market_data.rst
 trading.rst
examples/
 README.md
 crypto-trading-basic.ipynb
 options-trading-basic.ipynb
 ...
tests/
 ...
alpaca/
 ...

核心模块与功能

1. 经纪账户相关

  • alpaca.broker.models.accounts:定义了与经纪账户相关的模型,如 Identity(用户身份信息)、Disclosures(用户披露信息)、Account(经纪账户信息)和 TradeAccount(交易账户信息)等。
from alpaca.broker.models.accounts import Identity

identity = Identity(
    given_name="John",
    family_name="Doe",
    date_of_birth="1990-01-01",
    country_of_tax_residence="USA"
)
  • alpaca.broker.requests:包含了与经纪账户相关的请求模型,如 UpdateAccountRequest(更新账户请求)和 ListAccountsRequest(列出账户请求)等。

2. 交易相关

  • alpaca.trading.models:定义了交易相关的模型,如 Asset(资产模型)和 Order(订单模型)等。
from alpaca.trading.models import Asset
from alpaca.trading.enums import AssetClass, AssetExchange, AssetStatus

asset = Asset(
    id="12345678-1234-1234-1234-123456789012",
    asset_class=AssetClass.US_EQUITY,
    exchange=AssetExchange.NASDAQ,
    symbol="AAPL",
    status=AssetStatus.ACTIVE,
    tradable=True
)
  • alpaca.trading.requests:包含了与交易相关的请求模型,如 GetAssetsRequest(获取资产请求)等。

3. 市场数据相关

  • alpaca.data.models:定义了市场数据相关的模型,如 ActiveStock(活跃股票模型)等。
  • alpaca.data.requests:包含了与市场数据相关的请求模型,如 BaseStockLatestDataRequest(获取最新股票数据请求)和 StockLatestBarRequest(获取最新股票条形数据请求)等。

安装与更新

  • 安装:支持 Python 3.8 及以上版本,可使用 pip 进行安装。
pip install alpaca-py
  • 更新:若已安装,可使用以下命令更新到最新版本。
pip install alpaca-py --upgrade

文档与示例

  • 文档:提供了详细的文档,包含所有客户端、方法和模型的参考,以及使用示例。文档地址为:https://alpaca.markets/sdks/python/getting_started.html
  • 示例:仓库中包含多个示例文件,如 crypto-trading-basic.ipynboptions-trading-basic.ipynb 等,帮助用户快速上手。

贡献与许可

  • 贡献:欢迎开发者为该项目做出贡献,具体贡献指南可参考 CONTRIBUTING.md 文件。
  • 许可:该项目采用特定的许可证,具体信息可查看 LICENSE 文件。