大家好,我是一位热衷于探索AI潜力的技术爱好者。
在之前的文章中,我曾提到,掌握一些编程知识,可以让AI为我们做更多事情。今天,我将手把手带大家了解,即使没有编程基础,也能利用AI抓取股票或基金的价格数据,并整理成表格。
(如果你已经熟悉Python,可以直接跳到第五步查看我的建议)
上周五,我使用了下面这张表格:

起初,我看到的是下面这张图表:

但数据似乎只更新到5月16日(周四)上午。因此,我想更新到最新数据。在没有AI协助的情况下,通常需要以下步骤:
- 整理20个股票代码和名称;
- 使用Wind/Choice终端或雪球/新浪等财经网站,逐个查看股票涨跌幅;
- 若没有现成的“20日涨跌幅”指标,还需计算当天收盘价与倒数第21个交易日的收盘价之差,以得到20个交易日的累计涨跌幅。

这非常繁琐……但借助AI和简单的代码,这一切只需5分钟就能搞定(包括第1~3步的准备工作也只需15分钟)。
另外,提前说明一下:国内的大模型(如Kimi、智谱GLM-4、文心一言4.0、星火大模型、通义千问-Max)对提示词的要求较高(后文会分享适用于国内大模型的完备提示词)。因此,个人建议优先使用GPT-4(付费)或GPT-4o(免费)级别的AI。
首先,我们需要下载Visual Studio Code或PyCharm来运行和修改AI生成的代码。接着,下载Anaconda以构建环境。环境可以理解为:就像我们想做个面包,会去市场买现成的面粉和鸡蛋,而不是自己种小麦和养鸡。现在写程序时,可以使用其他大牛写好的程序库(一般称为“程序库”)。但不同的程序库之间可能有冲突。为了避免这种冲突,需要使用Anaconda来建立独立的环境。
软件安装好后,打开Anaconda Navigator,选择Environment并点击“Create”创建一个新环境。这里命名为“data”,并选择Python作为Packages。稍等几秒后,新环境就创建好了。每次使用前,记得先选择data环境。
在Anaconda Navigator里选择“Environment”,然后选择data环境。接着,点击旁边的小圆箭头并选择“Open Terminal”。这时会出现一个命令行窗口。国内大模型用户输入“pip install efinance pandas”,ChatGPT用户输入“pip install yfinance pandas”,然后等待提示“Successfully installed”即可关闭命令行窗口。这里的efinance、yfinance、pandas就是前面提到的程序库。
选择data环境后,切换到Home,找到VS Code或PyCharm并点击Launch(这里以VS Code为例)。接下来新建一个Python文件并保存。然后在这个文件上直接写代码并运行。我直接用案例说明吧:用前面的案例来抓取图表上的数据。因为图表是中文的,ChatGPT识别效果可能不佳。所以先用Kimi或智谱清言把表格内容转为文本,再丢给大模型处理。由于大部分读者是国内用户,我将分别介绍ChatGPT和国内大模型的使用情况。对于国内大模型用户,建议也看看情景1以了解整体逻辑。如果使用yfinance库时指定了五位数股票代码(港股为四位数),需要删除最前面的0才能运行(如果不是提前了解yfinance很难发现这个bug)。运行后它会按我的要求保存成一个csv文件(用excel就能打开)。yfinance是爬取雅虎财经的数据但由于内地用户从2021年11月起无法使用代理访问因此可以尝试让GPT-4o阅读efinance的API文档然后改用efinance库这样内地用户也能使用这段代码爬取数据。如果尝试使用efinance库会遇到两个bug:第一日期格式应为’20240101’而不是’2024-01-01’;第二获取历史数据时参数应为’stock_codes=ticker’而不是’stock_code’。修改后程序可以顺利运行但efinance使用起来确实不太顺手……对于国内大模型可以尝试改进提示词:由于efinance的API文档太长(7万多字)大语言模型可能会记了这也忘了那导致输出的代码有bug。这时可以尝试只提供与“获取历史股价”相关的API文档内容这样大语言模型只需阅读这一段资讯精力不会被分散。经过改进后ChatGLM的代码可以一次性出正确结果而文心一言和Kimi只需改一两个地方就能正常使用。不过AI生成的代码可能会有小bug对于零代码基础的用户来说可以将报错信息返还给AI让它找出错误并修正常见错误包括代码执行后报错以及逻辑错误等。如果数据对不上需要再检查代码逻辑是否有误比如文心一言的代码在计算20个交易日累计涨跌幅时用的是20个交易日前的收盘价而不是倒数第21个交易日的收盘价;而Kimi只爬取了20个自然日的数据无法覆盖21个交易日的数据量。如果完全没有代码基础可以用以下格式的提示词让AI帮你一行行解释代码以便快速找出问题所在比如这样让Kimi帮我debug:它很快发现了问题并给出了修正建议。今天就分享到这里了看完这些你可能觉得学点代码还是有点用的不过不用硬买网上的python小课网上免费教程一大把比如下面这些python课程:W3schoolhttps://www.w3school.com.cn/python/index.asp菜鸟编程https://www.runoob.com/python3/python3-tutorial.html如果对爬虫程序感兴趣之后我也可以分享如何用AI帮你写爬虫程序。