stock-prediction-daily

A股个股日线涨跌预测系统。七大能力:训练模型(XGBoost二分类+交叉验证+输出模型文件和报告)、优化模型(扩展特征+特征筛选)、模型预测(腾讯日线)、模型评估(日线T+1验证)、输出网页(Flask五页面仪表盘)、板块分析(直接调用stock-sector-research技能)、个股分析(直接调用stock-watchlist-briefing技能)。Use when: 股票预测, stock prediction, 训练模型, train model, 模型优化, optimize model, 模型预测, predict stock, 模型评估, evaluate model, 预测网页, prediction dashboard, 板块分析, sector research, 个股分析, watchlist briefing, XGBoost, A股, 沪深300, daily prediction, 日线预测

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "stock-prediction-daily" with this command: npx skills add yejiming/stock-prediction-daily

A股个股日线涨跌预测系统

基于沪深300成份股日线数据训练 XGBoost 二分类模型,预测个股下一个交易日的价格涨跌方向。预测与评估均统一使用腾讯财经日线数据,预测和评估两个步骤相互独立。除预测主流程外,本 skill 还提供两个研究入口:板块分析直接复用 stock-sector-research,个股分析直接复用 stock-watchlist-briefing

使用约束

  • 训练、优化、预测、评估、网页能力仅使用当前 skill 目录内的文件和子目录,不要读取、修改或依赖 skill 目录外的实现文件。
  • 板块分析能力不在当前目录内重复实现,直接调用 stock-sector-research skill。
  • 个股分析能力不在当前目录内重复实现,直接调用 stock-watchlist-briefing skill。
  • 默认工作目录为 .github/skills/stock-prediction-daily/scripts/
  • 运行、修改、排查当前 skill 自带功能时,只使用 scripts/references/ 下的内容。

项目结构

.github/skills/stock-prediction-daily/
├── SKILL.md           # 技能说明
├── references/        # 参考说明与排障文档
└── scripts/
   ├── config.py          # 配置中心(路径、股票池、超参数)
   ├── features.py        # 特征工程(100+候选技术指标)
   ├── train.py           # 训练流水线(获取数据→特征→选择→交叉验证→保存)
   ├── predict.py         # 预测流水线(腾讯日线)
   ├── evaluate.py        # 评估流水线(日线T+1验证)
   ├── app.py             # Flask网页仪表盘
   └── main.py            # 一键执行入口

运行过程中生成的 data/models/results/templates/static/ 目录都位于 scripts/ 目录下,由 scripts/config.py 自动创建。 其中 scripts/reports/ 用于保存板块分析和个股分析的文本报告,网页页面会直接读取该目录中的文件进行展示。

技术栈

  • 数据源: akshare Tencent日线 stock_zh_a_hist_tx
  • 模型: XGBoost XGBClassifier 二分类
  • 序列化: joblib(不用 xgboost 原生 save_model
  • Python: 使用 python3
  • Web: Flask + Jinja2,端口 5000

能力一:训练模型

触发条件

用户要求训练模型、构建预测系统、或首次搭建项目时执行。

流程

  1. 获取训练数据

    • 获取沪深300成份股列表:ak.index_stock_cons()ak.index_stock_cons_csindex(symbol="000300")
    • 逐只获取日线数据:ak.stock_zh_a_hist_tx(symbol, start_date, end_date, adjust="qfq")
    • 缓存到 scripts/data/{code}_daily.csv
    • 请求节流由 scripts/config.pyFETCH_DELAY 控制
  2. 特征工程

    • 调用 features.add_technical_features(df) 计算技术指标特征
    • 调用 features.create_label(df) 生成标签:下一期 close > 当前 close 则为 1
  3. 特征选择

    • 使用 XGBoost feature_importances_ 排序
    • config.TOP_N_FEATURES 个最重要特征
  4. 交叉验证

    • 10 折分层交叉验证 StratifiedKFold
    • 指标:Accuracy、Precision、Recall、F1、AUC
  5. 保存模型和报告

    • 模型:scripts/models/xgb_stock_model.pkl
    • 归一化器:scripts/models/scaler.pkl
    • 特征名:scripts/models/feature_names.json
    • 报告:scripts/results/model_report.json

关键代码模式

df = ak.stock_zh_a_hist_tx(symbol="sh600436", start_date="20240101", end_date="20260315", adjust="qfq")

import joblib
joblib.dump(model, config.MODEL_PATH)
model = joblib.load(config.MODEL_PATH)

缓存策略

训练数据缓存在 scripts/data/,重新训练时可直接复用缓存 CSV。

能力二:优化模型效果

触发条件

用户要求提升准确率、增加特征、调参、或模型效果不理想时。

优化维度

  1. 扩展候选特征

    • scripts/features.pyadd_technical_features() 中添加新特征
    • scripts/features.pyget_all_feature_columns() 中注册特征名
  2. 调整特征数量

    • 修改 scripts/config.py 中的 TOP_N_FEATURES
  3. 调整 XGBoost 超参数

    • 修改 scripts/config.py 中的 XGB_PARAMS
  4. 重新训练

    • 可直接复用缓存日线 CSV 重新训练,无需重新抓取数据

能力三:模型预测

触发条件

用户要求预测特定股票在特定日期的涨跌方向。

预测逻辑

  • 只使用腾讯财经日线数据 stock_zh_a_hist_tx
  • 对目标日期取不晚于该日期的最近一个交易日 bar
  • 在该日线 bar 上计算与训练一致的特征
  • 输出下一交易日涨跌方向概率

启动方式

cd .github/skills/stock-prediction-daily/scripts
python3 predict.py "2026-03-13"

输出格式

CSV 含字段:股票代码、股票名称、当前时间、预测生成时间、当前价格、预测结果、上涨概率、下跌概率、数据频率。

说明:

  • 当前时间 只精确到日期,例如 2026-03-13
  • 预测生成时间 精确到秒,用于区分同一交易日的多次预测批次
  • 数据频率 固定为腾讯日线
  • scripts/results/predictions.csv 为去重后的主表,按 股票代码 + 当前时间 只保留最新一批预测结果
  • 每次预测还会额外生成 scripts/results/prediction_history/predictions_YYYYMMDD_HHMMSS.csv 批次快照,用于保留完整历史

能力四:模型评估

触发条件

用户要求评估预测准确率、验证模型效果。

评估逻辑

  • 独立读取 scripts/results/predictions.csv
  • 对每条预测重新获取腾讯财经日线数据
  • 取预测日期之后的下一个交易日收盘价进行评估
  • 计算实际涨跌与预测是否一致

启动方式

cd .github/skills/stock-prediction-daily/scripts
python3 evaluate.py

输出格式

CSV 含字段:股票代码、股票名称、预测时间、预测生成时间、当时价格、预测结果、上涨概率、预测数据频率、一天后价格、评估数据频率、实际涨跌、预测是否准确。

说明:

  • 一天后价格 表示下一个可用交易日的收盘价
  • 若预测后尚无新交易日数据,则该字段为 N/A
  • 若同一支股票同一天存在多次预测,评估时以 predictions.csv 主表中的最新批次为准

能力五:输出网页

触发条件

用户要求启动网页、展示结果、或搭建仪表盘。

Flask应用结构

  • /predictions — 日线预测结果表格
  • /report — 模型训练报告
  • /evaluation — 日线 T+1 评估结果表格
  • /sector-analysis — 板块分析报告浏览页,自动读取 scripts/reports/sector_analysis/ 中的报告
  • /stock-analysis — 个股分析报告浏览页,自动读取 scripts/reports/stock_analysis/ 中的报告
  • / — 重定向到 /predictions

说明:

  • 板块分析和个股分析页面都以报告文件为唯一数据源,不再展示独立的介绍页内容。
  • 页面左侧提供报告选择菜单,菜单项显示“报告主标题 + 创建时间”,可在多份历史报告之间切换。
  • 页面正文会完整渲染报告内容,并自动格式化一级/二级标题、列表、表格。
  • 页面会从 Markdown 报告中的表格自动提取结构化信息,生成摘要卡片与简单图表。
  • 左侧章节导航只展示一级章节,不展示子章节,避免导航过长。

页面模板

  • base.html:布局和导航
  • predictions.html:预测表格与统计卡片
  • report.html:报告 JSON 展示
  • evaluation.html:评估表格与准确率统计
  • sector_analysis.html:板块分析报告页
  • stock_analysis.html:个股分析报告页

启动方式

cd .github/skills/stock-prediction-daily/scripts
python3 app.py

一键执行

cd .github/skills/stock-prediction-daily/scripts
python3 main.py

依次执行:训练 → 预测 → 评估 → 启动网页。

能力六:板块分析

触发条件

用户要求查看近阶段重点板块、板块排行、新闻催化、资金流向、龙头股或下周板块观察清单。

执行方式

  • 不在当前 skill 内重复实现板块研究逻辑。
  • 直接调用 stock-sector-research skill。
  • 调用时沿用用户原始问题中的时间范围、主题范围和输出形式要求。
  • 调用完成后,将最终输出保存到 scripts/reports/sector_analysis/ 目录。
  • 文件格式优先使用 Markdown,命名建议为 sector_analysis_YYYYMMDD_HHMMSS.md

默认输出

  • 重点板块排序
  • 每个重点板块的催化、资金与交易逻辑
  • 每个板块 2 到 3 只核心股
  • 下周观察清单或盘前清单

保存要求

  • 报告正文必须可直接阅读,不要只保存摘要。
  • 报告开头必须包含统一头部,顺序如下:一级标题、单独一行的副标题、单独一行的报告时间。
  • 主标题和副标题都必须直接体现报告结论,不能使用“板块分析报告”“个股分析报告”“近7天重点信息汇总”这类泛泛标题。
  • 主标题必须简短,控制在一句短结论内,优先写成 6 到 16 个字,不要把全部判断塞进主标题。
  • 主标题应概括最重要的结论,例如:# 主线聚焦新能源# 算力分化创新药走强
  • 副标题再补充次级判断或执行结论,例如:> 副标题:风电与锂电强度最高,算力分化加大,创新药更适合中线跟踪
  • 头部格式仍保持三行结构:主标题、以 > 副标题: 开头的副标题、报告时间:YYYY-MM-DD HH:MM:SS
  • 优先使用分节标题、列表和表格,便于网页端自动格式化和提取图表数据。
  • 主章节优先使用 ##,例如“重点板块排序”“核心股对比表”“下周观察清单”“风险提示”。
  • 若主章节下需要展开细分内容,可使用 ### 子章节,但网页左侧导航默认只展示 ## 主章节。
  • 同一次分析如有补充说明,合并写入同一个报告文件,不拆成多个零散文件。

能力七:个股分析

触发条件

用户要求分析一组 A 股个股近 3 天、5 天、7 天或 1 个月的重要信息,或要求输出观察清单、优先执行标的和买点止损位。

执行方式

  • 不在当前 skill 内重复实现多股票研究逻辑。
  • 直接调用 stock-watchlist-briefing skill。
  • 调用时保留用户给定的股票列表、时间范围和输出深度。
  • 调用完成后,将最终输出保存到 scripts/reports/stock_analysis/ 目录。
  • 文件格式优先使用 Markdown,命名建议为 stock_analysis_YYYYMMDD_HHMMSS.md
  • 个股分析默认以 A 股为主;若用户给出的名单中包含港股,可保留该标的,但要在报告中单独标注“港股口径”。
  • 港股行情或估值接口不稳定时,允许退回到稳定的公开港股报价页、公司业绩公告和主流财经媒体摘要;不要把港股强行套用 A 股接口,也不要伪造精确技术位。

默认输出

  • 多股票概览表
  • 下周观察清单
  • 优先执行标的
  • 买点、突破位、止损位、减仓位

保存要求

  • 报告正文必须保留股票分组、结论和执行位信息。
  • 报告开头必须包含统一头部,顺序如下:一级标题、单独一行的副标题、单独一行的报告时间。
  • 主标题和副标题都必须直接体现报告结论,不能使用“个股分析报告”“股票观察清单”“多股汇总”这类泛泛标题。
  • 主标题必须简短,控制在一句短结论内,优先写成 6 到 16 个字,不要把多只股票的全部判断都写进主标题。
  • 主标题应先给出最核心的股票结论,例如:# 宁德时代仍是首选# 立讯精密暂不追高
  • 副标题再补充组合判断、时间范围或执行优先级,例如:> 副标题:片仔癀偏防守配置,未来7天执行优先级低于宁德时代
  • 头部格式仍保持三行结构:主标题、以 > 副标题: 开头的副标题、报告时间:YYYY-MM-DD HH:MM:SS
  • 优先使用分节标题、列表和表格,便于网页端自动格式化和提取图表数据。
  • ## 全名单概览表 若使用 Markdown 表格,表头固定为:股票 | 近 7 日涨跌幅 | 近 7 日成交额合计 | 最近正式财务口径 | 周内重点信息 | 一句话建议
  • 不要把上述固定表头改成“近 7 日涨跌”“近 7 日涨跌/状态”等变体。
  • 若个别标的无法稳定给出近 7 日涨跌幅,仍保留固定表头,并在对应单元格填写 N/A;口径说明写入“研究口径”或“周内重点信息”,不要通过修改列名表达。
  • 主章节优先使用 ##,例如“先看结论”“全名单概览表”“下周观察清单”“优先执行标的”“风险提示”。
  • 若主章节下需要展开分组,可使用 ### 子章节,但网页左侧导航默认只展示 ## 主章节。
  • 同一批股票的研究结果尽量输出为单文件,避免网页端阅读碎片化。
  • 若报告包含港股标的,研究口径章节应明确区分 A 股与港股的数据来源;对于无法稳定获取 MA5、MA10、20 日高低点的港股,只写可核对的价格区间和事件驱动,不要硬补精确数值。

API注意事项

API函数用途注意
Tencent日线stock_zh_a_hist_tx训练、预测、评估稳定,不限频

常见问题

  • python 不可用:macOS 使用 python3
  • 模型加载报错:必须用 joblib.load(),不用 xgb.load_model()
  • 预测字段时间精度当前时间 只保留日期,不含时分秒
  • 次日评估无数据:如果下一交易日尚未收盘,一天后价格 会是 N/A
  • 运行路径:先进入 .github/skills/stock-prediction-daily/scripts 再执行脚本

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

Ontology Engineer

Extract candidate ontology models from enterprise business systems AND build/maintain personal knowledge graphs from any file system. Use when: ontology extr...

Registry SourceRecently Updated
Research

alias

Use this skill to write complete, formatted academic graduation research papers and projects for the College of Computer Science and Mathematics at Tikrit Un...

Registry SourceRecently Updated
Research

competitive analysis

Provides a systematic competitive analysis framework based on Zhang Zaiwang's methodology, guiding goal-driven, structured market and product competitor eval...

Registry SourceRecently Updated
70Profile unavailable
Research

test

Contract clause analysis, risk flagging, renewal tracking, and obligation extraction for business agreements. Use when you need to review vendor contracts, s...

Registry SourceRecently Updated
380Profile unavailable