请教一下多策略自动交易里,资金到底怎么分?共享资金池+单票上限+晚到策略软预留

374
  • ostaer_summar

    为什么会有这个问题

    最近在设计多策略自动交易时,碰到一个很现实的问题:

    竞价策略、十点半策略、两点半策略的出票时间不同。先出票的策略如果把资金用完,后面的机会就无法参与;但给每个策略固定预留资金,某个策略当天没出票时又会造成资金闲置。

    整理了一套自己正在验证的方案:所有实盘策略共享一个资金池,同时为晚到策略软预留一个单票额度。


    一个具体例子

    假设账户总资产为 20万元:

    参数配置换算金额
    全局仓位上限60%12万元
    自动策略共享比例50%6万元
    单票资金上限全局资金池的20%2.4万元

    计算方式:

    策略共享资金池 = 总资产 × 全局仓位 × 策略共享比例
    单票资金上限 = 总资产 × 全局仓位 × 单票比例
    当前阶段可用资金 = 策略共享资金池 - 一个单票软预留

    代入上面的参数:

    策略共享资金池:200000 × 60% × 50% = 60000元
    单票资金上限:200000 × 60% × 20% = 24000元
    开盘阶段先使用:60000 - 24000 = 36000元

    这样,早盘策略不会一次吃完整个资金池,后续至少还保留一只股票的额度。

    “软预留”与固定预留的区别

    预留的2.4万元不绑定某个固定策略:

    1. 十点半策略有合格候选,就由十点半策略使用;
    2. 十点半没有候选,额度继续留给两点半策略;
    3. 后续策略都没有候选,当天保持现金;
    4. 不为每个后续策略分别预留一份,避免资金大量闲置。

    我觉得它介于“先到先得”和“每个策略固定分仓”之间:既给晚到策略留机会,也不会把账户切成很多互不流通的小资金池。


    实现时容易忽略的几个细节

    1. 同一股票命中多个策略

    同一只股票可能同时被竞价多头、晨星或阿尔法命中。单票额度应按证券代码合并计算,不能让每个策略分别获得一个20%上限。

    例如:

    策略A计划买入 16000元
    策略B计划买入 14000元
    单票上限       24000元
    最终合计最多   24000元

    同时要保留全部命中来源,方便后续比较究竟是哪套策略贡献了收益。

    2. 多票必须稳定排序

    多只股票争抢剩余资金时,应先按固定规则排序,例如:

    • 策略优先级;
    • 策略评分;
    • 信号实际发现时间;
    • 股票代码作为最后的稳定排序条件。

    否则并发执行时,可能每次都是不同股票先拿到资金。

    3. 下单前重新检查资金

    策略规划出来的额度只是预算。真正发单前仍应重新检查:

    • 券商实时可用资金;
    • 已成交的策略持仓;
    • 尚未完成的买入委托;
    • 当前股票已占用的策略成本;
    • 全局仓位和单票上限。

    4. 重试必须幂等

    每笔交易生成稳定的 intent_id。网络超时、进程重启或定时任务重复触发时,先检查同一意图是否已经提交,避免重复买入。

    5. 人工持仓是否占用策略额度

    我的倾向是:

    • 已认领为策略操作的人工持仓:计入策略资金池;
    • 普通人工中长线持仓:不占策略额度;
    • 但券商真实可用现金始终是最终限制。

    还没有完全想清楚的地方

    目前最大的争议可能是:晚到策略真的值得固定保留一个单票额度吗?

    另一种方案是根据各策略的历史收益、最大回撤和近期表现动态分配权重。但这样容易把历史最优参数带进实盘,也可能在策略刚好进入回撤期时追涨杀跌式调整权重。

    暂时感觉“共享资金池+一个单票软预留”更简单,也更容易解释和审计。

    大家同时运行多个策略时,采用的是哪一种?

    • 每个策略固定分仓;
    • 所有策略先到先得;
    • 按历史表现动态分配;
    • 共享资金池加软预留;
    • 还有更合适的处理方式?

    欢迎讨论,特别想听听大家在不同出票时间、同票多策略命中、资金并发占用这几个问题上的处理经验。

  • niulai
    #1

    晚到策略的问题今天测试了,下周再观察一下,后续应该可以控制到 29 分之前都能出票。

    资金分配,如果是各个策略都要考虑的话,建议用给权重。比如策略 A 占用 2 成资金,策略 B 效果好就占用 3 成资金。(都是按可用资金算)

    每个策略尽可能不超过 3 成仓位,更避免单钓一只,风险太大了。历史中每个策略都有 T+1亏损15% 左右的记录。

    其他的环节属于量化交易系统的设计和风控,细节太多了要一点点调优

  • adachishimamura
    #2

    看了下涉及到的东西确实好复杂,持续跟进佬的帖子。

    最后由 adachishimamura 编辑于 2026-10-17 22:09
  • DavisZhou
    #3

    学习一下,感觉资金不太好分

  • useradmin
    #4

    我们是一个总资金池加单票上限,晚到的策略排队或者降仓位,不搞软预留,容易算重复。另外留个总仓位阀门,几个策略同时亏的时候能救一命。

发表回复

登录后回复