跳转到内容

百分比

百分比分配用于按指定百分比拆分订单。它适合策略已经明确每个账户目标权重的场景。

order.faGroup = "Group_Percent"
order.faMethod = ""
order.faPercentage = ""

固定百分比通常是在 FA 组配置里定义每个账户的百分比,订单只引用组名。不要随手把 "50,50" 写进订单字段,除非你明确知道当前 TWS 配置要求通过 faPercentage 传值。

有些旧配置或示例中会出现 PctChangePctChange 更偏向对已有持仓做百分比变化,和固定百分比拆分不是同一个概念。实际应以 TWS 中组的分配方法为准。

字段中文含义注意点
faGroup账户组必须能在 FA XML 中找到。
faMethod分配方法覆盖项新项目优先使用组默认方法;不确定时留空。
faPercentage百分比相关参数只在当前账户配置明确要求时填写;顺序必须和组内账户顺序一致。
def parse_percentages(value):
percentages = [float(item.strip()) for item in value.split(",")]
if round(sum(percentages), 8) != 100:
raise ValueError("百分比合计必须为 100")
return percentages
percentages = parse_percentages("50,50")

真实系统还应校验账户数量和百分比数量是否一致:

if len(accounts) != len(percentages):
raise ValueError("账户数量和百分比数量不一致")
问题结果
百分比合计不是 100订单可能被拒或分配不符合预期。
账户顺序和百分比顺序不一致分配到错误账户。
数量太小舍入后部分账户可能分不到数量。
PctChange 当固定拆分结果可能完全不是预期。