腾讯云代码助手CodeBuddy实践:快速搭建一个股票智能筛选器
获取股票的接口
那具体怎么获取不同的股票的最新股价呢?这个时候可以直接调用yfinance获取股票价格。yfinance 是一个用于从雅虎财经(Yahoo Finance)获取金融市场数据的 Python 库,特别适用于量化分析、投资策略研究和财经数据可视化等场景。它是 fix-yahoo-finance 项目的非官方继承者,由社区开发并维护。
其核心功能如下:
| 功能 | 描述 |
|---|---|
| 股票历史数据 | 获取开盘价、收盘价、最高价、最低价、成交量等 |
| 财务报表 | 包括资产负债表、利润表、现金流量表 |
| 实时数据 | 当前价格、涨跌幅、市值等 |
| 股票信息 | 公司名称、行业、市盈率、股息率等基本信息 |
| 多股票下载 | 支持批量获取多个股票的数据 |
| 股息与分割 | 可查看历史分红与拆股信息 |
| 数据保存 | 可导出为 Pandas DataFrame,用于后续分析 |
开始创建项目
懂了一些股票的知识之后,我们可以直接和 CodeBuddy 进行对话,输入下面的 prompt,直接让它开始进行编程:
使用 streamlit,帮我构建一个股票智能筛选器。已经提前准备好一份美股的股票代码,然后利用 yfinance 获取股票的数据,筛选条件如下: 筛选市值大于 20 亿美元的股票 筛选过去 250 天涨跌幅为正的股票 当前股价需要大于 10 美元以上
不到 10s 的功夫,它就直接反馈给我具体的代码了:
然后可以直接点击 “apply”按钮,它会根据你当前的代码脚本,显示需要修改哪些代码:

像上面这个显示一样,可以选择“采纳”代码建议,就可以快速构建出代码出来。
当然,AI 生成的代码并不是一开始就能够很好的执行,可能会报出各种各样的错误出来,比如执行的时候报错:
429 Client Error: Too Many Requests for url: https://query2.finance.yahoo.co

也可以把这个报错的原因给到 CodeBuddy,然后让它帮我们解决:

初步成果
不到几分钟的时间,就很快做好一个简单的“美股智能筛选器”了

只需短短几分钟,就可以利用 yfinance 和一些前端框架(如 Streamlit 或 Gradio)快速构建一个 “美股智能筛选器”。如图所示,我们只需在输入框中填入感兴趣的股票代码,系统会自动从雅虎财经拉取数据,并判断该股票是否满足我们设定的条件(如涨幅、价格、估值等),符合的就会实时展示在下方的表格中。
加入一些复杂的功能
加入更加专业和复杂的选股指标,以提升筛选器的实用性和智能程度。以下是一些在实战中经常使用的常用选股指标,你可以直接在 yfinance 中获取部分数据:
1)估值类指标
| 指标名称 | 说明 |
|---|---|
| 市盈率(PE) | Price / Earnings,估值高低参考,过高或过低需警惕 |
| 市净率(PB) | Price / Book,衡量公司资产价值 |
| PEG | 市盈率相较于成长速度的比值,<1 代表低估 |
| EV/EBITDA | 企业价值 / 息税折旧摊销前利润,用于跨行业横向对比 |
2)技术面指标
| 指标名称 | 说明 |
|---|---|
| 250日涨跌幅 | 年度趋势判断 |
| 5日/20日/60日均线 | 判断短中长期趋势 |
| MACD金叉死叉 | 趋势反转信号 |
| RSI指标 | 超买超卖判断(>70超买,<30超卖) |
这里我最常用的是 MACD 指标,这个指标一般来说能够很好的衡量当前股票是否可以持有或者卖出。因此可以直接让 CodeBuddy 帮我们快速实现一个:
加入 macd 指标,实现股票的买入和卖出

加入MACD指标后,可以很好的展示股票的基本技术面:

当然,如果你想更加直观的表示,可以画出股票的MACD指标线,这时候还是继续和CodeBuddy对话:
把股票的MACD指标图画出来

效果展示出来之后,可以看到MACD指标的效果:

网站分享
上面已经做好一个简单的“美股智能筛选器”,那么我们怎么把这个网站进行分享呢?不懂不要紧,也可以继续问CodeBuddy助手。
做好了一个streamlit网站,怎么进行外网分享
CodeBuddy给我们列出了好几种方法:
- Streamlit Sharing(官方推荐)
注册Streamlit账号
将代码上传到GitHub公开仓库
在share.streamlit.io关联GitHub账号并部署
- 云服务器部署
购买云服务器(如阿里云/腾讯云)
安装Python和Streamlit
使用命令运行:streamlit run app.py --server.port=80
- Docker容器化
创建Dockerfile打包应用
上传到Docker Hub
在任何支持Docker的平台上部署
权衡之下,我们直接部署到官方的Streamlit 上就可以,它基本免费,而且也可以分享给其他人进行使用。
步骤一:先把代码上传到GitHub官网上:https://github.com/llq20133100095/GuPiaoCodeBuddy
步骤二:登录Streamlit官网,部署代码。点击https://streamlit.io/,然后选择“create app”
选择github仓库
然后继续选择自己刚刚部署的仓库,接着选择主程序,点击“Deploy”
等待一段时间,网页部署就完成了,是不是超级简单~
当然你可以点击分享,把自己的网页分享出去。
本文转载来源: 算法一只狗 https://zhuanlan.zhihu.com/p/1905564023463839524

浙公网安备 33010602011771号