PTrade中的多策略并行与资金分配:一个账户运行多个策略
发布时间:13小时前阅读:10

单一策略难免有表现不佳的时期,将多个低相关性的策略组合运行,可以平滑收益曲线。PTrade支持在一个账户中同时运行多个策略代码,但需要设计资金分配和信号合并机制。本文介绍两种实现方式。
方式一:策略独立运行,手动分配资金。在PTrade中,你可以创建多个策略文件,每个策略独立运行。例如,策略A使用30%资金做趋势跟踪,策略B使用30%做网格,策略C使用40%做ETF轮动。每个策略内部使用order_target_percent时,是基于该策略自己视角的总资金吗?不是,PTrade中所有策略共享同一个账户的全局资金。因此,需要手动控制每个策略的下单资金。可以在每个策略中设置一个全局变量CAPACITY,例如order_target_percent(stock, 0.3 * 0.8),其中0.8是策略分配比例。但这样计算较繁琐,且资金利用率不精确。
方式二:主策略调度子策略。编写一个主策略,在handle_bar中依次调用子策略模块,子策略输出目标持仓,主策略合并后统一下单。这样可以精确分配资金,避免冲突。具体步骤:
1. 将子策略写成独立的函数或类,输入当前行情和账户状态,输出目标持仓字典{stock: target_weight}。
2. 主策略中,初始化子策略列表,并为每个子策略分配权重w_i(总和为1)。
3. 在每个handle_bar中,调用所有子策略,得到各自的目标权重。然后按权重汇总:total_weight[stock] = sum(w_i * weight_i.get(stock,0))。
4. 汇总后,归一化(确保总仓位不超过1),然后调用order_target_percent调整每个股票的仓位。
5. 风险控制:检查杠杆、集中度等。
这种方式的优势:资金分配精确,子策略之间互不干扰,容易添加或移除子策略。缺点:代码复杂,需要处理好子策略的初始化、状态保存。
PTrade的限制:策略代码必须写在同一个文件中,难以模块化。可以通过import导入外部模块(但PTrade可能限制)。建议将子策略代码直接写在主策略文件中。
多策略组合的核心是相关性:选择在不同市场环境下表现互补的策略。例如,趋势策略在牛熊市赚钱,震荡市亏钱;网格策略在震荡市赚钱,牛熊市亏钱。两者组合可以降低整体回撤。
国金证券的PTrade支持多策略运行,10万资金即可开通。量化社群中有多策略组合的框架代码。同时,两融全线上办理,组合策略使用杠杆需谨慎。多策略不是简单叠加,而是科学的资产配置。
温馨提示:投资有风险,选择需谨慎。
-
国常会力挺“六张网”,利好哪些板块?普通人如何稳健布局?
2026-05-18 15:52
-
REITs打新: 风电项目 ⌈中核新能⌋ 今日发售!点击领取认购操作指南~
2026-05-18 15:52
-
华泰AI涨乐APP超实用提示词分享,直接复制使用~
2026-05-18 15:52


问一问

+微信
分享该文章
