AI自动炒股,秒杀巴菲特?GPT写的量化程序靠谱吗?如何用AI工具辅助量化交易?零基础也能轻松拿捏代码?

这是邢不行第 129 期量化小讲堂的分享

作者 | 邢不行

我让国产ChatGPT写了个Python程序,运行后不仅可以测试MACD指标的效果,甚至能实现结果可视化。

而实现以上功能,全程不需要写一行代码,毫无编程经验的人也能做。

这也是AI工具在量化交易中的一个妙用,让它化身无情的编程机器,按需求生成代码,免费帮我们打工。

我们该如何GPT写代码,又能否用它来辅助量化交易实现自动炒股呢?本文就来做相应的解答。

01

AI+量化

距ChatGPT面世已两年,很多人也已习惯用它来辅助解决各类问题。

比如可以用GPT来做名词解释,得到的答案会比某度搜索精简很多,还可以让它来辅导作业,甚至还能让它来测八字,给出玄学的建议。

但它也并不是万能的,甚至连3.9和3.11哪个大都不一定答得对。

总体而言,当下AI的发展已达新高度,自主生成图片音乐乃至视频都已不在话下。

既然它那么强大,我们完全可以利用它来辅助量化交易,毕竟对很多人而言,学习量化交易最大的障碍就是写代码。

如果可行的话,确实可以大幅降低学习门槛和时间。

本文将会从两个案例入手,手把手教你用AI生成Python代码,帮助你完成量化回测,全程无需写代码,也不需要你有任何编程基础

但也还是要提醒大家一句,如果你想让AI简单粗暴的帮你炒股,结局注定会是血本无归,至于原因后文再说。

02

MACD指标计算

1、AI工具

要用AI辅助量化回测,就得先有合适的工具。

我们的目的是让小白也能跟着文章操作,因此选用的AI工具也是小白友好型的。

ChatGPT固然很优秀,但国产AI也完全能满足目前我们的需求。

就像如果你只玩魔兽争霸,那就没有必要多此一举买4090的显卡。

再者ChatGPT的注册本就困难重重,期间还需要用魔法辅助,这一步就已能劝退大部分人了。

我们就任选一个国产GPT,扫码登录后就可以开始演示了。

第一个案例就请出我们的老朋友,被称为技术指标之王的MACD

2、MACD指标案例

我们之前专门做过视频验证MACD指标的用法和效果,如果你感兴趣的话,也可以去看看。

在之前视频中,我们验证MACD指标的代码都是人工编写的。

现在有了AI,我们完全可以用它来生成测试MACD指标的Python代码。

我们假装自己对MACD一无所知,先来问下AI,“MACD是什么?”

它的回答比某百度更精简,重要信息也一点没落,不仅解释了MACD指标,还额外说明了它的用法。

据此可以知晓,MACD指标有用与否,关键在于金叉死叉信号。

我们就可以由此明确需要GPT帮助的点:帮我们计算MACD指标,并找出历史上金叉死叉发生的时间,再计算信号出现后股票未来几天的表现。这些都是我们要和它说的提示词。

为了全程不写代码,我提前准备了一份股票数据,上传给了GPT。

这样可以让生成的代码适配数据的格式,直接运行即可得到想要的结果。

上传数据后,我们就用提示词向GPT提要求。

提示词很长,但核心目的还是让GPT帮我们生成能计算并标记出MACD金叉死叉信号的代码。

你也不用刻意去记我的提示词,本文要到的这些资料我都打包好了,只需要评论区留言,都是可以直接免费发给你的。

GPT后续给出的代码,我们可以直接复制到Spyder上运行。

Spyder的下载和使用教程,我也一起放到了资料中,这里不再赘述,你只需跟着教程操作即可。

3、代码结果展示

首次运行程序后,我们要先看看GPT写的代码是否能成功输出结果。

像这样有醒目的红字就代表程序报错了,也就是代码需要修改。

这时也别急,我们只需把报错信息复制给GPT,让它帮我们修改下代码,等待它根据报错信息重新生成新代码。

我们再把新代码复制下来替换掉老代码,重新点击运行即可。

这次代码成功运行了,输出的金叉死叉时间的结果,完全符合我们的要求。

此时我们就可以让AI实现更多需求,比如让它帮我们计算金叉死叉出现后股票未来几天的表现。

同样将具体要求写成提示词给到AI,让它修改之前的代码,并将修改后的代码复制到Spyder中,重新运行即可。

新结果如图所示,它不仅标注了金叉和死叉信号出现的次数,还标注了信号出现后未来1天3天5天10天的上涨概率和平均收益率,满足了我们的需求。

当然需要注意的是,当你按文章复现我的流程时,会发现即使使用相同的提示词,AI给出的结果可能也会有所不同。

也不用太过担心,如果代码报错的话,就继续将报错信息复制给AI,让它帮你修改,直到代码可以成功运行为止。

4、全部A股测试

根据上文的操作,我们已经可以测试指定股票MACD金叉死叉的效果。

接下来就让AI找出所有A股历史上所有的金叉死叉,并测试它们的效果。

此时我们的提示词就需要告诉GPT,我们有众多数据文件需要它做统一处理,让它给出支持的代码。

等它输出后,我们仍旧复制代码使用,这次直接运行就出现了相应的结果。

先不论结果是否准确,AI至少实现了我们的一系列需求,我们自己全程也没写一句代码,即使是不会编程的量化小白,也能借助GPT轻松完成量化回测代码。

如果你也能借助AI写代码,还会觉得编程是量化投资学习的拦路虎吗?是不是一下觉得量化也不难了?

03

涨停案例

1、涨停案例探究

再来看一个涨停板效果的应用案例。

我们之前的视频中研究过各种不同形态的涨停,今天就只探究最基础的涨停形态,让GPT帮我们写代码并分析该形态出现后股票未来几日的表现如何。

和前文同样的起手,我们给AI上传数据和提示词,得到最初版本的代码。

复制代码直接运行,这次没有报错,一次就得到了想要的结果。

下一步的需求是让代码帮我们读取所有股票数据做分析。

把准备好的提示词再次给到GPT,让它化身为无情的编程机器继续帮我们修改代码。

再将新代码复制到Spyder中运行,不出意外的报错了。

同样按照流程让AI去分析报错并修改代码,直到可以成功运行为止。如此循环往复,代码根本无法绊住我们,总能把最终结果运行出来。

2、代码比对

先不管前述代码运行的结果正确与否,但起码GPT的代码能跑通,还能按我们的要求输出想要的结果。

在座的各位是不是成就感爆棚,有了学量化和学编程的动力?甚至想马上尝试,像我们一样去操作,实现全自动的AI交易?

但请允许我小小地泼一下冷水:GPT给的代码是运行成功了,这就能代表它没问题了吗?

在GPT给的代码中,判断涨停的标准是涨跌幅大于等于10%。

比对我们之前自己写的代码,即使不懂的人也能看出,后者会更为详细,比GPT给的多出了十几行。

本文中AI生成的代码和我们自己的代码,也都会和提示词一起打包,如果你对它感兴趣的话,可以评论区留言,都是可以免费发给你的。

我们自己的涨停判断代码如此复杂是因为,A股不同板块股票涨停标准各不相同,比如主板是10%,创业板和科创板是20%,ST股是5%,北交所是30%

因此需对不同板块股票进行不同的涨停价处理。

但AI却并没有这么做,是因为它不知道这些规则吗?

如果你问它A股各个板块的涨停标准,它也能给你准确的答复。

或者你告诉它详细的涨停板区分标准,它也能给你相应的代码。

但前提是你自己得知道这些规则,才能给出相应指令。

3、未来上限与下限

在目前阶段,GPT功能是很强,能辅助我们做很多事,代码写的也不错,也能实现一定的回测需求,但这些都只是保证了整体的下限而已。

代码逻辑和结果正确与否,取决于你自己而不是AI。

你只有真正懂涨停知识,才能让AI写出正确的测试代码。

否则它给你的代码,你也不知道是否正确,你的认知决定AI了工具上限的关键

如果你对交易市场和量化了如指掌,不会写代码又如何?

如果你对交易一窍不通,只想让AI帮你开发出一个全自动的赚钱策略,那现实吗?

就算侥幸写出可以用于交易的程序,你连代码逻辑对不对都不清楚,对策略原理也不懂,还敢去实盘使用吗?

所以记住一句话:AI只是保证了你的下限,而你自己才能决定AI的上限

至此我们演示了如何让AI帮我们写代码,也展示了AI工具的不足之处和需要注意的方向。

其实AI在量化交易中的运用远不止于此,我很多同事都已将AI工具融入日常工作中。

本文也只是其中的一个尝试,如果大家想看更多借助GPT做量化的内容,欢迎多多评论转发。反响热烈的话,下期我们就来讲AI在量化交易中的更多妙用。