第77章 多策略组合(2/2)
self.sybol=sybol
self.ter=ter_price#网格中心价
self.width=grid_width#网格间距比例
self.nu=grid_nu#向上和向下的网格层数
defgee_grids(self):
grids=[]
forirange(-self.nu,self.nu+1):
price=self.ter*(1+i*self.width)
ifi<rids.append({price:price,typebuyqty:100})
elifi>rids.append({price:price,typesellqty:100})
returngrids
三个策略独立开发完成后,真正的挑战来了:如何整合?
林晨在架构设计上花了整整两天时间。他设计了一个“策略调度器”,核心逻辑是根据市场状态动态分配资金权重。
第一步,市场状态识别。他编写了一个状态分类器,根据过去20个交易日的波动率、趋势强度、成交量变化等指标,将市场分为四种状态:强势上涨、强势下跌、宽幅震荡、窄幅震荡。
第二步,策略权重分配。在强势上涨趋势中,趋势策略分配到70%资金,均值回归策略20%,网格交易10%;在宽幅震荡中,均值回归策略分配到60%,趋势策略20%,网格交易20%;在窄幅震荡中,网格交易分配到50%,均值回归30%,趋势策略20%。
第三步,动态调整。每周末进行一次状态重评估和权重再平衡。
“这就像自动驾驶系统”,林晨在代码注释中写道,“根据路况(市场状态)自动切换驾驶模式(策略权重)。直道加速(趋势策略),弯道减速(均值回归),堵车时跟车(网格交易)”。
系统整合完成的那个下午,林晨泡了一杯浓茶,坐在电脑前启动了回测。
他选择了过去三年的数据,涵盖牛市、熊市、震荡市各种行情。回测结果让他屏住了呼吸。
单一趋势策略:年化收益率18.7%,最大回撤32.4%,夏普比率0.86。单一均值回归策略:年化收益率15.2%,最大回撤25.8%,夏普比率0.79。单一网格交易策略:年化收益率12.5%,最大回撤15.3%,夏普比率0.92。
而多策略组合:年化收益率21.3%,最大回撤降至18.2%,夏普比率提升至1.24。
“成了”。林晨长长地吐出一口气。
最大回撤从32.4%降到18.2%,这是质的飞跃。在投资中,控制回撤比追求高收益更重要——因为50%的回撤需要100%的收益才能回本,而20%的回撤只需要25%的收益就能恢复。
夏普比率从不到1提升到1.24,意味着每承担一单位风险,获得的收益补偿更高了。
更重要的是,收益曲线变得平滑了。在单一策略大幅回撤的时期,多策略组合因为其他策略的盈利而抵消了部分损失,整体曲线呈现出“小步快跑、稳步向上”的态势。
林晨将新系统部署到实盘。股票账户的7万资金,他分配了3万给趋势策略,1.5万给均值回归,0.5万给网格交易。期货模拟盘和可转债实盘也做了相应调整。
一周后,效果开始显现。
周一,市场震荡,趋势策略小幅亏损,但均值回归策略盈利,网格交易赚取了几个价差,整体账户微涨0.3%。
周三,市场突然上涨,趋势策略抓住了突破机会,单日盈利1.8%,均值回归策略因为趋势过滤没有触发交易,网格交易正常运作,整体账户大涨2.1%。
周五,市场冲高回落,趋势策略部分止盈,均值回归策略在回调中低吸,网格交易在波动中赚取差价,整体账户再涨0.7%。
一周下来,账户总收益3.1%,最大单日回撤只有0.5%。这个波动水平,林晨晚上终于能睡得着了。
周末,他算了一笔账:如果按周化3%的收益(年化约165%),7万本金半年就能翻倍。但理智告诉他,这只是理想情况,实际市场会有更复杂的表现。
不过多策略组合带来的安全感是真实的。就像在海上航行,以前只有一艘船,风浪大了随时可能翻;现在是一个舰队,即使一艘船受损,其他船还能保持编队继续前进。
夜深了,林晨关掉电脑。书房窗外,鹏城湾的灯光倒映在海面上,连成一片璀璨的光带。
他想起两个月前被裁员时的绝望,想起面试Web3公司时的挫败,想起自学AI时的孤独。那些时刻,他从未想过自己会坐在家里,构建一个能自动赚钱的系统。
技术改变命运——这句话以前听起来像鸡汤,现在成了他亲身验证的真理。
但林晨清楚,这只是开始。多策略组合提升了系统的鲁棒性,但资金规模依然是瓶颈。7万本金,即使年化50%,一年也只有3.5万收益,远不足以支撑家庭开支,更别说实现财富自由。
“需要更多资金,或者……”林晨看着屏幕上平滑上升的收益曲线,“找到放大收益的方法”。
这个念头在他脑海中盘旋,像一颗等待破土的种子。