Skip to main content

交易

机器翻译译自英文(docs.alpaca.markets)本页 23 段已全部译完

碎股

在对应方认证下,Trading API 扩展为支持碎股交易。

资产 API

资产实体有一个名为 fractionable 的额外字段,类型为布尔值,如果该资产被标记为可碎股交易,则设置为 true。在此处查看更多关于我们的 Assets API 的信息。

订单 API

POST 方法(用于提交订单)有一个名为 notional 的额外参数,用于表示要买入的美元金额。此参数与 qty 参数互斥。你也可以指定带有碎股数量的 qty 参数。请注意,碎股交易目前仅支持 day 订单,任何其他类型的订单都将导致 API 错误。

如果订单使用名义金额提交,则订单实体包含 notional 值。在这种情况下,订单实体会省略 qty 字段。

在此处查看更多关于我们的 Order API 的信息。

示例订单对象

 {
    "id": "39c489ad-fcb1-42b3-9f62-e14c11c62157",
    "client_order_id": "a49c3e74-3f74-468e-a31a-f7a15de17128",
    "created_at": "2024-05-20T09:56:41.449735Z",
    "updated_at": "2024-05-20T13:30:00.876162Z",
    "submitted_at": "2024-05-20T13:23:01.24795Z",
    "filled_at": "2024-05-20T13:30:00.865454Z",
    "expired_at": null,
    "canceled_at": null,
    "failed_at": null,
    "replaced_at": null,
    "replaced_by": null,
    "replaces": null,
    "asset_id": "7595a8d2-68a6-46d7-910c-6b1958491f5c",
    "symbol": "A",
    "asset_class": "us_equity",
    "notional": null,
    "qty": "0.1",
    "filled_qty": "0.1",
    "filled_avg_price": "154.03",
    "order_class": "",
    "order_type": "market",
    "type": "market",
    "side": "sell",
    "time_in_force": "day",
    "limit_price": null,
    "stop_price": null,
    "status": "filled",
    "extended_hours": false,
    "legs": null,
    "trail_percent": null,
    "trail_price": null,
    "hwm": null,
    "commission": "0",
    "subtag": null,
    "source": "correspondent"
},

订单属性

属性类型描述
idstring/UUIDAlpaca 生成的订单 ID
client_order_idstring/UUID客户端唯一订单 ID
created_atstring/timestamp订单录入的时间
updated_atstring/timestamp订单最近一次变更的时间
submitted_atstring/timestamp订单提交执行的时间,或者如果尚未提交,则为 created_at 时间。由于订单提交执行与数据库更新是异步的,有时这可能早于 created_at 时间。
filled_atstring/timestamp订单成交的时间。如果未成交,可以为 null
expired_atstring/timestamp可以为 null
cancelled_atstring/timestamp可以为 null
failed_atstring/timestamp可以为 null
replaced_atstring/timestamp可以为 null
replaced_bystring/UUID此订单被替换为的订单 ID。(可以为 null)
replacesstring/UUID此订单替换的订单 ID。(可以为 null)
asset_idstring/UUID资产 ID
symbolstring资产代码
asset_classstring资产类别
notionalstring/number订购的名义金额。如果输入,qty 将为 null。最多可接受 2 位小数。
qtystring/number订购的数量。如果输入,notional 将为 null。最多可接受 9 位小数。
filled_qtystring/number成交数量。
filled_avg_pricestring/number成交平均价格。如果订单在市场时间之外传递,则在订单处理之前可以为 0。
order_classstring有效值:simple、bracket、oco 或 oto。
order_typestring/number(将被下方 type 字段弃用)有效值:market、limit、stop、stop_limit、trailing_stop
typestring有效值:market、limit、stop、stop_limit、trailing_stop。
sidestring有效值:buy 和 sell。
time_in_forcestring请参阅订单有效期中的相关部分,了解对于何种订单可能有哪些值。
limit_pricestring/number限价。
stop_pricestring/number止损价。
statusstring订单状态。在此处查看订单状态。
extended_hoursboolean如果为 true,则符合在常规交易时段之外执行的条件。
legsarray当以嵌套样式查询非 simple 的 order_class 订单时,与此订单关联的 Order 实体数组。否则为 null。
trail_percentstring/number追踪止损单距离最高水位线的百分比值。
trail_pricestring/number追踪止损单距离最高水位线的美元值。
hwmstring/number自提交追踪止损单以来看到的最高(最低)市场价格。
commissionstring/number你想向最终用户收取的佣金。
commission_typestring选择如何解释 commission 字段中提供的值。\ 可用选项:notional(默认)、qty、bps。
subtagstring/numberOmnibus 合作伙伴的账户标识符。(可以为 null)
sourcestring订单来源。

账户配置 API

账户配置 API 添加了另一个配置键 fractional_trading,默认为 true。如果你因任何原因想要禁用特定账户的碎股交易,可以将其设置为 false。

佣金

你可以选择为每笔订单收取佣金。你需要先联系 Alpaca 设置佣金结构,但一旦设置好,你就可以使用 commission 参数提交客户订单,表示要收取的美元金额。相应字段会附加在 API 响应中的订单实体中。

要收取佣金,首先使用 commission_type 选择所需方法。然后在 commission 字段中指定所需的美元金额或百分比。 请注意:对于卖出订单,如果佣金输入大于交易本金,则将按交易本金金额(扣除 SEC REG 和 FINRA TAF 费用后的净额)收取佣金,而不是按订单中指定的金额。对于所有订单(无论佣金类型如何),如果订单有多次执行,所收取的佣金将按每次执行按比例分摊。 例如,如果订单的 10% 在一次执行中成交,那么该次执行的佣金将为总佣金的 10%。

  • notional:
    按订单收取佣金。当订单请求中省略 commission_type 字段时,此值用作默认值。
  • qty:
    按数量/合约收取佣金,按比例分摊。
  • bps:
    你要向最终用户收取的订单佣金百分比(以 bps 表示)。Alpaca 会将订单转换为名义金额以计算佣金。

订单子标签(Omnibus)

如果你采用 omnibus 设置,我们要求你在每笔订单中提交一个“子标签”值。这是为了让我们从交易监控要求的角度更好地理解订单流。如果你未能附加正确的子标签,我们可能需要拒绝来自你的所有订单流,因为我们可能无法区分特定的恶意活动。

常见问题

如果我在提交订单时从 Alpaca 收到超时消息,我该怎么办?

订单可能已发送到市场执行。在 Alpaca 支持团队或交易团队确认之前,你不应尝试重新发送订单或将超时订单标记为已取消。在对超时订单采取任何行动之前,你应该检查经纪商仪表板并联系 Alpaca 支持。
请联系我们的支持团队 support@alpaca.markets 以验证订单是否已成功提交并路由到市场。