当前位置:首页|资讯|金融|编程|GPT-4|ChatGPT

基于GPT Code Interpreter的自动化金融数据分析

作者:AI研习所发布时间:2023-07-19

Code Interpreter介绍

近期GPT-4推出了Code Interpreter代码解析器功能,代码解析器可令ChatGPT运行代码,并且可以访问用户上传的文件,实现分析数据、创建图表、编辑文件、执行数学运算等复杂操作。有了它之后,即使不是程序员,只需要用自然语言向ChatGPT下达指令,也可以完成需要复杂编程技术的任务。


Code Interpreter模式下的GPT相比于之前,有三个功能特性:
- 可以接收上传的文件,在后台运行代码输出结果,相当于内置了python运行环境;

- 如果代码运行出错,可自行调试代码直到顺利运行

- 在一次回答中可以把多个任务分拆成各个步骤,按步骤解决所有任务直到全部运行结束,具有连续思考的能力

想要使用Code Interpreter功能,需要确保账户拥有Plus订阅权限,并通过 “Settings” 中的“Beta features”打开“Code interpreter”,即可使用。


GPT实践:自动化分析金融数据

以使用Code Interpreter分析中国PPI数据为例,通过展示出全部问答记录,详细解读GPT自动化分析金融数据的过程以及Code Interpreter所展示出的功能提升。

具体提问如下:

你是一名宏观量化分析师,请分析这份中国PPI数据,要求如下:

1. 画出PPI的走势图,标出每轮经济周期的最高点和最低点(每轮经济周期为约 4 年,不 要标示过于频繁)。

2. 用ARIMA法(结合ADF检验、ACF、PACF、AIC等判断用什么参数)预测PPI末来48个月的趋势。如果该指标会触底回升的话,预测将在什么时候发生。

注意: 一直运行完两个要求再停止回答。


提问上传的数据是名为“ppi.xlsx”的文件,包含1993年1月至2023年5月的中国 PPI数据。GPT给出的回答格式是“代码及运行结果-文字-代码及运行结果-文字…” 的交替排列。

第一部分:GPT首先利用代码读取PPI文件识别数据结构,接着给出了针对提问中两个要求的两个操作步骤。


明确了两个操作步骤后,GPT接下来立即开始生成第一个操作步骤的代码,即“画出PPI的走势图,标出每轮经济周期的最高点和最低点”,代码如下。


从代码中从代码中可以看到GPT使用了滑动窗口的方法,并且精准识别出提问中“每轮经济周期为约 4 年”的提示,从而设定窗口大小为48个月,做出了标有4个最高点和2个最低点的 PPI 走势图。


简单描简单描述了走势图后,GPT给出了接下来的操作步骤,利用ARIMA预测未来48 个月的PPI趋势,“首先通过ADF检验、ACF、PACF、AIC等来确定ARIMA模型的参数,然后我们将使用这些参数来进行预测”。

第二部分:接下来对于ARIMA模型参数选择的回答,GPT先回复了用于参数选择的代码,其中基于ADF检验p值小于0.05判断序列平稳,决定差分阶数d=0,再绘制ACF、PACF图初步判断MA阶数q、AR阶数p,再通过比较p、q分别取 0,1,2,3,4 时的AIC值,确定使得AIC值最小的组合为ARIMA(2,0,0),从而确定了模型参数,展现出了完整的统计知识和清晰的思维逻辑。


接着,GPT回复了下一步的任务“使用 ARIMA(2,0,0)模型来预 测未来 48 个月的 PPI,如果预测显示 PPI 会触底回升,我们将预测这将在什么时候发生”。


GPT紧接着生成了预测PPI的代码,但在运行结果中出现报错。根据GPT呈现的错误报告,GPT可以识别出问题为“在ARIMA模型的预测结果中forecast方法只返回了两个值,而我试图解包三个值”,从而提出更正错误。


通过GPT回复的修改版代码,将原来代码的报错行变成了“forecast_result = model_fit.get forecast(steps=48)”,然后再利用forecast_result得到预测值 forecast和置信区间con_int,从而报错不再出现,代码调试结束,进入下一步骤。


从下图可以看到,GPT成功输出了未来48个月的PPI趋势图,并预测PPI在 2023年7月触底回升。在此基础上,GPT作为“宏观量化分析师”还给出了提示“请注意,这只是一种预测,实际结果 可能会有所不同,因为它受到许多不可预测因素的影响”,至此GPT回答完毕,结束了Code Interpreter功能下的一次问答。


在以上例子中,GPT可以在一次回答中完成提问中的全部要求,后台运行 python代码呈现输出结果,并自己调试代码直到代码全部跑通为止。然而需要注意的是,这并不意味着GPT回复的代码一定能够完美解决问题,GPT生成的代码可能是语法正确的,但GPT并不能检查输出结果以确保其符合问题的要求或能够达到预期的目标。


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1