AI进化交易策略89代,结果令人震惊!
改编:小Q(QPython 布道师)
不少人对炒股充满兴趣,尤其是在AI技术兴起的今天,是否可以让AI来辅助我们进行股票交易呢?
今天分享一位国外开发者的经历——他是如何利用遗传算法,让计算机自动“进化”出一套交易策略的。
原文涉及较多专业术语,我已将其转化为通俗易懂的语言。他提到的项目,欢迎大家亲自尝试👇
我曾经也是一名手动调参的交易员。
做过量化交易的朋友应该深有体会👇
写一个策略→回测→调整参数→再回测→再调...
循环200次之后,我都分不清是在优化策略,还是在过度拟合历史数据了。
就像考试前背答案,背得滚瓜烂熟,一上考场却完全不会。
于是我想:能不能让机器自己寻找更优的策略?
于是我开发了一个叫finclaw[1]的工具——一个基于Python的量化金融引擎。
它的核心是一个进化引擎。
想象你在玩一款游戏👇
这就是遗传算法的基本逻辑。
每个策略都保存为一个YAML文件(一种配置格式),样子如下:
变异器会自动修改这些规则——比如调整RSI阈值、更换均线周期、添加过滤条件等。
我以最基础的黄金交叉策略作为起点,在NVDA(英伟达)的数据上运行了89代。
结果怎么说呢……就一个字:差。
2022年的那轮下跌中,它屡屡被市场打脸。
但电脑发现了一个关键点:成交量过滤器。
简单来说,光看到金叉还不够,还得看成交量是否放大。如果没放量,可能是假突破。
同时将跟踪止损从12%收紧到8%——防止利润过早流失。
还进化出了一个神器:ADX趋势强度过滤器。
换句话说:别在震荡行情中交易!
当市场横盘时,任何策略都容易亏损。ADX帮助系统判断“现在是否该休息”。
这是最大的一次进步——最大回撤直接下降了4个百分点。
最终策略与初始版本几乎完全不同:
就像一个从石器时代进化到现代的机器人🙂
在多次实验中,最具影响力的变异始终是成交量确认。
市场噪音太大了。
没有成交量的信号,就像在夜店搭讪——你不知道对方是真心感兴趣,还是出于礼貌回应。
固定百分比止损是伪科学。
因此进化方向都趋向于ATR动态止损——波动大就放宽,波动小就收紧。
进化引擎不断淘汰过于复杂的策略。
表现最好的策略,通常只有3-5个条件,而不是10个。
奥卡姆剃刀原则:如无必要,勿增实体。
遗传算法最怕的就是自我欺骗——在历史数据上表现优异,实盘却惨不忍睹。
我是这样应对的👇
不只在全部数据上回测,而是:
适应度评分仅基于样本外表现。
每个候选策略运行100次随机洗牌,检验收益是否真实可靠。
不仅看盈利,也关注风险和稳定性。
即使赚得不多但亏得少的策略,也能进入排行榜。
finclaw是开源项目,包含240+个技术因子,支持股票、A股、加密货币等多种资产。
GitHub: https://github.com/NeuZhou/finclaw[2]
我学到的最关键的一点:不要迷信任何单一策略。
无论是人工编写,还是AI进化生成。
最佳方式是:让AI帮你探索可能,你自己做最终决策。
如果你对用AI做量化交易感兴趣,想改造作者的程序用于实战,但对Python还不熟悉,我建议先学习这个课程,学完就能立刻上手:
完成课程后再回来看这篇文章,你会明白我为何这样解释。
你觉得AI进化出的策略靠谱吗?散户能否用这种方式自动生成交易策略?欢迎留言分享你的看法。
[1] finclaw:https://github.com/NeuZhou/finclaw
[2] https://github.com/NeuZhou/finclaw
[3] QPython+:https://www.qpython.com.cn/