1. 首页 >> ChatGPT教程 >>

使用ChatGPT开发股票量化策略

使用ChatGPT开发股票量化策略

chatgpt中文版 http://chatgpt.guige.xyz 

【本文只分享策略的原理,不推荐实盘交易

TL;DR

使用chatGPT可以提高编写策略的效力。但对不了解量化或编程的人来讲,只使用chatGPT难以开发一个可实盘的量化策略

环境准备

  1. joinquant的账号(注册地址)

  2. ChatGPT账号(注册地址)[本次使用的是chatGPT4,chatGPT3.5也能够]

策略

本次要实现策略来源于德邦证券的一篇研报《金工小市值专题之一:小市值策略初探》。根据研报的描写,小市值策略的投资逻辑主要有以下四点

  1. 范围溢价:通过统计发现,中国A股市场中,公司范围和股票风险溢价存在负相关关系[1]

  2. 卖空限制:由于中国股市没有完善的卖空机制,致使在一定时间范围内,股票的价格会更容易被毛病定价;

  3. 投资者结构:中国股市中散户比例比较高,而散户对小市值股票会更加关注;

  4. **壳价值**[2]:由于中国股市IPO采取的是核准制,上市的本钱和要求都比较严格,因此一些公司会选择借壳上市,而借的这个壳,通常为会选择收购一些小市值的上市公司;

原始小市值策略也比较简单,即从基础股票池中挑选出流通市值最小的100只股票进行买入。如果持有的股票不在这100只股票里,则卖出。每月调仓一次。基础股票池的条件为:

  1. 股票上市满1年;

  2. 不属于ST、*ST的股票;

  3. 股票换仓日尾盘非涨停;

  4. 非注册制、非北交所的股票;

开发流程

其实也没有甚么好说的,毕竟chatGPT比较智能,就直接把你的需求跟他说就好,你能说的越具体(prompt工程),他写的代码就可以越正确。比如在描写策略的时候,对话是

现在我需要在joinquant平台上面实现一个量化策略,具体描写以下:

交易市场: 中国A股市场

策略逻辑: 根据以下条件挑选出股票候选池:1.排除 ST 股、*ST 股;2. 排除北交所股票;3. 排除上市不满 20 日的次新股票。然后从候选池当选取流通市值最小的100只股票作为交易候选池。如果持有的股票不在交易候选池中则卖出。如果交易候选池的股票没有持有,则使用可用资金平均进行买入

调仓频率: 每月的首个交易日

第一部份对话 - 背景设定

第一部份对话是为了确认chatGPT会不会有joinquant平台开发的背景知识,它给了我一个示例策略的代码。不过这份代码在joinquant上面运行的时候是报错的。毛病的缘由是chatGPT编造了一个joinquant平台下单的API:order_target_percent,虽然把毛病信息给到chatGPT后,它能辨认出毛病的缘由,但是给出来新代码依然是毛病的。

这个时候就需要提供更多的信息,可以直接从joinquant平台上面找到下单的接口文档然后贴进去。这次chatGPT能够辨认出需要的下单函数,并且给出可运行的代码。

第二部份对话 - 策略开发

第二部份对话开始开发小市值策略,chatGPT根据之前的描写给出了对应的代码,从结构上来看是正确的。但是遇到的问题和之前是一样的,chatGPT依然会编造各种API,致使了报错,处理的方式和之前一样

终究chatGPT给出了在joinquant平台上面一个可运行的策略代码(代码地址)。整体逻辑和描写的基本一致,但是有些细微的地方实现还有问题,具体为:

  1. 逻辑毛病:get_stock_pool函数只取了100只股票来作为候选池,实际上应当取所有满足条件的股票;

  2. 未来函数:使用了get_price函数在开盘时间点来获得当天的数据,这个在当前策略下不会影响到回测结果,但是该策略是没法实盘运行。并且chatGPT未能辨认这个问题;

策略表现

收益概述



回测时间

190101 - 230427

策略收益

80.59%

年化收益

15.13%

逾额收益

36.32%

最大回撤

19.40%

总结

亮点:

  1. 将自然语言转变成代码:能根据需求的文字描写生成代码

  2. 纠错:贴出报错信息后能够找到报错的缘由和改正代码,和开发时候的debug有点像

  3. 接受上下文信息:不是简单的一问一答的方式

  4. 支持中文

缺点:

  1. 领域知识缺失:由于chatGPT是通用领域的模型,对特定的领域知识,需要额外训练

  2. 无中生有:受第一点的影响,常常编各种不存在API

  3. 回答生成的内容有长度限制,如果代码太长就得分成好几段输出

  4. chatGPT4限制3小时25个对话。。。。。

优化思路:

  1. 借助langchain[3]框架

  2. 利用openai平台提供的fine-tuning API[4]

参考资料

[1]

崔劲,殷霞,豁秋菊: CAPM模型在中国资本市场的改进研究——基于范围溢价的实证分析.

[2]

屈源育,沈涛,吴卫星: 上市公司壳价值与资源配置效力

[3]

langchain: https://github.com/hwchase17/langchain

[4]

fine-tuning: https://platform.openai.com/docs/guides/fine-tuning

桂<哥<网<络www.guIgege.cn

本文来源于chatgptplus账号购买平台,转载请注明出处:https://chatgpt.guigege.cn/jiaocheng/29768.html 咨询请加VX:muhuanidc

联系我们

在线咨询:点击这里给我发消息

微信号:muhuanidc

工作日:9:30-22:30

X

截屏,微信识别二维码

微信号:muhuanidc

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!