Skip to content

zironglv/hlnote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI投研助手 📈

自动化获取多个中证指数股息率数据,生成专业分析报告并通过钉钉机器人分别推送。

🚀 功能特性

  • 多指数支持:同时分析多个中证指数数据
  • 自动化数据获取:每日定时从网络获取最新的Excel数据
  • 智能数据分析:计算关键指标(当前值、均值、极值、分位数等)
  • 专业图表生成:生成美观的股息率趋势图
  • 个性化报告:HTML格式的专业投资分析报告
  • 钉钉独立推送:每个指数生成独立报告并通过钉钉分别发送
  • 容错机制:单个指数失败不影响其他指数分析

📊 分析维度

  • 当前股息率水平
  • 15日历史均值对比
  • 历史分位数分析
  • 日内变化趋势
  • 投资参考建议
  • 多指数对比分析

🛠️ 技术架构

GitHub Actions → 多指数数据收集 → 并行数据处理 → 图表生成 → 钉钉推送
     ↓              ↓                ↓            ↓          ↓
  定时调度      Excel解析        指标计算     Matplotlib   Webhook

📁 项目结构

├── main_multi_fixed.py     # 多指数主程序(简化版,推荐使用)
├── main_multi.py           # 多指数主程序(原始版)
├── index_config.py         # 指数配置管理模块
├── multi_index_analyzer.py # 多指数分析核心逻辑
├── data_collector.py       # 数据收集模块
├── data_processor.py       # 数据处理模块
├── report_generator.py     # 报告生成模块
├── dingtalk_sender.py      # 钉钉发送模块
├── config.md               # 配置说明文档
├── DEPLOYMENT_CONFIG.md    # 部署配置文档
├── DEPLOYMENT_CHECKLIST.md # 部署检查清单
├── requirements.txt        # Python依赖包
├── .github/workflows/
│   └── daily_report.yml    # GitHub Actions工作流(已配置钉钉Webhook)
├── reports/                # 生成的报告和图表
├── real_data_reports/      # 历史报告备份
└── test_reports/          # 测试报告

⚙️ 快速开始

1. 克隆项目

git clone <repository-url>
cd 自动化测试

2. 钉钉机器人配置

项目已配置钉钉Webhook,无需额外设置。如需修改,请编辑 .github/workflows/daily_report.yml 文件中的 DINGTALK_WEBHOOK 环境变量。

3. (可选)自定义指数配置

编辑 index_config.py 文件,添加或修改要分析的指数配置。

4. 推送代码

git add .
git commit -m "部署AI投研助手多指数版本"
git push origin main

🔧 配置详情

钉钉机器人配置

项目已预配置钉钉Webhook,开箱即用。如需修改:

  1. 编辑 .github/workflows/daily_report.yml 文件
  2. 修改 DINGTALK_WEBHOOK 环境变量值
  3. 钉钉机器人关键词设置:AI投研助手股息率报告分析投资

GitHub Actions 配置

  • 工作流文件:.github/workflows/daily_report.yml
  • 执行时间:每天 UTC 23:00(北京时间次日早上 7:00)
  • 支持手动触发:Actions 页面点击 "Run workflow"

详细配置说明请查看 config.mdDEPLOYMENT_CONFIG.md

📅 执行时间

默认每天UTC 23:00执行(北京时间次日早上7点) 可通过修改 .github/workflows/daily_report.yml 中的cron表达式调整执行时间。

支持的手动触发:在GitHub Actions页面点击"Run workflow"按钮。

📈 示例报告

每个指数将收到独立的报告,包含:

  • 核心指标卡片
  • 股息率趋势图
  • 趋势分析
  • 投资参考建议
  • 总体分析总结报告

🔒 安全性

钉钉Webhook安全配置

  • GitHub Secrets保护:钉钉Webhook URL已迁移到GitHub Secrets,避免代码中明文暴露
  • 环境变量安全:工作流中使用${{ secrets.DINGTALK_WEBHOOK }}引用,确保敏感信息加密
  • 访问控制:建议在钉钉机器人设置中配置IP白名单,限制只有GitHub Actions的IP可以调用
  • 关键词验证:所有消息必须包含预设关键词:AI投研助手股息率报告分析投资

配置步骤

  1. GitHub Secrets配置

    • 在仓库Settings → Secrets and variables → Actions中添加DINGTALK_WEBHOOK
    • 值为钉钉机器人完整的Webhook URL
  2. 钉钉机器人安全加固(推荐):

    • 登录钉钉机器人管理后台
    • 设置IP白名单:添加GitHub Actions的IP范围
    • 启用关键词验证

🌐 GitHub Pages部署

自动部署

  • 自动触发:每日报告生成后自动部署到GitHub Pages
  • 公开访问:报告可通过Web链接直接访问
  • 版本管理:每次部署保留历史版本

访问方式

报告生成后可通过以下链接访问:

https://zironglv.github.io/hlnote/

部署工作流

  • 工作流文件:.github/workflows/deploy-pages.yml
  • 触发条件:每日报告工作流成功完成后自动触发
  • 部署内容:reports/目录中的所有HTML报告和图表

🧹 项目清理状态

已完成清理

  • 删除所有调试文件 (debug_*.py, debug_*.log, debug_*.png)
  • 删除所有测试文件 (test_*.py, test_*.png, test_report.html)
  • 清理临时目录 (__pycache__, debug_download, .qoder, .venv, venv)
  • 保持核心功能文件完整

🤖 后续计划

  • 多指数支持
  • 钉钉机器人推送
  • 集成AI观点分析
  • 网络舆情爬取
  • 智能加仓/减仓建议
  • 更多技术指标
  • 移动端推送通知

📞 支持

如有问题请提交Issue或联系维护者。


AI投研助手 - 让投资更有依据

About

红利日报

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published