可用权益
AvailableEquity 表示按子账户可用权益分配。可用权益越高的账户,通常会分到更多订单数量或金额。
| 场景 | 是否适合 |
|---|---|
| 希望资金更充足的账户承担更多订单 | 适合。 |
| 每个账户必须分到完全相同数量 | 不适合,改用 EqualQuantity。 |
| 子账户购买力每天变化明显 | 适合,但要在下单前刷新账户数据。 |
| 需要固定百分比权重 | 不适合,考虑百分比或比例方法。 |
order.faGroup = "Group_Equity"order.faMethod = ""order.faPercentage = ""Group_Equity 应是 TWS 中默认方法为 AvailableEquity 的账户组。真实组名、账户顺序和默认方法都应从 requestFA(1) 返回的 XML 中读取。
XML 理解
Section titled “XML 理解”<Group> <name>Group_Equity</name> <defaultMethod>AvailableEquity</defaultMethod> <ListOfAccts> <String>DU_ACCOUNT_1</String> <String>DU_ACCOUNT_2</String> </ListOfAccts></Group>真实分配结果由 TWS 根据账户可用权益、订单价格、合约乘数、保证金和最小交易单位计算。代码只指定方法,不直接控制最终拆分比例。
def ensure_fa_method(order, expected_method): if order.faMethod and order.faMethod != expected_method: raise ValueError(f"FA 方法覆盖项不一致: {order.faMethod}")下单后应核对:
| 核对点 | 用途 |
|---|---|
openOrder() | 确认 TWS 收到的 faGroup 和 faMethod。 |
orderStatus() | 确认订单状态。 |
| TWS 分配明细 | 确认每个账户的实际数量。 |
如果某个子账户可用权益不足,订单可能被拒绝或分配结果与预期不同。