基于 Kronos 金融大模型的 AI 量化预测报告生成工具(Python 版)
Kronos-Report 是一个基于 Kronos 金融时序大模型的 Python 量化预测工具,支持股票、基金、期货、指数等品种的 K 线数据预测,自动生成多格式分析报告和每日简报。同时提供 HTTP 模型服务,支持远程调用和多模型管理。
AI量化简报每日自动生成,包含大盘预测、个股分析、量化提示等内容。
| 简报截图 | 在线预览 |
|---|---|
![]() |
查看HTML版本 |
AI预测报告支持股票、基金、期货、指数等品种,包含K线图、趋势图、预测明细等。
| 报告截图 | 在线预览 |
|---|---|
![]() |
查看HTML版本 |
说明:点击 HTML 链接可在浏览器中查看完整的交互式报告,截图仅供参考,实际报告内容动态生成。
- ✅ 自动识别品种类型(股票/基金/期货/指数)
- ✅ 自动判断交易所(上交所/深交所/北交所/期货交易所/指数中心)
- ✅ 自动过滤期货指数合约(品种代码+00,如 RB00、M00)
- ✅ 支持多种模型组合(2k/base 分词器 + mini/small/base 模型)
- ✅ 支持前复权/不复权数据
- ✅ 多格式报告输出(TXT、HTML、PNG、CSV、图表、JSON)
- ✅ 单次回测验证(多步预测,方向准确率、MAPE、综合评分)
- ✅ 普通投资者友好版报告
- ✅ 每日简报自动生成(支持自选股 + 随机个股展示)
- ✅ 全局模型复用(单例模式,避免重复加载)
- ✅ 多数据源支持(本地文件 / TickFlow 免费服务)
- ✅ 定时任务(每日自动生成简报)
- ✅ 多模型管理(最多支持 3 个模型同时加载)
- ✅ 参数化预测(支持 lookback、pred_len、t、top_p、sample_count)
- ✅ 数据校验与修正(自动修复违反约束的预测结果)
- ✅ 模型热切换(无需重启服务即可切换模型)
- ✅ 健康检查(服务状态监控)
- ✅ 设备自动选择(默认 auto,无需手动指定)
- ✅ 完整的耗时统计
- ✅ 期货代码大小写自动修正
- ✅ 支持自定义预测参数
- ✅ 交易日历支持
- Python 3.10+
- PyTorch 2.0+
- 其他依赖见
requirements.txt
# 克隆项目
git clone https://gitee.com/liebin/kronos-report.git
cd kronos-report
# 安装依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple# 股票
python predictor.py --code 000001
# 期货(自动排除指数合约)
python predictor.py --code RB2505
# 股指
python predictor.py --code zs_000001
# 自定义参数
python predictor.py --code 000001 --lookback 256 --pred-len 10 --model small
# 不复权
python predictor.py --code 000001 --no-adjusted# 生成JSON报告(不生成图表和回测)
python predictor.py --code 000001 --json
# 只打印JSON到控制台,不保存文件
python predictor.py --code 000001 --json --no-save
# 带自定义参数
python predictor.py --code 000001 --json --lookback 256 --pred-len 10 --verbose
# 不复权JSON报告
python predictor.py --code 000001 --json --no-adjusted# 生成简报(精简模式)
python predictor.py --briefing
# 生成简报(详细模式)
python predictor.py --briefing -v# 启动定时任务(每日19:30生成简报)
python predictor.py --scheduler
# 自定义时间
python predictor.py --scheduler --scheduler-hour 20 --scheduler-minute 0
# 停止定时任务
python predictor.py --scheduler-stop# 方式一:使用启动脚本
./start_server.sh
# 方式二:直接运行
python server.py --host 0.0.0.0 --port 16888 --preload
# 方式三:开发模式(热重载)
python server.py --host 0.0.0.0 --port 16888 --reload| 方法 | 端点 | 说明 |
|---|---|---|
| GET | /health |
健康检查 |
| POST | /models/load |
加载模型 |
| POST | /models/switch |
切换模型 |
| GET | /models/list |
列出已加载模型 |
| POST | /models/unload |
卸载模型 |
| POST | /predict |
执行预测 |
| GET | /params/default |
获取默认参数 |
详细接口参数说明请参考 HTTP_API.md
# 健康检查
curl http://localhost:16888/health
# 加载模型
curl -X POST http://localhost:16888/models/load \
-H "Content-Type: application/json" \
-d '{"tokenizer":"2k","model":"mini"}'
# 预测
curl -X POST http://localhost:16888/predict \
-H "Content-Type: application/json" \
-d '{"code":"000001"}'
# 指定模型预测
curl -X POST http://localhost:16888/predict \
-H "Content-Type: application/json" \
-d '{"code":"000001","tokenizer":"2k","model":"small"}'
# 不复权预测
curl -X POST http://localhost:16888/predict \
-H "Content-Type: application/json" \
-d '{"code":"000001","adjusted":false}'kronos-report-python/
├── README.md # 中文说明文档
├── README.en.md # 英文说明文档
├── HTTP_API.md # HTTP 服务接口文档
├── LICENSE # AGPL-3.0 开源协议
├── requirements.txt # 依赖列表
├── start_server.sh # HTTP服务启动脚本
├── stop_server.sh # HTTP服务停止脚本
├── restart_server.sh # HTTP服务重启脚本
├── status_server.sh # HTTP服务状态检查
├── img/ # 图片资源目录
│ ├── AI量化简报_demo.png # 简报截图
│ ├── AI预测报告_北证50_demo.png # 报告截图
│ └── author_qrcode.jpg # 作者微信二维码
├── html/ # HTML Demo 目录
│ ├── AI量化简报_demo.html # 简报HTML Demo
│ └── AI预测报告_北证50_demo.html # 报告HTML Demo
└── src/ # 源代码目录
├── config/ # 统一配置模块
├── server.py # HTTP 服务入口
├── predictor.py # 主程序入口
├── model_manager.py # 全局模型管理器
├── predictor_core/ # 预测核心模块
├── trade_calendar.py # 交易日历
├── data/ # 统一数据服务模块
├── report/ # 报告生成模块
├── briefing/ # 每日简报生成模块
├── templates/ # HTML模板
└── model/ # Kronos 模型目录
| 参数值 | 上下文长度 | 特点 | 适用场景 |
|---|---|---|---|
2k |
2048 | 精度高 | 高频交易、加密货币 |
base |
512 | 速度快 | 股票/期货、快速验证 |
| 参数值 | 参数量 | 速度 | 适用场景 |
|---|---|---|---|
mini |
4.1M | 最快 | 资源受限场景 |
small |
24.7M | 较快 | 专业量化(推荐) |
base |
102.3M | 较慢 | 机构级精度 |
| 参数 | 默认值 | 说明 |
|---|---|---|
--code, -c |
必填 | 代码(预测模式必填) |
--start-date, -s |
无 | 开始日期 YYYYMMDD |
--end-date, -e |
无 | 结束日期 YYYYMMDD |
--pred-len, -p |
5 | 预测步数 |
--lookback, -l |
512 | 回溯窗口长度 |
--t |
0.6 | 温度参数 |
--top-p |
0.8 | 核采样参数 |
--sample-count |
5 | 采样次数 |
--tokenizer |
2k | 分词器类型 |
--model, -m |
mini | 模型类型 |
--device, -d |
auto | 运行设备 |
--no-save |
False | 不保存文件 |
--adjusted |
True | 前复权(默认启用) |
--no-adjusted |
False | 不复权 |
--json |
False | 生成JSON数据报告 |
--verbose, -v |
False | 输出详细日志 |
| 参数 | 默认值 | 说明 |
|---|---|---|
--briefing |
False | 生成每日简报 |
--verbose, -v |
False | 输出详细日志 |
| 参数 | 默认值 | 说明 |
|---|---|---|
--scheduler |
False | 启动定时任务 |
--scheduler-stop |
False | 停止定时任务 |
--scheduler-hour |
19 | 定时任务小时 |
--scheduler-minute |
30 | 定时任务分钟 |
/home/liebin/dev/data/report/
├── AI预测/ # 预测报告
│ └── {日期}/{名称}/{tokenizer}_{model}_{lookback}/
│ ├── AI预测报告_{名称}_{日期}.html
│ ├── AI预测报告_{名称}_{日期}.txt
│ ├── AI预测报告_{名称}_{日期}.png
│ ├── AI预测报告_{名称}_{日期}.json
│ ├── {名称}_chart_{日期}.png
│ ├── {名称}_trend_{日期}.png
│ └── {名称}_backtest_{日期}.png
└── AI简报/ # 每日简报
└── {日期}/
├── AI量化简报_{日期}.html
├── AI量化简报_{日期}.txt
└── AI量化简报_{日期}.png
{
"code": "000001",
"name": "平安银行",
"timestamp": "2026-06-11T15:30:00",
"last_trade_date": "2026-06-10",
"model": "2k_mini",
"lookback": 512,
"pred_len": 5,
"adjusted": true,
"summary": {
"current_price": 11.20,
"predicted_price": 11.35,
"change_pct": 1.34,
"trend": "看涨 📈",
"low": 11.10,
"high": 11.50
},
"recent": [
{
"d": "2026-06-04",
"o": 11.05,
"h": 11.15,
"l": 11.00,
"c": 11.10,
"v": 1000000,
"a": 11100000
}
],
"predicted": [
{
"d": "2026-06-11",
"o": 11.22,
"h": 11.38,
"l": 11.15,
"c": 11.30,
"v": 1020000,
"a": 11500000
}
]
}| 字段 | 类型 | 说明 |
|---|---|---|
code |
string | 代码 |
name |
string | 名称 |
timestamp |
string | 报告生成时间 |
last_trade_date |
string | 最后交易日 |
model |
string | 使用的模型标识 |
lookback |
int | 回溯窗口长度 |
pred_len |
int | 预测步数 |
adjusted |
boolean | 是否前复权 |
summary |
object | 预测摘要 |
recent |
array | 最近30个交易日K线 |
predicted |
array | 未来N个交易日预测K线 |
| 缩写 | 全称 | 说明 |
|---|---|---|
d |
date | 日期 |
o |
open | 开盘价 |
h |
high | 最高价 |
l |
low | 最低价 |
c |
close | 收盘价 |
v |
volume | 成交量 |
a |
amount | 成交额 |
项目配置统一在 src/config/ 目录下管理:
| 文件 | 说明 |
|---|---|
settings.py |
用户可修改配置(路径、参数、数据源、简报等) |
common.py |
字典映射配置(模型映射、交易所规则等,很少改动) |
以下是 src/config/settings.py 中常用的可修改配置:
# 数据源类型: local(本地txt), tickflow(TickFlow免费服务)
DATA_SOURCE = "tickflow" # 可选: local, tickflow| 值 | 说明 |
|---|---|
local |
使用本地 CSV 文件获取数据 |
tickflow |
使用 TickFlow 免费服务获取数据(推荐) |
# K线数据根目录
DATA_ROOT = "/home/liebin/dev/data/code/d/"
# 最新交易日数据根目录
LAST_DATA_ROOT = "/home/liebin/dev/data/last"
# 报告输出根目录
REPORT_ROOT = "/home/liebin/dev/data/report/AI预测"
BRIEFING_ROOT = "/home/liebin/dev/data/report/AI简报"DEFAULT_LOOKBACK = 512 # 回溯窗口长度
DEFAULT_PRED_LEN = 5 # 预测步数
DEFAULT_T = 0.6 # 温度参数(控制随机性)
DEFAULT_TOP_P = 0.8 # 核采样参数
DEFAULT_SAMPLE_COUNT = 5 # 采样次数DEFAULT_TOKENIZER = "2k" # 分词器类型: 2k / base
DEFAULT_MODEL = "mini" # 模型类型: mini / small / base
DEFAULT_DEVICE = "auto" # 设备: auto / cuda / cpu / mpsHTTP_HOST = "0.0.0.0" # 服务地址
HTTP_PORT = 16888 # 服务端口
MAX_MODELS = 3 # 最多同时加载的模型数量# 股指代码(简报中展示的指数)
INDEX_CODES = [
"zs_000001", # 上证指数
"zs_399001", # 深证成指
"zs_399006", # 创业板指
"zs_899050", # 北证50
]
# 自选个股代码(优先展示)
STOCK_CODES = [] # 例如: ["000001", "600519", "510050"]
# 随机获取配置
RANDOM_STOCK_COUNT = 10 # 随机股票数量
RANDOM_FUND_COUNT = 2 # 随机基金数量
# 相对大盘参照指数
BENCHMARK_INDEX = "zs_000001" # 用于判断个股强弱
# 简报预测参数
BRIEFING_LOOKBACK = 512
BRIEFING_PRED_LEN = 5
BRIEFING_TOKENIZER = "2k"
BRIEFING_MODEL = "mini"DEFAULT_CRON_HOUR = 19 # 定时任务小时
DEFAULT_CRON_MINUTE = 30 # 定时任务分钟DEFAULT_BACKTEST_PRED_LEN = 30 # 回测预测步数| 优先级 | 来源 | 说明 |
|---|---|---|
| 1 | 命令行参数 | --pred-len 10 |
| 2 | 配置文件 | settings.py 中的默认值 |
| 3 | 代码内置 | 硬编码的备用值 |
# HTTP 服务测试
python server_test.py --action health
python server_test.py --action load --tokenizer 2k --model mini
python server_test.py --action list
python server_test.py --action predict --code 000001本项目采用 AGPL-3.0 协议。
如果您在使用过程中遇到问题,或者需要以下技术服务,欢迎联系作者:
- 🤖 AI 客服系统开发:智能问答、自动回复、多渠道接入
- 🧠 大模型应用开发:模型微调、Prompt 工程、RAG 系统
- 💻 软件开发:Java&Python 后端、量化系统、数据处理
- 📈 量化策略开发:因子挖掘、回测系统、实盘对接
- 🔧 定制化开发:根据需求定制 AI 量化解决方案
微信扫码添加作者,备注来意即可
添加时请备注“Kronos咨询”或具体需求,以便更快响应
本工具生成的预测结果由 AI 模型生成,只作为个人研究学习用途,不构成投资建议。市场有风险,投资需谨慎。


