一键生成股票与期货分析视频
FinVizAI 是一个强大的工具,专注于股票和期货数据的获取、分析、可视化以及视频生成。通过本项目,您可以轻松完成从数据采集到高质量分析视频输出的全流程。
- 📈 数据获取:从权威数据源(如东方财富网)获取股票或期货的历史数据和最新资讯。
- 📊 数据分析:计算技术指标(如均线、布林带、MACD等),结合大模型进行多维度深度解析,提供全面的市场洞察。
- 🖼️ 图表绘制:使用 PyEcharts 和 Pyppeteer 绘制精美的 K 线图并生成静态图片。
- 🗣️ 语音生成:通过 TTS 技术(支持 Dashscope 和 Hailuo 引擎)将分析结果转化为语音解说。
- 🎥 视频合成:使用 MoviePy 将图表图片和语音解说合成为带有字幕的高质量视频。
无论您是投资者、分析师还是内容创作者,FinVizAI 都能为您提供一站式的解决方案!
以下是一些示例视频,分别展示了不同模式下的分析效果:
全局背景模式 | 滑动窗口模式 | 期货分析示例 |
---|---|---|
bg.mp4比亚迪(002594) |
windows.mp4比亚迪(002594) |
futures.mp4塑料主连 |
- 路径:
core/fetcher/base.py, futures.py, stock.py
- 功能: 从东方财富网获取股票或期货历史数据,并计算技术指标(如均线、布林带、MACD等)。
- futures: 期货数据获取与处理
- stock: 股票数据获取与处理
- 路径:
core/kline/base.py, bg.py, windows.py
- 功能: 使用 PyEcharts 库绘制 K 线图,并通过 Pyppeteer 生成静态图片。
- bg(全局背景模式):以布林带为背景,完整展示所有历史数据,并通过动态添加每日 K 线的方式逐步呈现时间序列变化。
- windows(滑动窗口模式):先展示全部数据,随后通过缩短时间范围,使用固定大小的窗口从左至右逐步移动,聚焦局部细节,最后拉长时间范围回归整体视图。
- 路径:
core/llm/base.py, futures.py, stock.py
- 功能: 利用腾讯元宝大模型对股票或期货数据进行分析,生成通俗易懂的市场解盘文案。
- 路径:
utils/report.py
- 功能: 基于分析结果生成报告图片,用于视频合成。
- 路径:
utils/video.py
- 功能: 使用 MoviePy 库将图片、语音和字幕合成为高质量视频。
git clone https://github.com/chenwr727/FinVizAI.git
cd FinVizAI
确保已安装以下依赖项:
pip install -r requirements.txt
编辑 config.toml
文件,配置相关参数(如 API 密钥、模型名称、输出目录等):
cp config-example.toml config.toml
python main.py
.
├── assets # 存放资源文件
│ ├── audios # 音频
│ │ └── bgm.mp3 # 背景音乐
│ ├── fonts # 字体
│ │ └── msyhbd.ttc # 字幕字体
│ └── v5 # Echarts
│ └── echarts.min.js # Echarts 静态资源文件
├── core # 核心逻辑模块
│ ├── fetcher # 数据获取模块
│ │ ├── __init__.py # 初始化文件
│ │ ├── base.py # 基础 Fetcher 类
│ │ ├── futures.py # 期货数据 Fetcher
│ │ └── stock.py # 股票数据 Fetcher
│ ├── kline # K线图相关
│ │ ├── __init__.py # 初始化文件
│ │ ├── base.py # 基础 Kline 类
│ │ ├── bg.py # 全局背景
│ │ └── windows.py # 滑动窗口
│ ├── llm # LLM 分析模块
│ │ ├── __init__.py # 初始化文件
│ │ ├── base.py # 基础 LLMClient 类
│ │ ├── futures.py # 期货 LLM 分析
│ │ └── stock.py # 股票 LLM 分析
│ ├── tts # TTS 相关
│ │ ├── __init__.py # 初始化文件
│ │ ├── base.py # 基础 TTS 类
│ │ ├── dashscope.py # Dashscope TTS 实现
│ │ └── hailuo.py # Hailuo TTS 实现
│ ├── __init__.py # 初始化文件
│ ├── futures.py # 视频生成
│ └── schemas.py # 数据模型定义
├── utils # 工具类模块
│ ├── chart # 图表相关工具
│ │ ├── __init__.py # 初始化文件
│ │ ├── axis.py # 坐标轴设定
│ │ └── snapshot.py # 截图工具
│ ├── __init__.py # 初始化文件
│ ├── config.py # 配置管理
│ ├── log.py # 日志管理
│ ├── report.py # 报告生成
│ ├── subtitle.py # 字幕生成
│ └── video.py # 视频生成
└── main.py # 主程序入口
- 确保所有第三方 API 密钥正确无误,特别是用于获取期货数据和提供 TTS 服务的 API。
- 运行环境需安装必要的库和工具,如
ffmpeg
等。 - 生成的视频文件会保存在
output
目录下。
欢迎提交 Issues 和 Pull Requests!我们期待您的参与和反馈。
MIT