活动
机器翻译译自英文(docs.alpaca.markets)本页 124 段已全部译完
快速参考
简介
Alpaca 的 Activity SSE 是一个单一 Server-Sent Events 端点,它以统一的模式实时流式传输每个活动——交易成交、公司行动、费用、分录、转账等。
它替代或取代以下旧版端点:
| 旧版端点 | 替代状态 | 类型 |
|---|---|---|
GET /v1/events/nta | 已完全替代。 所有 NTA 事件都可在 Activity SSE 上以更丰富的模式获得。 | SSE |
GET /v1/accounts/activities | 已完全替代。 通过 since / until 参数支持历史活动查询。2026 年 2 月 11 日之后记录的活动可在新端点上获得。 | REST |
GET /v2/events/trades | 可用事件子集。 交易成交、更正和作废可在 Activity SSE 上获得。非成交订单生命周期事件(例如 accepted、canceled、expired、replaced)不是活动,不会出现。如果你依赖这些事件,请继续将 Trade Events SSE 与 Activity SSE 一起使用。Trade Events SSE 流的延迟通常也更低。 | SSE |
这对你为何重要:
- 所有活动使用单一连接,而非单独的 NTA 和 REST 端点。同时需要非成交订单生命周期事件(例如
accepted、canceled)的合作伙伴仍需使用 Trade Events SSE 获取这些事件,但所有财务状态变化都通过单一的 Activity SSE 连接进行。 - 统一模式,具有公共信封和类型特定的
details,消除不一致的字段命名。 - 稳定标识符(
ref_id),用于每个活动,可在 SSE 和未来的 REST 端点中使用。 - 基于 ULID 的
event_id,用于每个事件,可实现字典序排序和确定性回放。
核心概念:状态机复制
Alpaca 期望每个合作伙伴维护一个后端系统,镜像客户账户的财务状态——持仓、现金余额和交易历史。
Activity SSE 是保持该镜像同步的机制:
- 连接 Activity SSE。
- 在事件发生时接收每个活动事件。
- 将事件应用到你的本地状态(更新持仓、调整现金、记录交易)。
- 持久化最后成功处理事件的
event_id(ULID)。 - 重连时,使用
since_id参数从持久化的event_id恢复。使用ref_id作为去重键,以幂等方式处理任何重新投递的事件。
每个活动事件代表一个已在 Alpaca 一侧发生的状态变化。你的系统应应用这些事件以收敛到相同的状态。
端点参考
注意: 此端点目前位于
/v2beta1/下提供。当它进入正式可用状态时,路径可能会改变。
活动 SSE
流式传输账户活动事件。
API 参考请见此处。
单个事件查询
返回由 event_id ULID 标识的单个活动事件。
API 参考请见此处。
事件模式
每个事件都遵循两层结构:顶层为公共字段,外加一个包含特定于活动类型字段的 details 对象。
公共字段(每个事件上都存在)
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
account_id | UUID | 是 | 此活动所属的账户。 |
at | datetime(RFC 3339) | 是 | 业务事件时间戳——即活动在源系统(OMS 或 Ledgie)中发生并发出的时间。 |
event_id | ULID | 是 | 可按字典序排序、单调递增的事件标识符。组成:前 6 个字节以毫秒精度编码当前 UTC 时间,后 10 个字节为熵。时间部分编码事件流发出事件的时间戳(发布时间)。用于基于游标的回放。 |
activity_type | string | 是 | 主要活动分类(例如 TRD、DIV、SPLIT、FEE)。 |
activity_subtype | string | 否 | 类型内的进一步分类(例如 CDIV、FSPLIT、REG)。 |
ref_id | UUID | 是 | 此活动的稳定唯一标识符。对于交易:执行 ID。对于非交易活动:交易记录 ID。用作你的去重键。 |
status | string | 是 | 活动的状态(例如 executed)。 |
executed_at | datetime(RFC 3339) | 是 | 活动执行的时间。 |
settle_date | date | 是 | 活动的结算日期。 |
qty | decimal string | 否 | 涉及证券的数量。 |
price | decimal string | 否 | 涉及证券的价格。 |
net_amount | decimal string | 否 | 净现金影响(正数 = 贷记,负数 = 借记)。 |
currency | string | 是 | ISO 货币代码(例如 USD)。 |
swap_rate | decimal string | 否 | 本币活动的外汇兑换汇率。 |
swap_fee_bps | decimal string | 否 | 以基点表示的外汇兑换费用。 |
previous_id | UUID | 否 | 当此活动更正或取消先前活动时存在。包含先前活动的 ref_id。 |
details | object | 是 | 特定于活动类型的字段。结构因 activity_type 和 activity_subtype 而异。 |
details 对象
details 对象包含特定于活动类型的字段。这种设计避免了过多的 null 值,并提供丰富的类型特定数据。
例如,TRD(交易成交)活动的 details 包含 order_id、side、symbol、cum_qty、leaves_qty、order_status 和 execution_type。DIV / CDIV(现金股息)活动的 details 包含 ca_id、symbol、rate、entitled_qty、cash_payout 和公司行动日期。
每种活动类型的完整 details 模式在 API 参考中定义,示例可在下面的最后一节中找到。
details.parent_id 将活动链接到相关交易(ref_id)。它出现在:
- 与父交易一对一对应的
FEE子类型(例如COM、OCOM)。基于交易量的费用(REG、TAF、CAT、ORF、NRV、NRC、BSWP)不包含它。 - 当有可用的父交易
ref_id时,交易产生的INT/FI。这些事件还包含details.order_id。
对于 INT / FI,details.interest_type 为 coupon 或 accrued。票息有 rate。赎回应计有 price 和 accrued_interest_rate。交易应计有 order_id。
支持的活动类型
交易活动
activity_type | activity_subtype | 说明 |
|---|---|---|
TRD | — | 交易成交(股票或期权)。details.execution_type 为以下之一:fill、trade_correct、trade_bust。多腿订单每腿产生一个 TRD 事件,每个事件有各自的 ref_id,但 details.order_id 相同。 |
公司行动(股票)
activity_type | activity_subtype | 说明 |
|---|---|---|
CGD | STCG | 短期资本利得 |
CGD | LTCG | 长期资本利得 |
DIV | CDIV | 现金股息 |
DIV | SDIV | 股票股息 |
DIV | SPD | 代息付款 |
DIV | ROC | 资本返还 |
SPLIT | FSPLIT | 正向股票拆分 |
SPLIT | RSPLIT | 反向股票拆分 |
SPLIT | USPLIT | 单位拆分 |
SPIN | — | 分拆 |
MA | CMA | 现金并购 |
MA | SMA | 股票并购 |
MA | SCMA | 股票与现金并购 |
NC | SNC | 代码名称变更 |
NC | CNC | CUSIP 名称变更 |
NC | SCNC | 代码与 CUSIP 名称变更 |
REO | REOS | 纯股票重组 |
REO | REOC | 纯现金重组 |
REO | REOSC | 股票与现金重组 |
REORG | WRM | 无价值移除 |
VOF | VDST | 权利分配 |
VOF | VTND | 要约收购 |
VOF | VWRT | 认股权证行权 |
VOF | VRGT | 供股要约 |
VOF | VEXH | 交换要约 |
FIMAT | — | 固定收益到期/赎回 |
DIVNRA | — | 股息税预扣 |
公司行动(期权)
activity_type | activity_subtype | 说明 |
|---|---|---|
OPCA | DIV.CDIV | 期权 CA:现金股息 |
OPCA | DIV.SDIV | 期权 CA:股票股息 |
OPCA | MA.CMA | 期权 CA:现金并购 |
OPCA | MA.SMA | 期权 CA:股票并购 |
OPCA | MA.SCMA | 期权 CA:股票与现金并购 |
OPCA | NC.SNC | 期权 CA:代码名称变更 |
OPCA | NC.CNC | 期权 CA:CUSIP 名称变更 |
OPCA | NC.SCNC | 期权 CA:代码与 CUSIP 名称变更 |
OPCA | SPIN | 期权 CA:分拆 |
OPCA | SPLIT.FSPLIT | 期权 CA:正向拆分 |
OPCA | SPLIT.RSPLIT | 期权 CA:反向拆分 |
OPCA | SPLIT.USPLIT | 期权 CA:单位拆分 |
期权(非公司行动)
activity_type | activity_subtype | Description |
|---|---|---|
OPASN | — | 期权指派 |
OPEXC | — | 期权行权 |
OPEXP | — | 期权到期 |
OPTRD | — | 期权交易(与指派/行权配对) |
OPCSH | — | 期权现金结算 |
转账与分录
activity_type | activity_subtype | 说明 |
|---|---|---|
ACATC | — | ACAT 转账(现金) |
ACATS | — | ACAT 转账(证券) |
FOPT | — | 免付款交割转账(DTCC)。以前报告为 ACATC/ACATS。如果你筛选 ACAT 类型以捕获所有转账,请添加 FOPT 处理。 |
JNLC | — | 分录(现金) |
JNLS | — | 分录(证券) |
CSW | — | 现金提取 |
CSD | — | 现金支付(贷记/现金流入) |
MEM | — | 即时入金备忘记账 |
费用与利息
activity_type | activity_subtype | 说明 |
|---|---|---|
FEE | REG | 监管(SEC)费 |
FEE | TAF | 交易活动费 |
FEE | ORF | 期权监管费 |
FEE | OCC | 期权清算公司费 |
FEE | NRV | 非零售场所费 |
FEE | NRC | 非零售佣金费 |
FEE | LCT | 本币交易费 |
FEE | COM | 佣金 |
FEE | CAT | 综合审计追踪费 |
FEE | ADR | ADR 费 |
FEE | OCOM | 期权佣金(行权/清算) |
FEE | BSWP | 银行扫款费 |
INT | MGN | 保证金利息 |
INT | CDT | 信用利息 |
INT | SWP | 扫款利息 |
INT | QII | 合格利息收入 |
INT | FPSL | 全额支付证券借贷利息收入 |
INT | FI | 固定收益票息、赎回应计或交易应计 |
预扣税
activity_type | activity_subtype | 说明 |
|---|---|---|
WH | SWH | 州预扣税 |
WH | FWH | 联邦预扣税 |
WH | SLWH | 销售预扣税 |
集成指南(新合作伙伴)
如果你是新的 Alpaca 合作伙伴,请直接与 Activity SSE 集成。不要使用旧版端点。
步骤 1 — 建立 SSE 连接
使用你的 Broker API 凭据向 /v2beta1/events/activities 发起长连接 HTTP GET 请求。服务器将保持连接打开,并在事件发生时推送 data: 行。
步骤 2 — 解析每个事件
每个 SSE data: 行包含一个 JSON 对象。先解析公共字段(activity_type、ref_id、event_id、account_id),然后根据 activity_type 和 activity_subtype 路由到类型特定的处理逻辑。
步骤 3 — 将事件应用到你的本地状态
对于每个事件,更新你的本地数据库:
- TRD(交易成交): 记录成交。更新账户中该代码的持仓。按
net_amount调整现金。 - DIV(股息): 对于
CDIV,将net_amount贷记到现金。对于SDIV,将qty股添加到持仓。 - SPLIT: 按
details中的拆分比例调整持仓数量。 - FEE / INT: 按
net_amount调整现金。 - JNLC / JNLS: 相应地调整现金或持仓。
- MA、SPIN、NC、REORG: 按公司行动详情更新持仓(移除旧股份、添加新股份、酌情贷记现金)。
步骤 4 — 持久化游标
成功处理每个事件后,持久化 event_id(ULID)。这是你的回放游标。
步骤 5 — 处理重连
当你的连接断开时(网络问题、服务器重启、部署):
- 重新连接到同一端点。
- 将
since_id设置为最后成功处理的event_id。 - 处理收到的所有事件,按
ref_id去重。
步骤 6 — 处理更正和作废
当事件上存在 previous_id 时,表示此活动更正或取消了先前 ref_id 与 previous_id 匹配的活动。请在你系统中冲销原活动并应用新活动。
步骤 7 — 处理 SSE 注释
以 : 开头的行是 SSE 注释,而非数据。请专门处理以下两种:
:heartbeat— 连接存活。无需操作。: you are reading too slowly, dropped N messages— 你的消费者太慢。你已错过事件。将since_id设置为最后处理的event_id重新连接以回放错过的事件。: internal server error— 服务器正在关闭连接。请重新连接。
步骤 8 — 历史回放
要读取历史数据(例如在初始开户或对账期间),请使用 since 时间戳或 since_id 进行连接。如果你使用 since_id 且未指定 until_id,服务器将首先流式传输从该点开始的所有历史事件,然后过渡到实时。
迁移手册(现有合作伙伴)
本节面向当前使用旧版 NTA Events SSE(/v1/events/nta)和/或 Activities REST 端点(/v1/accounts/activities)的合作伙伴。我们也记录了与当前 Trade Events SSE(/v2/events/trades)的差异,尽管我们不认为新端点能完全替代它。
有哪些变化
| 方面 | 旧版 | Activity SSE |
|---|---|---|
| 端点 | 三个独立端点(trade SSE、NTA SSE、activities REST) | 单一端点:/v2beta1/events/activities |
| 事件 ID | 取决于端点版本的整数(event_id)+ ULID(event_ulid) | 仅 ULID(event_id) |
| 活动标识 | SSE 和 REST 之间没有共同的稳定 ID | 每个事件上的 ref_id(UUID) |
| 模式 | 交易和 NTA 事件之间扁平、不一致的字段 | 两层:公共信封 + 类型特定的 details 对象 |
| 交易活动命名 | FILL(REST)/ event: fill(SSE) | activity_type: TRD |
| NTA 类型字段 | entry_type + entry_sub_type | activity_type + activity_subtype |
| 自由文本描述 | NTA 事件上的 description 字段 | 已移除。由 details 中的结构化字段替代。 |
| 内嵌订单对象 | 交易事件上的完整订单对象 | 仅 details 中的关键订单字段(order_id、client_order_id、side、symbol、order_status 等) |
per_share_amount | 出现在旧版 NTA 事件上 | 由 details.rate 替代(在适用时) |
position_qty | 出现在交易事件上 | 不存在。请在本地根据成交计算。 |
订单生命周期事件
Trade Events SSE 为完整订单生命周期发出事件:accepted、new、pending_new、fill、partial_fill、canceled、expired、replaced、rejected、done_for_day、held、stopped、suspended、pending_cancel、pending_replace、calculated、order_replace_rejected、order_cancel_rejected、trade_bust、trade_correct。
Activity SSE 仅发出代表实际活动的事件——即改变账户财务状态的事件:
fill→activity_type: TRD,details.execution_type: filltrade_correct→activity_type: TRD,details.execution_type: trade_correcttrade_bust→activity_type: TRD,details.execution_type: trade_bust
不导致成交的订单生命周期事件(accepted、new、canceled、expired、replaced 等)不是活动,不会出现在 Activity SSE 上。这些事件不会改变持仓或现金。
如果你的应用依赖这些非成交订单生命周期事件(例如显示“订单已接受”或“订单已取消”通知),你应继续使用 Trade Events SSE(/v2/events/trades)进行订单生命周期跟踪,同时使用 Activity SSE 进行活动跟踪。
对于持仓、现金和交易历史的状态机复制,仅 Activity SSE 就足够了。
字段映射:Trade Events SSE → Activity SSE
| 交易事件字段 | Activity SSE 字段 | 说明 |
|---|---|---|
account_id | account_id | 不变。 |
at | at | 不变。在这两个端点中,该字段都编码业务事件时间戳——即活动在源系统中发生的时间。如果你以前将 at 用作执行时间的代理,请改用 executed_at。 |
event_id(整数,v1) | — | 已移除。请改用基于 ULID 的 event_id。 |
event_ulid(v1)/ event_id(v2) | event_id | 现在始终为 ULID。 |
event(例如 fill、new) | details.execution_type | 仅会发出 fill、trade_correct、trade_bust。非成交的生命周期事件不属于活动。 |
timestamp | executed_at | 已重命名。旧版 timestamp 字段(每种事件类型语义不同)已由 executed_at 替代。 |
order.id | details.order_id | 不再内嵌订单对象;关键字段提升到 details。 |
order.client_order_id | details.client_order_id | — |
order.symbol | details.symbol | — |
order.asset_id | details.asset_id | — |
order.side | details.side | — |
order.status | details.order_status | — |
order.filled_qty | details.cum_qty | 已重命名。订单的累计成交数量。 |
order.commission | details.commission | — |
order.*(其他字段) | — | 其余订单字段(limit_price、stop_price、time_in_force 等)不包含在内。 |
price | price | 移至公共信封。 |
qty | qty | 移至公共信封。 |
position_qty | — | 已移除。请在你方根据累计成交计算。 |
execution_id | ref_id | 已重命名。值相同(执行 UUID)。 |
previous_execution_id | previous_id | 已重命名。在 trade_correct 和 trade_bust 事件上出现。 |
字段映射:旧版 NTA Events SSE → Activity SSE
| 旧版 NTA 事件字段 | Activity SSE 字段 | 说明 |
|---|---|---|
account_id | account_id | 不变。 |
at | at | 不变。在两个旧版 SSE 端点中,at 都是业务事件时间戳——即活动在源系统中发生的时间。在 Activity SSE 中,at 字段保持此语义。详见上方的 Trade Events 映射。 |
event_id(整数) | — | 已移除。 |
event_ulid | event_id | 已重命名。现在是主要事件标识符。 |
id(记录 UUID) | ref_id | 已重命名。活动的稳定唯一标识符。 |
entry_type | activity_type | 已重命名。值相同(例如 DIV、FEE、JNLC)。 |
entry_sub_type | activity_subtype | 已重命名。值相同(例如 CDIV、REG、TAF)。 |
status | status | 不变。 |
qty | qty | 不变。现在是字符串格式的十进制数。 |
price | price | 不变。现在是字符串格式的十进制数。 |
net_amount | net_amount | 不变。现在是字符串格式的十进制数。 |
settle_date | settle_date | 不变。 |
system_date | details.system_date | 移入 details。格式从 datetime 改为 date(YYYY-MM-DD)。 |
symbol | details.symbol | 移入 details(按类型在适用时出现)。 |
cusip | details.cusip | 移入 details(按类型在适用时出现)。 |
description | — | 已移除。以前在自由文本描述中的所有信息现在都以 details 中的结构化字段表示。 |
per_share_amount | details.rate | 已重命名并移动。表示每股费率(例如股息率)。 |
group_id | details.group_id | 移入 details。对相关活动进行分组(例如拆分的两条腿)。 |
corporate_action_id | details.ca_id | 已重命名并移入 details。 |
swap_rate | swap_rate | 不变。保持在顶层。 |
execution_id | — | 曾出现在某些旧版 NTA 费用事件上。在新模式中,使用 details.parent_id 进行费用到父交易的链接。 |
字段映射:旧版 Activities REST → Activity SSE
| 旧版 REST 字段 | Activity SSE 字段 | 说明 |
|---|---|---|
id | ref_id | 已重命名。 |
activity_type(FILL) | activity_type(TRD) | FILL 现为 TRD。 |
activity_type(非交易) | activity_type | 非交易类型的值相同。 |
activity_sub_type | activity_subtype | 已重命名(移除下划线)。值相同。 |
transaction_time | executed_at | 已重命名。 |
date | settle_date | 已重命名。 |
net_amount | net_amount | 不变。 |
qty | qty | 不变。 |
price | price | 不变。 |
side | details.side | 移至 details(仅交易活动)。 |
symbol | details.symbol | 移至 details。 |
order_id | details.order_id | 移至 details(仅交易活动)。 |
cum_qty | details.cum_qty | 移至 details(仅交易活动)。 |
leaves_qty | details.leaves_qty | 移至 details(仅交易活动)。 |
order_status | details.order_status | 移至 details(仅交易活动)。 |
迁移检查清单
使用此检查清单跟踪你从旧版端点迁移到 Activity SSE 的进度。
准备工作:
- 阅读并理解本指南以及
ActivityEventV2的 OpenAPI 规范。 - 清点代码库中所有从 Trade SSE、旧版 NTA SSE 或 Activities REST 消费的位置。
- 确定你是否依赖非成交订单生命周期事件(例如
accepted、canceled、expired)。如果是,请继续使用 Trade Events SSE 获取这些事件。
实现:
- 构建
GET /v2beta1/events/activities的消费者,解析公共信封字段。 - 实现路由逻辑,按
activity_type(以及需要时按activity_subtype)分派到类型特定的处理程序。 - 更新你的数据模型,将
ref_id存储为主要活动标识符,将event_id(ULID)存储为你的回放游标。 - 将对
entry_type/entry_sub_type的引用替换为activity_type/activity_subtype。 - 将对
description自由文本字段的引用替换为从details读取的结构化字段。 - 如果你以前从交易事件中存储
position_qty,请改为根据累计成交计算持仓数量。 - 如果你引用了
per_share_amount,请改为读取details.rate。 - 更新去重逻辑,使用
ref_id而非旧版id字段。 - 实现交易更正和作废的
previous_id处理。 - 验证你的重连逻辑使用
since_id与 ULIDevent_id。
验证:
- 并行运行旧版和新版消费者。比较收到的活动:每个交易成交和旧版 NTA 事件都应有一个对应的 Activity SSE 事件,其
ref_id相匹配。 - 验证同一活动的旧版和新版事件之间的
net_amount、qty、price和settle_date是否匹配。 - 确认公司行动详情(拆分比例、股息率、并购条款)是否已从
details对象中正确提取。 - 测试重连:断开你的消费者,等待,使用
since_id重新连接,并验证没有事件丢失且重复事件得到处理。
切换:
- 验证通过后,停用你的旧版 NTA SSE 消费者。
- 停用你的旧版 Activities REST 轮询(如果用于实时跟踪)。
- 如果你不需要非成交的订单生命周期事件,停用你的 Trade SSE 消费者。
- 监控是否有丢弃的消息(留意
: you are reading too slowly注释)。
事件示例
每种活动的代表性示例。所有标识符均已替换为占位符。
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "TRD",
"qty": "0.04",
"price": "480.338",
"currency": "USD",
"net_amount": "-19.21",
"status": "executed",
"at": "2026-01-02T14:43:59.052726Z",
"executed_at": "2026-01-02T14:43:59.05095724Z",
"settle_date": "2026-01-05",
"details": {
"asset_id": "<ASID>",
"order_id": "<ORID>",
"client_order_id": "<CLID>",
"side": "buy",
"order_status": "filled",
"execution_type": "fill",
"symbol": "MSFT",
"cum_qty": "0.04",
"leaves_qty": "0"
}
}{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "TRD",
"qty": "1",
"price": "9.3",
"currency": "USD",
"net_amount": "-930.02",
"status": "executed",
"at": "2026-01-10T14:30:02.89489Z",
"executed_at": "2026-01-10T14:30:02.888518094Z",
"settle_date": "2026-01-06",
"details": {
"asset_id": "<ASID>",
"order_id": "<ORID>",
"client_order_id": "<CLID>",
"side": "buy",
"order_status": "filled",
"execution_type": "fill",
"symbol": "F260109C00006000",
"cum_qty": "1",
"leaves_qty": "0",
"commission": "0"
}
}{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "CSD",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "1382000",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-13T09:37:31.970401Z",
"settle_date": "2026-02-13",
"details": {
"system_date": "2026-02-13"
}
}{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "CSW",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "-7",
"status": "executed",
"at": "2026-01-17T02:00:08.514798Z",
"executed_at": "2026-01-17T04:35:10.338561Z",
"settle_date": "2026-01-16",
"details": {
"system_date": "2026-01-20"
}
}{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "JNLC",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "-4.81",
"status": "executed",
"at": "2026-01-15T02:00:08.514798Z",
"executed_at": "2026-01-15T08:00:00.925529Z",
"settle_date": "2026-01-15",
"details": {
"journal_id": "<JRLID>",
"system_date": "2026-01-15"
}
}{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "JNLS",
"qty": "0.00911",
"price": "638.2799",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T02:00:08.514798Z",
"executed_at": "2026-01-15T23:54:13.330501Z",
"settle_date": "2026-01-15",
"details": {
"journal_id": "<JRLID>",
"symbol": "AAPL",
"system_date": "2026-01-15"
}
}# there are some fees, that do not have one single transaction from which they are derived, but they are derived on a volume/bulk/duration of transactions. For them, there is no `parent_id` relationship. Such fees sub-types include: REG, TAF, CAT, ADR, ORF, BSWP, NRV, NRC, ADR, OCOM, LOC
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "FEE",
"activity_subtype": "TAF",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "-0.01",
"status": "executed",
"at": "2026-01-16T01:00:08.514798Z",
"executed_at": "2026-01-16T01:00:00Z",
"settle_date": "2026-01-16",
"details": {
"system_date": "2026-01-15"
}
}
# All other fees, will have parent_id relationship setup, as they have one-to-one relationship with the transaction which they are derived from.
# These fees may have sub-types
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "FEE",
"activity_subtype": "OCC",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "-0.02",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-01-15T14:44:09.189982Z",
"settle_date": "2026-01-15",
"details": {
"parent_id": "<PTID>",
"system_date": "2026-01-15"
}
}
# or no sub-type at all
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "FEE",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "-0.02",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-01-15T14:44:09.189982Z",
"settle_date": "2026-01-15",
"details": {
"parent_id": "<PTID>",
"system_date": "2026-01-15"
}
}{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "ACATC",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "118.79",
"status": "executed",
"at": "2025-12-06T02:00:08.514798Z",
"executed_at": "2025-12-06T00:00:42.17753Z",
"settle_date": "2025-12-08",
"details": {
"request_id": "<RQTID>",
"external_id": "20251110012345@000031",
"system_date": "2025-12-05",
"hold_date": "2025-12-08"
}
}{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "ACATS",
"qty": "4",
"price": "157.44",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2025-12-06T02:00:08.514798Z",
"executed_at": "2025-12-06T00:00:42.17753Z",
"settle_date": "2025-12-08",
"details": {
"request_id": "<RQTID>",
"external_id": "20252220054321@000007",
"symbol": "AAPL",
"system_date": "2025-12-05",
"hold_date": "2025-12-08"
}
}{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "INT",
"activity_subtype": "MGN",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "-3.01",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-28T05:56:15.207304Z",
"settle_date": "2026-02-27",
"details": {
"system_date": "2026-03-02"
}
}{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "INT",
"activity_subtype": "FPSL",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "0.01",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-27T05:00:30.215648Z",
"settle_date": "2026-02-27",
"details": {
"system_date": "2026-02-27"
}
}// Coupon
// interest_type: coupon. Has rate.
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "INT",
"activity_subtype": "FI",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "3203.13",
"status": "executed",
"at": "2026-07-27T16:00:08.514798Z",
"executed_at": "2026-07-27T16:00:00Z",
"settle_date": "2026-07-27",
"details": {
"interest_type": "coupon",
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"entitled_qty": "205000",
"cash_payout": "3203.125",
"cusip": "61761J3R8",
"isin": "US61761J3R84",
"rate": "15.625",
"record_date": "2026-07-24",
"payment_date": "2026-07-27",
"position_date": "2026-07-24",
"system_date": "2026-07-27"
}
}
// Accrued interest on call
// interest_type: accrued. Has price and accrued_interest_rate.
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "INT",
"activity_subtype": "FI",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "42.50",
"status": "executed",
"at": "2026-07-08T16:00:08.514798Z",
"executed_at": "2026-07-08T16:00:00Z",
"settle_date": "2026-07-09",
"details": {
"interest_type": "accrued",
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"entitled_qty": "10000",
"cash_payout": "42.50",
"cusip": "037833EK4",
"isin": "US037833EK41",
"price": "101.25",
"accrued_interest_rate": "4.25",
"record_date": "2026-07-08",
"payment_date": "2026-07-09",
"position_date": "2026-07-08",
"system_date": "2026-07-09"
}
}
// Trade accrued
// interest_type: accrued. Has order_id. parent_id when a parent trade ref_id is available.
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "INT",
"activity_subtype": "FI",
"qty": "10",
"price": "99.50",
"currency": "USD",
"net_amount": "12.34",
"status": "executed",
"at": "2026-09-03T16:04:08.514798Z",
"executed_at": "2026-09-03T16:04:00Z",
"settle_date": "2026-09-03",
"details": {
"interest_type": "accrued",
"order_id": "<ORID>",
"parent_id": "<PTID>",
"system_date": "2026-09-03"
}
}{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "DIV",
"activity_subtype": "CDIV",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "28.25",
"status": "executed",
"at": "2026-05-19T07:44:25.462922Z",
"executed_at": "2026-05-19T16:00:00Z",
"settle_date": "2026-05-19",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"symbol": "VG",
"cusip": "92333F101",
"entitled_qty": "113",
"rate": "0.25",
"cash_payout": "28.25",
"foreign": "false",
"special": "false",
"ex_date": "2026-05-19",
"record_date": "2026-05-19",
"system_date": "2026-05-19",
"payable_date": "2026-05-19",
"position_date": "2026-05-19"
}
}{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "DIV",
"activity_subtype": "ROC",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "28.25",
"status": "executed",
"at": "2026-05-19T07:44:25.462922Z",
"executed_at": "2026-05-19T16:00:00Z",
"settle_date": "2026-05-19",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"symbol": "VG",
"cusip": "92333F101",
"entitled_qty": "113",
"rate": "0.25",
"cash_payout": "28.25",
"foreign": "false",
"special": "false",
"ex_date": "2026-05-19",
"record_date": "2026-05-19",
"system_date": "2026-05-19",
"payable_date": "2026-05-19",
"position_date": "2026-05-19"
}
}{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "DIV",
"activity_subtype": "SDIV",
"qty": "0.002709921",
"price": "0",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-02T17:00:08.514798Z",
"executed_at": "2026-01-02T17:00:00Z",
"settle_date": "2025-12-29",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"symbol": "SBS",
"new_qty": "0.094116171",
"entitled_qty": "0.09140625",
"paid_qty": "0.002709921",
"rate": "1.029647",
"ex_date": "2025-12-29",
"record_date": "2025-12-29",
"system_date": "2026-01-02",
"payable_date": "2026-01-02",
"position_date": "2025-12-26"
}
}
# Substitute payment in lieu of dividend
# Often paired with a DIV/CDIV for the same corporate action. The SPD covers shares loaned out (e.g., via Fully Paid Securities Lending); the CDIV covers shares held on record date.
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "DIV",
"activity_subtype": "SPD",
"qty": "0",
"price": "0",
"currency": "",
"net_amount": "-0.03",
"status": "executed",
"at": "2025-10-17T16:00:08.514798Z",
"executed_at": "2025-10-17T16:00:00Z",
"settle_date": "2025-10-17T00:00:00Z",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"symbol": "ULTY",
"entitled_qty": "77",
"rate": "0.000338",
"cash_payout": "0.026026",
"foreign": "false",
"special": "true",
"ex_date": "2025-10-16",
"record_date": "2025-10-16",
"system_date": "2025-10-17",
"payable_date": "2025-10-17",
"position_date": "2025-10-16",
"due_bill_on_date": "2025-09-03",
"due_bill_off_date": "2025-09-02"
}
}
# DIVNRA is linked to its parent DIV activity via details.parent_id, which matches the parent DIV's ref_id. Parent can be a DIV/CDIV or a DIV/SPD.
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "DIVNRA",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "-8.47",
"status": "executed",
"at": "2026-05-19T07:44:25.462922Z",
"executed_at": "2026-05-19T07:44:21.799701Z",
"settle_date": "2026-05-19",
"details": {
"symbol": "VG",
"cusip": "92886T201",
"parent_id": "<REFID-1>",
"system_date": "2026-05-19",
"tax_rate": "<withholding-rate, e.g: 0.15 for AUS>",
"tax_country": "<3-digit-country-code>"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "MA",
"activity_subtype": "CMA",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "0.03",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-27T17:00:00Z",
"settle_date": "2026-02-27",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"acquiree_qty": "0.045366059",
"acquiree_symbol": "<ACQUIREE_SYMBOL>",
"acquiree_cusip": "<ACQUIREE_CUSIP>",
"cash_rate": "0.583043",
"cash_payout": "0.03",
"system_date": "2026-02-27",
"payable_date": "2026-02-27",
"position_date": "2026-02-26",
"effective_date": "2026-02-02"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "MA",
"activity_subtype": "CMA",
"qty": "-0.045366059",
"price": "0",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-27T17:00:00Z",
"settle_date": "2026-02-27",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"acquiree_qty": "0.045366059",
"cash_rate": "0.583043",
"cash_payout": "0.03",
"system_date": "2026-02-27",
"payable_date": "2026-02-27",
"position_date": "2026-02-26",
"effective_date": "2026-02-02",
"acquiree_cusip": "<ACQUIREE_CUSIP>",
"acquiree_symbol": "<ACQUIREE_SYMBOL>"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "MA",
"activity_subtype": "SMA",
"qty": "-2000",
"price": "0.8",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-25T05:00:00Z",
"settle_date": "2026-02-25",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"acquiree_qty": "2000",
"acquirer_qty": "200",
"acquiree_rate": "1",
"acquirer_rate": "0.1",
"acquiree_symbol": "<ACQUIREE_SYMBOL>",
"acquirer_symbol": "<ACQUIRER_SYMBOL>",
"acquiree_cusip": "<ACQUIREE_CUSIP>",
"acquirer_cusip": "<ACQUIRER_CUSIP>",
"system_date": "2026-02-25",
"payable_date": "2026-02-25",
"position_date": "2026-02-24",
"effective_date": "2026-02-24"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "MA",
"activity_subtype": "SMA",
"qty": "200",
"price": "8",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-25T05:00:00Z",
"settle_date": "2026-02-25",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"acquiree_qty": "2000",
"acquirer_qty": "200",
"acquiree_rate": "1",
"acquirer_rate": "0.1",
"acquiree_symbol": "<ACQUIREE_SYMBOL>",
"acquirer_symbol": "<ACQUIRER_SYMBOL>",
"acquiree_cusip": "<ACQUIREE_CUSIP>",
"acquirer_cusip": "<ACQUIRER_CUSIP>",
"system_date": "2026-02-25",
"payable_date": "2026-02-25",
"position_date": "2026-02-24",
"effective_date": "2026-02-24"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"previous_id": "<PRID-1>",
"activity_type": "MA",
"activity_subtype": "SCMA",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "8.29",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-13T17:00:00Z",
"settle_date": "2026-02-13",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"acquiree_qty": "0.394803871",
"acquirer_qty": "0.394803871",
"cash_rate": "21",
"acquiree_rate": "1",
"acquirer_rate": "1",
"acquiree_symbol": "<ACQUIREE_SYMBOL>",
"acquirer_symbol": "<ACQUIRER_SYMBOL>",
"acquiree_cusip": "<ACQUIREE_CUSIP>",
"acquirer_cusip": "<ACQUIRER_CUSIP>",
"cash_payout": "8.29",
"system_date": "2026-02-13",
"payable_date": "2026-02-13",
"position_date": "2026-02-12",
"effective_date": "2026-02-12"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"previous_id": "<PRID-2>",
"activity_type": "MA",
"activity_subtype": "SCMA",
"qty": "-0.394803871",
"price": "15.704",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-13T17:00:00Z",
"settle_date": "2026-02-13",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"acquiree_qty": "0.394803871",
"acquirer_qty": "0.394803871",
"cash_rate": "21",
"acquiree_rate": "1",
"acquirer_rate": "1",
"acquiree_symbol": "<ACQUIREE_SYMBOL>",
"acquirer_symbol": "<ACQUIRER_SYMBOL>",
"acquiree_cusip": "<ACQUIREE_CUSIP>",
"acquirer_cusip": "<ACQUIRER_CUSIP>",
"cash_payout": "8.29",
"system_date": "2026-02-13",
"payable_date": "2026-02-13",
"position_date": "2026-02-12",
"effective_date": "2026-02-12"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-3>",
"ref_id": "<REFID-3>",
"previous_id": "<PRID-3>",
"activity_type": "MA",
"activity_subtype": "SCMA",
"qty": "0.394803871",
"price": "0",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-13T17:00:00Z",
"settle_date": "2026-02-13",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"acquiree_qty": "0.394803871",
"acquirer_qty": "0.394803871",
"cash_rate": "21",
"acquiree_rate": "1",
"acquirer_rate": "1",
"acquiree_symbol": "<ACQUIREE_SYMBOL>",
"acquirer_symbol": "<ACQUIRER_SYMBOL>",
"acquiree_cusip": "<ACQUIREE_CUSIP>",
"acquirer_cusip": "<ACQUIRER_CUSIP>",
"cash_payout": "8.29",
"system_date": "2026-02-13",
"payable_date": "2026-02-13",
"position_date": "2026-02-12",
"effective_date": "2026-02-12"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "NC",
"activity_subtype": "SNC",
"qty": "-7.30762391",
"price": "328.77",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-26T17:00:00Z",
"settle_date": "2026-02-26",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "RNA",
"new_symbol": "RNAM",
"position_qty": "7.30762391",
"system_date": "2026-02-26",
"position_date": "2026-02-25"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "NC",
"activity_subtype": "SNC",
"qty": "7.30762391",
"price": "328.77",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-26T17:00:00Z",
"settle_date": "2026-02-26",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "RNA",
"new_symbol": "RNAM",
"position_qty": "7.30762391",
"system_date": "2026-02-26",
"position_date": "2026-02-25"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "NC",
"activity_subtype": "CNC",
"qty": "-4.68546239",
"price": "26.89",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-23T17:00:00Z",
"settle_date": "2026-02-23",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "BRIF",
"new_symbol": "BRIF",
"position_qty": "4.68546239",
"system_date": "2026-02-23",
"position_date": "2026-02-20"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "NC",
"activity_subtype": "CNC",
"qty": "4.68546239",
"price": "26.89",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-23T17:00:00Z",
"settle_date": "2026-02-23",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "BRIF",
"new_symbol": "BRIF",
"position_qty": "4.68546239",
"system_date": "2026-02-23",
"position_date": "2026-02-20"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "NC",
"activity_subtype": "SCNC",
"qty": "1",
"price": "0.1001",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-25T17:00:00Z",
"settle_date": "2026-02-25",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "SVIWF",
"new_symbol": "NUCLW",
"position_qty": "1",
"system_date": "2026-02-25",
"position_date": "2026-02-24"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "NC",
"activity_subtype": "SCNC",
"qty": "-1",
"price": "0.1001",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-25T17:00:00Z",
"settle_date": "2026-02-25",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "SVIWF",
"new_symbol": "NUCLW",
"position_qty": "1",
"system_date": "2026-02-25",
"position_date": "2026-02-24"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "SPLIT",
"activity_subtype": "FSPLIT",
"qty": "-0.54796447",
"price": "62.32",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-27T17:00:00Z",
"settle_date": "2026-02-26",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3038297",
"symbol": "SF",
"old_qty": "0.54796447",
"new_qty": "0.821946705",
"old_rate": "1",
"new_rate": "1.5",
"ex_date": "2026-02-27",
"record_date": "2026-02-12",
"system_date": "2026-02-27",
"payable_date": "2026-02-26",
"position_date": "2026-02-26",
"due_bill_redemption_date": "2026-02-27"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "SPLIT",
"activity_subtype": "FSPLIT",
"qty": "0.821946705",
"price": "41.5467",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-27T17:00:00Z",
"settle_date": "2026-02-26",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3038297",
"symbol": "SF",
"old_qty": "0.54796447",
"new_qty": "0.821946705",
"old_rate": "1",
"new_rate": "1.5",
"ex_date": "2026-02-27",
"record_date": "2026-02-12",
"system_date": "2026-02-27",
"payable_date": "2026-02-26",
"position_date": "2026-02-26",
"due_bill_redemption_date": "2026-02-27"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "SPLIT",
"activity_subtype": "RSPLIT",
"qty": "-33",
"price": "7",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-27T05:00:00Z",
"settle_date": "2026-02-27",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3049682",
"symbol": "XRPT",
"old_qty": "33",
"new_qty": "1.65",
"old_rate": "20",
"new_rate": "1",
"ex_date": "2026-02-27",
"record_date": "2026-02-27",
"system_date": "2026-02-27",
"payable_date": "2026-02-27",
"position_date": "2026-02-26"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "SPLIT",
"activity_subtype": "RSPLIT",
"qty": "1.65",
"price": "140",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-27T05:00:00Z",
"settle_date": "2026-02-27",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3049682",
"symbol": "XRPT",
"old_qty": "33",
"new_qty": "1.65",
"old_rate": "20",
"new_rate": "1",
"ex_date": "2026-02-27",
"record_date": "2026-02-27",
"system_date": "2026-02-27",
"payable_date": "2026-02-27",
"position_date": "2026-02-26"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "SPLIT",
"activity_subtype": "USPLIT",
"qty": "-8",
"price": "26.31",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-17T17:00:00Z",
"settle_date": "2026-02-17",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "CCCXU",
"new_symbol": "INFQ",
"alternate_symbol": "INFQ.WS",
"old_qty": "8",
"new_qty": "8",
"alternate_qty": "2",
"old_rate": "1",
"new_rate": "1",
"alternate_rate": "0.25",
"system_date": "2026-02-17",
"payable_date": "2026-02-17",
"position_date": "2026-02-13",
"effective_date": "2026-02-17"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "SPLIT",
"activity_subtype": "USPLIT",
"qty": "8",
"price": "26.31",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-17T17:00:00Z",
"settle_date": "2026-02-17",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "CCCXU",
"new_symbol": "INFQ",
"alternate_symbol": "INFQ.WS",
"old_qty": "8",
"new_qty": "8",
"alternate_qty": "2",
"old_rate": "1",
"new_rate": "1",
"alternate_rate": "0.25",
"system_date": "2026-02-17",
"payable_date": "2026-02-17",
"position_date": "2026-02-13",
"effective_date": "2026-02-17"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID-3>",
"ref_id": "<REFID-3>",
"activity_type": "SPLIT",
"activity_subtype": "USPLIT",
"qty": "2",
"price": "0",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-17T17:00:00Z",
"settle_date": "2026-02-17",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "CCCXU",
"new_symbol": "INFQ",
"alternate_symbol": "INFQ.WS",
"old_qty": "8",
"new_qty": "8",
"alternate_qty": "2",
"old_rate": "1",
"new_rate": "1",
"alternate_rate": "0.25",
"system_date": "2026-02-17",
"payable_date": "2026-02-17",
"position_date": "2026-02-13",
"effective_date": "2026-02-17"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "SPIN",
"qty": "0.2",
"price": "0",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T14:00:08.514798Z",
"executed_at": "2026-02-27T17:00:00Z",
"settle_date": "2026-02-26",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3044458",
"new_symbol": "RNA",
"source_symbol": "RNAM",
"new_qty": "0.2",
"source_qty": "2",
"new_rate": "0.1",
"source_rate": "1",
"new_price": "0",
"source_price": "72.82",
"ex_date": "2026-02-27",
"record_date": "2026-02-12",
"system_date": "2026-02-27",
"payable_date": "2026-02-26",
"position_date": "2026-02-26",
"due_bill_redemption_date": "2026-02-27"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "FIMAT",
"qty": "-1000",
"price": "100",
"currency": "USD",
"net_amount": "1000",
"status": "executed",
"at": "2026-01-15T17:00:08.514798Z",
"executed_at": "2026-01-15T17:00:00Z",
"settle_date": "2026-01-15",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"qty": "1000",
"cash_payout": "1000",
"system_date": "2026-01-15",
"payment_date": "2026-01-15"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "VOF",
"activity_subtype": "VDST",
"qty": "9.975695601",
"price": "0",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-12T17:00:08.514798Z",
"executed_at": "2026-01-12T17:00:00Z",
"settle_date": "2026-01-05",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3018482",
"new_symbol": "HYT.RT",
"source_symbol": "HYT",
"new_qty": "9.975695601",
"source_qty": "9.975695601",
"rate": "1",
"ex_date": "2026-01-02",
"record_date": "2026-01-02",
"system_date": "2026-01-12",
"payable_date": "2026-01-05",
"position_date": "2025-12-31",
"expiration_date": "2026-01-26"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "REORG",
"activity_subtype": "WRM",
"qty": "-200",
"price": "0",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-15T17:00:08.514798Z",
"executed_at": "2026-01-15T17:00:00Z",
"settle_date": "2026-01-15",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"symbol": "CLNNW",
"removed_qty": "200",
"system_date": "2026-01-15",
"position_date": "2026-01-14"
}
}
# options - non corporate action related types: OPASN, OPEXC, OPEXP, OPTRD
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "OPASN",
"qty": "14",
"price": "0",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-14T21:00:08.514798Z",
"executed_at": "2026-01-14T21:00:00Z",
"settle_date": "2026-01-14",
"details": {
"group_id": "<GRPID>",
"system_date": "2026-01-14"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "DIV.CDIV",
"qty": "-7",
"price": "0.19",
"currency": "USD",
"net_amount": "133",
"status": "executed",
"at": "2026-07-13T08:25:15.080016Z",
"executed_at": "2026-07-13T16:00:00Z",
"settle_date": "2026-07-13",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"symbol": "FIZZ",
"cusip": "635017106",
"old_contract_symbol": "FIZZ260717P00030000",
"new_contract_symbol": "FIZZ260717P00026750",
"qty": "7",
"rate": "3.25",
"foreign": "false",
"special": "true",
"ex_date": "2026-07-13",
"record_date": "2026-07-13",
"system_date": "2026-07-13",
"payable_date": "2026-07-30",
"position_date": "2026-07-10"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "DIV.CDIV",
"qty": "7",
"price": "0.19",
"currency": "USD",
"net_amount": "-133",
"status": "executed",
"at": "2026-07-13T08:25:19.214049Z",
"executed_at": "2026-07-13T16:00:00Z",
"settle_date": "2026-07-13",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"symbol": "FIZZ",
"cusip": "635017106",
"old_contract_symbol": "FIZZ260717P00030000",
"new_contract_symbol": "FIZZ260717P00026750",
"qty": "7",
"rate": "3.25",
"foreign": "false",
"special": "true",
"ex_date": "2026-07-13",
"record_date": "2026-07-13",
"system_date": "2026-07-13",
"payable_date": "2026-07-30",
"position_date": "2026-07-10"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "DIV.SDIV",
"qty": "-2",
"price": "0.2",
"currency": "USD",
"net_amount": "40",
"status": "executed",
"at": "2025-12-29T10:00:11.144201Z",
"executed_at": "2025-12-29T17:00:00Z",
"settle_date": "2025-12-29",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3019202",
"symbol": "ITUB",
"cusip": "465562106",
"old_contract_symbol": "ITUB260116C00008000",
"new_contract_symbol": "ITUB2260116C00007770",
"qty": "2",
"rate": "1.03",
"ex_date": "2025-12-29",
"record_date": "2025-12-29",
"system_date": "2025-12-29",
"payable_date": "2025-12-31",
"position_date": "2025-12-26"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "DIV.SDIV",
"qty": "2",
"price": "0.1942",
"currency": "USD",
"net_amount": "-40.01",
"status": "executed",
"at": "2025-12-29T10:00:16.145582Z",
"executed_at": "2025-12-29T17:00:00Z",
"settle_date": "2025-12-29",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3019202",
"symbol": "ITUB",
"cusip": "465562106",
"old_contract_symbol": "ITUB260116C00008000",
"new_contract_symbol": "ITUB2260116C00007770",
"qty": "2",
"rate": "1.03",
"ex_date": "2025-12-29",
"record_date": "2025-12-29",
"system_date": "2025-12-29",
"payable_date": "2025-12-31",
"position_date": "2025-12-26"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "DIV.ROC",
"qty": "-5",
"price": "0.15",
"currency": "USD",
"net_amount": "75",
"status": "executed",
"at": "2026-04-28T08:11:14.996362Z",
"executed_at": "2026-04-28T16:00:00Z",
"settle_date": "2026-04-28",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_contract_symbol": "VISN260515P00016000",
"new_contract_symbol": "VISN1260515P00016000",
"qty": "5",
"system_date": "2026-04-28",
"position_date": "2026-04-27"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "DIV.ROC",
"qty": "5",
"price": "0.15",
"currency": "USD",
"net_amount": "-75",
"status": "executed",
"at": "2026-04-28T08:11:14.996362Z",
"executed_at": "2026-04-28T16:00:00Z",
"settle_date": "2026-04-28",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_contract_symbol": "VISN260515P00016000",
"new_contract_symbol": "VISN1260515P00016000",
"qty": "5",
"system_date": "2026-04-28",
"position_date": "2026-04-27"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "MA.SMA",
"qty": "-3",
"price": "0.65",
"currency": "USD",
"net_amount": "195",
"status": "executed",
"at": "2026-05-12T10:51:14.881163Z",
"executed_at": "2026-05-12T16:00:00Z",
"settle_date": "2026-05-12",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3017560",
"acquiree_symbol": "UDMY",
"acquirer_symbol": "COUR",
"acquiree_cusip": "902685106",
"acquirer_cusip": "22266M104",
"old_contract_symbol": "UDMY260821C00005000",
"new_contract_symbol": "COUR1260821C00005000",
"qty": "3",
"acquiree_rate": "1",
"acquirer_rate": "0.8",
"system_date": "2026-05-12",
"payable_date": "2026-05-12",
"position_date": "2026-05-11",
"effective_date": "2026-05-11"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "MA.SMA",
"qty": "3",
"price": "0.65",
"currency": "USD",
"net_amount": "-195",
"status": "executed",
"at": "2026-05-12T10:51:21.103005Z",
"executed_at": "2026-05-12T16:00:00Z",
"settle_date": "2026-05-12",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3017560",
"acquiree_symbol": "UDMY",
"acquirer_symbol": "COUR",
"acquiree_cusip": "902685106",
"acquirer_cusip": "22266M104",
"old_contract_symbol": "UDMY260821C00005000",
"new_contract_symbol": "COUR1260821C00005000",
"qty": "3",
"acquiree_rate": "1",
"acquirer_rate": "0.8",
"system_date": "2026-05-12",
"payable_date": "2026-05-12",
"position_date": "2026-05-11",
"effective_date": "2026-05-11"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "MA.SCMA",
"qty": "-20",
"price": "2.01",
"currency": "USD",
"net_amount": "4020",
"status": "executed",
"at": "2026-06-02T10:04:35.420592Z",
"executed_at": "2026-06-02T16:00:00Z",
"settle_date": "2026-06-02",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_contract_symbol": "THR261120C00090000",
"new_contract_symbol": "CECO1261120C00090000",
"qty": "20",
"system_date": "2026-06-02",
"position_date": "2026-06-01"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "MA.SCMA",
"qty": "20",
"price": "2.01",
"currency": "USD",
"net_amount": "-4020",
"status": "executed",
"at": "2026-06-02T10:04:35.420592Z",
"executed_at": "2026-06-02T16:00:00Z",
"settle_date": "2026-06-02",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_contract_symbol": "THR261120C00090000",
"new_contract_symbol": "CECO1261120C00090000",
"qty": "20",
"system_date": "2026-06-02",
"position_date": "2026-06-01"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "NC.SNC",
"qty": "-1",
"price": "29.1",
"currency": "USD",
"net_amount": "2910",
"status": "executed",
"at": "2026-06-24T08:40:37.427535Z",
"executed_at": "2026-06-24T16:00:00Z",
"settle_date": "2026-06-24",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "SATS",
"new_symbol": "ECHO",
"old_cusip": "278768106",
"new_cusip": "278768106",
"old_contract_symbol": "SATS271217C00120000",
"new_contract_symbol": "ECHO271217C00120000",
"qty": "1",
"system_date": "2026-06-24",
"position_date": "2026-06-23"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "NC.SNC",
"qty": "1",
"price": "29.1",
"currency": "USD",
"net_amount": "-2910",
"status": "executed",
"at": "2026-06-24T08:40:46.012399Z",
"executed_at": "2026-06-24T16:00:00Z",
"settle_date": "2026-06-24",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "SATS",
"new_symbol": "ECHO",
"old_cusip": "278768106",
"new_cusip": "278768106",
"old_contract_symbol": "SATS271217C00120000",
"new_contract_symbol": "ECHO271217C00120000",
"qty": "1",
"system_date": "2026-06-24",
"position_date": "2026-06-23"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "NC.CNC",
"qty": "-4",
"price": "0.22",
"currency": "USD",
"net_amount": "88",
"status": "executed",
"at": "2025-09-29T07:21:46.420695Z",
"executed_at": "2025-09-29T16:00:00Z",
"settle_date": "2025-09-29",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "WOLF",
"new_symbol": "WOLF",
"old_cusip": "977852102",
"new_cusip": "97785W106",
"old_contract_symbol": "WOLF260116C00002000",
"new_contract_symbol": "WOLF1260116C00002000",
"qty": "4",
"system_date": "2025-09-29",
"position_date": "2025-09-26"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "NC.CNC",
"qty": "4",
"price": "0.22",
"currency": "USD",
"net_amount": "-88",
"status": "executed",
"at": "2025-09-29T07:22:37.461371Z",
"executed_at": "2025-09-29T16:00:00Z",
"settle_date": "2025-09-29",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "WOLF",
"new_symbol": "WOLF",
"old_cusip": "977852102",
"new_cusip": "97785W106",
"old_contract_symbol": "WOLF260116C00002000",
"new_contract_symbol": "WOLF1260116C00002000",
"qty": "4",
"system_date": "2025-09-29",
"position_date": "2025-09-26"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "NC.SCNC",
"qty": "-1",
"price": "3.7",
"currency": "USD",
"net_amount": "370",
"status": "executed",
"at": "2026-04-06T08:23:56.397116Z",
"executed_at": "2026-04-06T16:00:00Z",
"settle_date": "2026-04-06",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "BITF",
"new_symbol": "KEEL",
"old_cusip": "09173B107",
"new_cusip": "486917107",
"old_contract_symbol": "BITF270115C00000500",
"new_contract_symbol": "KEEL270115C00000500",
"qty": "1",
"system_date": "2026-04-06",
"position_date": "2026-04-02"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "NC.SCNC",
"qty": "1",
"price": "3.7",
"currency": "USD",
"net_amount": "-370",
"status": "executed",
"at": "2026-04-06T08:23:56.397116Z",
"executed_at": "2026-04-06T16:00:00Z",
"settle_date": "2026-04-06",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "BITF",
"new_symbol": "KEEL",
"old_cusip": "09173B107",
"new_cusip": "486917107",
"old_contract_symbol": "BITF270115C00000500",
"new_contract_symbol": "KEEL270115C00000500",
"qty": "1",
"system_date": "2026-04-06",
"position_date": "2026-04-02"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "SPIN",
"qty": "-1",
"price": "8.36",
"currency": "USD",
"net_amount": "836",
"status": "executed",
"at": "2026-07-01T09:42:22.981030Z",
"executed_at": "2026-07-01T04:00:00Z",
"settle_date": "2026-07-01",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"new_symbol": "MBGL",
"source_symbol": "SPGI",
"new_cusip": "60744M106",
"source_cusip": "78409V104",
"old_contract_symbol": "SPGI260821C00470000",
"new_contract_symbol": "SPGI1260821C00470000",
"qty": "-1",
"new_rate": "1",
"source_rate": "1",
"new_price": "22.05",
"source_price": "407.26",
"ex_date": "2026-07-01",
"record_date": "2026-06-15",
"system_date": "2026-07-01",
"payable_date": "2026-07-01",
"position_date": "2026-06-30"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "SPIN",
"qty": "1",
"price": "8.36",
"currency": "USD",
"net_amount": "-836",
"status": "executed",
"at": "2026-07-01T09:42:22.981030Z",
"executed_at": "2026-07-01T04:00:00Z",
"settle_date": "2026-07-01",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"new_symbol": "MBGL",
"source_symbol": "SPGI",
"new_cusip": "60744M106",
"source_cusip": "78409V104",
"old_contract_symbol": "SPGI260821C00470000",
"new_contract_symbol": "SPGI1260821C00470000",
"qty": "-1",
"new_rate": "1",
"source_rate": "1",
"new_price": "22.05",
"source_price": "407.26",
"ex_date": "2026-07-01",
"record_date": "2026-06-15",
"system_date": "2026-07-01",
"payable_date": "2026-07-01",
"position_date": "2026-06-30"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "SPLIT.FSPLIT",
"qty": "-1",
"price": "1.07",
"currency": "USD",
"net_amount": "107",
"status": "executed",
"at": "2026-07-15T08:23:48.523132Z",
"executed_at": "2026-07-15T16:00:00Z",
"settle_date": "2026-07-14",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3102892",
"symbol": "KORU",
"old_cusip": "25461A387",
"new_cusip": "25461A387",
"old_contract_symbol": "KORU260717C01700000",
"new_contract_symbol": "KORU260717C00085000",
"old_qty": "1",
"new_qty": "20",
"old_rate": "1",
"new_rate": "20",
"ex_date": "2026-07-15",
"record_date": "2026-07-13",
"system_date": "2026-07-15",
"payable_date": "2026-07-14",
"position_date": "2026-07-15",
"due_bill_redemption_date": "2026-07-15"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "SPLIT.FSPLIT",
"qty": "20",
"price": "0.05",
"currency": "USD",
"net_amount": "-100",
"status": "executed",
"at": "2026-07-15T08:23:53.983324Z",
"executed_at": "2026-07-15T16:00:00Z",
"settle_date": "2026-07-14",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3102892",
"symbol": "KORU",
"old_cusip": "25461A387",
"new_cusip": "25461A387",
"old_contract_symbol": "KORU260717C01700000",
"new_contract_symbol": "KORU260717C00085000",
"old_qty": "1",
"new_qty": "20",
"old_rate": "1",
"new_rate": "20",
"ex_date": "2026-07-15",
"record_date": "2026-07-13",
"system_date": "2026-07-15",
"payable_date": "2026-07-14",
"position_date": "2026-07-15",
"due_bill_redemption_date": "2026-07-15"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "SPLIT.RSPLIT",
"qty": "-454",
"price": "0.83",
"currency": "USD",
"net_amount": "37682",
"status": "executed",
"at": "2026-07-15T13:52:50.100451Z",
"executed_at": "2026-07-15T16:00:00Z",
"settle_date": "2026-07-15",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3102961",
"symbol": "SOXS",
"old_cusip": "25461H572",
"new_cusip": "25461H291",
"old_contract_symbol": "SOXS260821C00005000",
"new_contract_symbol": "SOXS2260821C00005000",
"qty": "454",
"old_rate": "10",
"new_rate": "1",
"ex_date": "2026-07-15",
"record_date": "2026-07-15",
"system_date": "2026-07-15",
"payable_date": "2026-07-15",
"position_date": "2026-07-15"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "SPLIT.RSPLIT",
"qty": "454",
"price": "0.83",
"currency": "USD",
"net_amount": "-37682",
"status": "executed",
"at": "2026-07-15T13:53:25.520705Z",
"executed_at": "2026-07-15T16:00:00Z",
"settle_date": "2026-07-15",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "3102961",
"symbol": "SOXS",
"old_cusip": "25461H572",
"new_cusip": "25461H291",
"old_contract_symbol": "SOXS260821C00005000",
"new_contract_symbol": "SOXS2260821C00005000",
"qty": "454",
"old_rate": "10",
"new_rate": "1",
"ex_date": "2026-07-15",
"record_date": "2026-07-15",
"system_date": "2026-07-15",
"payable_date": "2026-07-15",
"position_date": "2026-07-15"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "SPLIT.USPLIT",
"qty": "-3",
"price": "10",
"currency": "USD",
"net_amount": "3000",
"status": "executed",
"at": "2026-05-07T07:00:00.000000Z",
"executed_at": "2026-05-07T16:00:00Z",
"settle_date": "2026-05-07",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "PLTR",
"new_symbol": "PLTT",
"alternate_symbol": "PLTRX",
"old_cusip": "69608A108",
"new_cusip": "69608A109",
"alternate_cusip": "74255L555",
"old_contract_symbol": "PLTR260515C00165000",
"new_contract_symbol": "PLTT1260515C00165000",
"qty": "3",
"old_rate": "1",
"new_rate": "1",
"alternate_rate": "1",
"system_date": "2026-05-07",
"position_date": "2026-05-06",
"effective_date": "2026-05-07"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "SPLIT.USPLIT",
"qty": "3",
"price": "10",
"currency": "USD",
"net_amount": "-3000",
"status": "executed",
"at": "2026-05-07T07:00:00.000000Z",
"executed_at": "2026-05-07T16:00:00Z",
"settle_date": "2026-05-07",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_symbol": "PLTR",
"new_symbol": "PLTT",
"alternate_symbol": "PLTRX",
"old_cusip": "69608A108",
"new_cusip": "69608A109",
"alternate_cusip": "74255L555",
"old_contract_symbol": "PLTR260515C00165000",
"new_contract_symbol": "PLTT1260515C00165000",
"qty": "3",
"old_rate": "1",
"new_rate": "1",
"alternate_rate": "1",
"system_date": "2026-05-07",
"position_date": "2026-05-06",
"effective_date": "2026-05-07"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "VOF.VDST",
"qty": "-1",
"price": "0.23",
"currency": "USD",
"net_amount": "23",
"status": "executed",
"at": "2026-07-06T11:40:36.859065Z",
"executed_at": "2026-07-06T16:00:00Z",
"settle_date": "2026-07-06",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_contract_symbol": "EOSE260717P00005000",
"new_contract_symbol": "EOSE1260717P00005000",
"qty": "1",
"system_date": "2026-07-06",
"position_date": "2026-07-02"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "VOF.VDST",
"qty": "1",
"price": "0.23",
"currency": "USD",
"net_amount": "-23",
"status": "executed",
"at": "2026-07-06T11:40:36.859065Z",
"executed_at": "2026-07-06T16:00:00Z",
"settle_date": "2026-07-06",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_contract_symbol": "EOSE260717P00005000",
"new_contract_symbol": "EOSE1260717P00005000",
"qty": "1",
"system_date": "2026-07-06",
"position_date": "2026-07-02"
}
}
# old contract removal leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "OPCA",
"activity_subtype": "CADJ",
"qty": "-1",
"price": "0.69",
"currency": "USD",
"net_amount": "69",
"status": "executed",
"at": "2026-07-23T08:46:42.453905Z",
"executed_at": "2026-07-23T16:00:00Z",
"settle_date": "2026-07-23",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_contract_symbol": "EOSE1260731C00005500",
"new_contract_symbol": "EOSE260731C00005500",
"qty": "1",
"system_date": "2026-07-23",
"position_date": "2026-07-22"
}
}
# new contract creation leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "OPCA",
"activity_subtype": "CADJ",
"qty": "1",
"price": "0.69",
"currency": "USD",
"net_amount": "-69",
"status": "executed",
"at": "2026-07-23T08:49:32.667749Z",
"executed_at": "2026-07-23T16:00:00Z",
"settle_date": "2026-07-23",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"old_contract_symbol": "EOSE1260731C00005500",
"new_contract_symbol": "EOSE260731C00005500",
"qty": "1",
"system_date": "2026-07-23",
"position_date": "2026-07-22"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "FOPT",
"qty": "10",
"price": "100",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-01-14T02:00:08.514798Z",
"executed_at": "2026-01-14T17:33:52.409539Z",
"settle_date": "2026-01-14",
"details": {
"external_id": "DEF5GRE2E5CW1F09",
"contra": "00000632",
"symbol": "IBM",
"system_date": "2026-01-14"
}
}
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "MEM",
"qty": "42",
"price": "42",
"currency": "USD",
"net_amount": "1764",
"status": "executed",
"at": "2026-01-14T02:00:08.514798Z",
"executed_at": "2025-09-03T16:04:00.512126999Z",
"settle_date": "2025-09-03",
"details": {
"transfer_id": "63febd60-51ad-4b90-b9a5-f4553972154d",
"system_date": "2025-09-03",
"group_id": "cebd684a-0f6a-4437-8435-0c99af5f86a9"
},
}
// A CGD event could have 1 leg or 2 legs, because it can have either the LTCG/STCG subtype or both subtypes.
// LTCG leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "CGD",
"activity_subtype": "LTCG",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "45.86",
"status": "executed",
"at": "2026-01-09T14:00:00.123456Z",
"executed_at": "2026-01-09T16:00:00Z",
"settle_date": "2026-01-09",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"symbol": "GCAD",
"cusip": "36261K509",
"entitled_qty": "100",
"cash_payout": "45.855",
"rate": "0.45855",
"long_term_rate": "0.45855",
"short_term_rate": "0.11019",
"ex_date": "2025-12-26",
"record_date": "2025-12-29",
"payable_date": "2026-01-09",
"position_date": "2025-12-26",
"system_date": "2026-01-09"
}
}
// STCG leg
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "CGD",
"activity_subtype": "STCG",
"qty": "0",
"price": "0",
"currency": "USD",
"net_amount": "11.02",
"status": "executed",
"at": "2026-01-09T14:00:00.456789Z",
"executed_at": "2026-01-09T16:00:00Z",
"settle_date": "2026-01-09",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"symbol": "GCAD",
"cusip": "36261K509",
"isin": "US36261K5090",
"entitled_qty": "100",
"cash_payout": "1.1019",
"rate": "0.11019",
"short_term_rate": "0.11019",
"ex_date": "2025-12-26",
"record_date": "2025-12-29",
"payable_date": "2026-01-09",
"position_date": "2025-12-26",
"system_date": "2026-01-09"
}
}
// A stock-only reorganization emits one SSE event per leg.
// Example: stock only, 1-for-1 exchange (CEPT → SECZ). Example: 50 CEPT shares convert 1:1 into 50 SECZ shares.
// Leg 1 — remove source shares (details.removed_qty = 50)
{
...
"activity_type": "REO",
"activity_subtype": "REOS",
"qty": "-50",
"net_amount": "0",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "12345",
"source_symbol": "CEPT",
"source_cusip": "12345A678",
"source_isin": "US1234567890",
"removed_qty": "50",
"effective_date": "2026-07-02",
"payable_date": "2026-07-02",
"position_date": "2026-07-02",
"system_date": "2026-07-02"
}
}
// Leg 2 — add destination shares
{
...
"activity_type": "REO",
"activity_subtype": "REOS",
"qty": "50",
"net_amount": "0",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "12345",
"source_symbol": "CEPT",
"source_cusip": "12345A678",
"source_isin": "US1234567890",
"source_qty": "50",
"symbol": "SECZ",
"cusip": "98765Z432",
"isin": "US9876543210",
"source_rate": "1",
"new_rate": "1",
"qty": "50",
"effective_date": "2026-07-02",
"payable_date": "2026-07-02",
"position_date": "2026-07-02",
"system_date": "2026-07-02"
}
}
// It's possible to have multi-leg variant that add shares for more than one symbol. For example, three legs:
// - removal (−50 CEPT) - example above
// - add SECZ (+50) - example above
// - add SPNA (+10) - described below
// Leg 3 — adds second target shares (SPNA)
{
"account_id": "<ACCID>",
"event_id": "<EVTID-3>",
"ref_id": "<REFID-3>",
"activity_type": "REO",
"activity_subtype": "REOS",
"qty": "10",
"price": "63.45",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-07-02T04:00:08.514798Z",
"executed_at": "2026-07-02T04:00:00Z",
"settle_date": "2026-07-02",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "12345",
"source_symbol": "CEPT",
"source_cusip": "12345A678",
"source_isin": "US1234567890",
"source_qty": "50",
"symbol": "SPNA",
"cusip": "55555Q111",
"isin": "US55555Q111",
"source_rate": "1",
"new_rate": "0.2",
"qty": "10",
"effective_date": "2026-07-02",
"payable_date": "2026-07-02",
"position_date": "2026-07-02",
"system_date": "2026-07-02"
}
}
// Example: cash only ($10.00/share cash-out)
// Cash-only reorganization. No new stock-leg fields.
// 50 shares at $10.00/share → $500 cash payout.
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "REO",
"activity_subtype": "REOC",
"qty": "-50",
"price": "10.00",
"net_amount": "0",
"status": "executed",
"at": "2026-07-02T04:00:08.514798Z",
"executed_at": "2026-07-02T04:00:00Z",
"settle_date": "2026-07-02",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "12345",
"source_symbol": "CEPT",
"source_cusip": "12345A678",
"removed_qty": "50",
"effective_date": "2026-07-02",
"payable_date": "2026-07-02",
"position_date": "2026-07-02",
"system_date": "2026-07-02"
}
}
// Leg 2 - add cash
{
"account_id": "<ACCID>",
"event_id": "<EVTID>",
"ref_id": "<REFID>",
"activity_type": "REO",
"activity_subtype": "REOC",
"qty": "0",
"currency": "USD",
"net_amount": "500",
"status": "executed",
"at": "2026-07-02T04:00:08.514798Z",
"executed_at": "2026-07-02T04:00:00Z",
"settle_date": "2026-07-02",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "12345",
"source_symbol": "CEPT",
"source_cusip": "12345A678",
"source_qty": "50",
"cash_rate": "10",
"cash_payout": "500",
"effective_date": "2026-07-02",
"payable_date": "2026-07-02",
"position_date": "2026-07-02",
"system_date": "2026-07-02"
}
}
// Example: stock and cash. Mixed consideration: 50 CEPT → 25 SECZ + $150 cash.
// 3 events
// leg 1 - remove shares
{
"account_id": "<ACCID>",
"event_id": "<EVTID-1>",
"ref_id": "<REFID-1>",
"activity_type": "REO",
"activity_subtype": "REOSC",
"qty": "-50",
"price": "12.69",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-07-02T04:00:08.514798Z",
"executed_at": "2026-07-02T04:00:00Z",
"settle_date": "2026-07-02",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "12345",
"source_symbol": "CEPT",
"source_cusip": "12345A678",
"source_isin": "US1234567890",
"removed_qty": "50",
"effective_date": "2026-07-02",
"payable_date": "2026-07-02",
"position_date": "2026-07-02",
"system_date": "2026-07-02"
}
}
// leg 2 - add cash
{
"account_id": "<ACCID>",
"event_id": "<EVTID-2>",
"ref_id": "<REFID-2>",
"activity_type": "REO",
"activity_subtype": "REOSC",
"qty": "0",
"currency": "USD",
"net_amount": "150",
"status": "executed",
"at": "2026-07-02T04:00:08.514798Z",
"executed_at": "2026-07-02T04:00:00Z",
"settle_date": "2026-07-02",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "12345",
"source_symbol": "CEPT",
"source_cusip": "12345A678",
"source_qty": "50",
"cash_rate": "3",
"cash_payout": "150",
"effective_date": "2026-07-02",
"payable_date": "2026-07-02",
"position_date": "2026-07-02",
"system_date": "2026-07-02"
}
}
// leg 3 - add shares
{
"account_id": "<ACCID>",
"event_id": "<EVTID-3>",
"ref_id": "<REFID-3>",
"activity_type": "REO",
"activity_subtype": "REOSC",
"qty": "25",
"price": "12.69",
"currency": "USD",
"net_amount": "0",
"status": "executed",
"at": "2026-07-02T04:00:08.514798Z",
"executed_at": "2026-07-02T04:00:00Z",
"settle_date": "2026-07-02",
"details": {
"ca_id": "<CAID>",
"group_id": "<GRPID>",
"reorg_id": "12345",
"source_symbol": "CEPT",
"source_cusip": "12345A678",
"source_isin": "US1234567890",
"source_qty": "50",
"symbol": "SECZ",
"cusip": "98765Z432",
"isin": "US9876543210",
"source_rate": "1",
"new_rate": "0.5",
"qty": "25",
"effective_date": "2026-07-02",
"payable_date": "2026-07-02",
"position_date": "2026-07-02",
"system_date": "2026-07-02"
}
}
重要说明
某些活动类型(如下所列)在示例中缺失。我们正在努力在活动于我们的生产环境中处理后尽快添加这些示例。
- VOF/VTND
- VOF/VWRT
- VOF/VRGT
- VOF/VEXH
最佳实践
幂等处理
重连期间你可能会收到重复事件。使用 ref_id 作为你的去重键。在应用事件之前,检查你是否已处理过具有该 ref_id 的活动。
重连策略
- 实现带指数退避的自动重连。
- 始终使用设置为最后成功处理的
event_id的since_id重新连接。 - 出于对账目的重连时,将
since设置为你最后处理的事件时间戳之前几分钟,以应对可能的顺序边界情况。
账户范围
Activity SSE 为你的代理下所有账户流式传输事件,包括公司账户——不仅是客户账户。
消息排序
- 保证按账户排序。 如果同一账户的事件 E1 先于 E2 到达,则 E1 先发生。
- 不保证跨账户排序。 使用
at或event_id字段来确定跨账户的顺序。
事件排序与业务时间
event_id(ULID)和 at 字段编码不同的时间戳:
at是业务事件时间戳——即活动在源系统中实际发生的时间。event_id(ULID)编码发布序列时间戳——即事件被追加到内部活动流的时间。这决定了事件的投递和回放顺序。
在正常运行中,两者几乎相同。然而,在基础设施延迟或回填期间,它们可能会发生偏离。如果 Alpaca 回填历史活动,它会出现在 event_id 序列的末尾(反映其发布的时间),即使其 at 值反映的是原始业务时间。
since 和 until 查询参数按业务时间戳(at)进行筛选。类似 since=2026-01-15T00:00:00Z&until=2026-01-16T00:00:00Z 的查询返回的事件可能包含 event_id 值超出此范围的活动,这些活动只是因为回填而稍后才被投递。
对于基于游标的回放,始终使用 since_id 与最后处理的 event_id。since/until 时间戳参数最适合对账和广泛的历史查询,而非无间隙恢复。如果你指定 since,还需要指定 until——而 since_id 可以让你保持结束日期开放,并过渡到实时消费。
时间戳编码
since 和 until 参数接受带时区的 RFC 3339 时间戳。时区偏移中的 + 字符(例如 +07:00)必须进行 URL 编码为 %2B:
/v2beta1/events/activities?since=2026-01-02T15:04:05%2B07:00
消费者性能
如果你的消费者无法跟上事件速率,服务器将丢弃消息并发送注释:: you are reading too slowly, dropped N messages。为避免这种情况:
- 异步处理事件——从流中读入缓冲区,再从缓冲区处理。
- 避免在流读取循环中进行阻塞 I/O(例如同步数据库写入)。
- 对于事件量大的客户,我们还提供分片流式传输。请联系我们。
SSE 投递与余额和持仓查询
Activity SSE 在事件被记录到账本后立即投递。余额和持仓查询(例如 Trading Account 或 Account Portfolio 端点)可能不会立即反映该活动,因为它们依赖于单独的日内调整流程。
不要假设收到活动事件就意味着账户的余额或持仓已在查询端点中更新。如果你的工作流通过检查余额来响应 SSE 事件,请构建轮询或重试机制以应对传播延迟。