Alpaca 券商对账幂等
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/alpaca-broker-reconciliation-idempotency-lr-mlum。
技能介绍
解决什么问题
Alpaca 交易系统本质是异步且最终一致的:写操作不会立即生效,事件可能丢失或重复,某些通道甚至不产生事件,已执行的交易也可能被撤销。如果仅依赖单次 API 调用或事件处理,本地数据库与 Alpaca 状态必然出现偏差。
核心能力
三层防御机制
- 幂等写入:每次资金/订单操作必须可安全重试。通过自定义
client_order_id(≤128 字符)和Idempotency-Key头实现:超时后先查询本地意图记录,再决定是否重发请求。 - 事件处理:订阅 Alpaca 事件流时,需结合本地数据库进行去重与状态收敛,而非假设事件按序到达或仅触发一次。
- 对账循环:定期比对本地数据库与 Alpaca 实时状态,修复因停机、bug 或事件丢失导致的差异。
关键步骤
- 本地优先记录:发起网络请求前,先在本地写入意图记录(含生成的唯一键),确保崩溃时仍有可对账的审计痕迹。
- 重试前查询:超时后通过
orders:by_client_order_id查询订单状态,避免重复下单。 - 跨技能协作:需先掌握
alpaca-broker-integration、alpaca-broker-sse-events等前置技能,本技能作为架构层整合所有操作。
适用边界
- 仅适用于 Alpaca 交易系统,依赖其 API 支持幂等键和客户端订单 ID。
- 要求本地数据库具备事务能力,能存储意图记录和审计日志。
- 对账频率需根据业务容忍度调整,高频对账可能增加 API 调用成本。
使用场景
- 开发Alpaca交易系统时,需处理异步写入导致的本地数据库与Alpaca状态不一致问题,确保数据最终一致
- 构建交易对账系统时,需设计幂等机制和对账循环,解决事件丢失或重复导致的订单状态偏差
- 在处理Alpaca订单超时重试时,需通过本地意图记录避免重复下单,保证操作安全
- 订阅Alpaca事件流时,需结合本地数据库去重和状态收敛,处理事件丢失或重复的情况
适合人员
- 开发Alpaca交易系统的后端工程师,需要处理订单写入和状态同步的一致性问题
- 构建交易对账系统的架构师,需要设计幂等机制和对账循环来保证数据准确性
- 处理Alpaca交易超时重试的技术负责人,需要避免重复下单和资金操作风险
- 集成Alpaca事件流的开发人员,需要处理事件丢失和重复导致的状态偏差