贝叶斯优化快 60 倍,却让我错过了 14% 的收益

📅 发布时间:2026/10/17 6:32:17
贝叶斯优化快 60 倍,却让我错过了 14% 的收益
原创不易,转载请标明出处及原作者。文中示例仅用于技术讨论,不构成任何操作建议。量化策略开发应以学习和技术交流为目的。本号不荐股、不卖课、不承诺收益。市场有风险,请合法合规投资。本文约 3800 字 | 预计阅读 8-12 分钟,建议先收藏。· · ·几周前读到一篇文章,一群人用数学模型在预测市场(Polymarket)里,一年赚了 4000 万美元。整数规划、Bregman 投影、Frank-Wolfe 优化算法,一整套框架。这类文章看完通常我就翻过去了,但这次没有。预测市场套利,一套完整的数学框架让我停下来的不是预测市场本身,我不玩那些。是文章里一个思路:他们面对的市场可能有 2 的 63 次方个结果,不可能全算一遍。所以赢家的做法是逐个构建"已验证有效点"的小集合,用已有认知来决定下一个该看哪里。不遍历,而是让搜索变聪明。这和我手上一个问题一模一样。问题在哪我维护一个策略实验室。回测、滚动窗口调参,样本外稳了就上线。参数优化我一直用的是网格搜索,穷举范围内所有组合,谁夏普最高就选谁。能用,但一直有点慢。更关键的是,我从没认真想过它找到的到底是不是全局最优,还是仅仅在我检查过的组合里排第一。挑了手头最简单的策略做实验:AAPL 双均线金叉死叉,快慢线两个参数。打算用网格搜索和预测市场那篇论文的 Frank-Wolfe 思路对打一轮。这个思路落到我的场景就是贝叶斯优化,,先搭一个"好区域大概在哪"的代理模型,只在值得看的地方花评估预算,不撒胡椒面。基准线:丐版的网格搜索在搞花活之前,我需要一个真实的对比基准。网格搜索快线周期从 5 天到 59 天,慢线周期从 20 天到 199 天,9,080 组参数全部跑完:import pandas as pd import numpy as np import yfinance as yf import vectorbt as vbt import itertools import time symbol = "AAPL" df = yf.download(symbol, start="2015-01-01", end="2024-01-01", multi_level_index=False) #