4 Commits

Author SHA1 Message Date
8d77c4a852 feat: 历史数据获取脚本 + 离线模式支持
- 新增 fetch_history.py 获取板块历史K线数据
- 支持从数据库读取数据(离线模式)
- 历史数据分析功能已可用
2026-04-10 18:05:59 +08:00
1fb58d23da feat: 新增历史数据存储和长时间跨度分析功能
- SQLite数据库存储每日板块数据
- 连续上涨/下跌板块分析
- 板块轮动分析
- 近5日资金流向趋势
- 查看历史数据命令 (history)
2026-04-10 17:52:14 +08:00
bd1ec2ea01 feat: 增加专业分析内容 - 市场情绪/资金流向/板块强弱/投资建议 2026-04-10 17:42:59 +08:00
bb19b67460 feat: 改为盘后报告模式 - 正文分析总结+附件详细数据 2026-04-10 17:19:51 +08:00
5 changed files with 1459 additions and 280 deletions

116
README.md
View File

@@ -1,18 +1,57 @@
# A股板块监控系统
# A股板块盘后分析系统
自动获取东方财富板块数据,监控异动并发送邮件通知
自动获取东方财富板块数据,生成盘后分析报告并发送邮件。支持历史数据存储和长时间跨度分析
## 功能特点
- 获取行业板块涨跌幅排
- 获取概念板块涨跌幅排行
- 监控主力资金流入/流出
- 检测板块异动涨跌幅≥3%、资金流入≥10亿
- 自动发送HTML格式邮件通知
- 每个交易日17:00自动执
- 获取行业板块和概念板块完整数据
- **历史数据存储**SQLite数据库
- **长时间跨度分析**(连续涨跌、板块轮动、资金趋势
- 生成分析总结邮件正文
- 详细数据CSV文件作为附件
- 发送到指定邮箱
## 数据来源
## 邮件内容
东方财富HTTP API (http://push2.eastmoney.com)
### 正文(分析总结)
**一、市场情绪分析**
- 市场评级(强势上涨/偏强/平稳/偏弱/弱势下跌)
- 涨跌板块统计、平均涨跌幅、资金净流
**二、资金流向分析**
- TOP5板块资金合计、资金集中度
**三、板块强弱分析**
- 强势板块数量、弱势板块数量及示例
**四、概念板块热度**
- 热门概念TOP5、冷门概念TOP5
**五、行业板块排行**
- 涨幅TOP5、跌幅TOP5
**六、主力资金排行**
- 大幅流入TOP10、大幅流出TOP10
**七、投资建议**
- 根据市场情绪给出策略建议
**八、历史趋势分析** ⭐新增
- 近期市场趋势(连续上涨/下跌/震荡)
- 近5日资金流向详情
- 连续上涨板块近3日累计涨幅
- 连续下跌板块近3日累计跌幅
- 板块轮动分析新进入涨幅TOP10
### 附件(详细数据)
CSV文件包含
- 行业板块涨跌幅排行(完整)
- 行业板块资金流向排行(完整)
- 概念板块涨跌幅排行(完整)
- 概念板块资金流向排行(完整)
## 使用方法
@@ -25,52 +64,47 @@ python3 board_monitor.py test
### 获取板块数据
```bash
# 获取行业板块涨跌幅TOP20
python3 board_monitor.py get industry --sort pct --limit 20
# 获取概念板块资金流入TOP20
python3 board_monitor.py get concept --sort flow --limit 20
python3 board_monitor.py get industry --limit 20
python3 board_monitor.py get concept --limit 20
```
### 执行监控检查
### 手动发送报告
```bash
# 监控并发送通知(发现异动时)
python3 board_monitor.py monitor -v
python3 board_monitor.py report -v
# 监控但不发送通知
python3 board_monitor.py monitor --no-notify
# 发送到其他邮箱
python3 board_monitor.py report --to other@example.com
```
### 查看历史数据
```bash
# 查看近5日市场统计
python3 board_monitor.py history --days 5
# 查看指定板块历史
python3 board_monitor.py history --board "电力设备" --days 10
```
## 定时任务配置
```bash
# 添加到crontab
crontab -e
每个交易日周一至周五17:00自动执行
# 盘中每小时检查9:30-15:00
30-59 9 * * 1-5 /usr/bin/python3 /home/xian/.openclaw/workspace-coder/works/board-monitor/board_monitor.py monitor
0-15 10-14 * * 1-5 /usr/bin/python3 /home/xian/.openclaw/workspace-coder/works/board-monitor/board_monitor.py monitor
0-0 15 * * 1-5 /usr/bin/python3 /home/xian/.openclaw/workspace-coder/works/board-monitor/board_monitor.py monitor
```
0 17 * * 1-5 python3 board_monitor.py report
```
## 异动检测阈值
## 数据存储
| 类型 | 阈值 |
|------|------|
| 涨幅异动 | ≥ 3% |
| 跌幅异动 | ≤ -3% |
| 资金流入 | ≥ 10亿 |
| 资金流出 | ≤ -10亿 |
可在 `board_monitor.py` 中修改 `check_anomaly()` 函数的参数调整阈值。
## 通知邮箱
默认发送到: zuitoushang@tphai.com
可在 `send_notification()` 函数中修改。
历史数据保存在 `data/board_history.db` SQLite数据库中包含
- 每日板块涨跌幅
- 主力资金流向
- 领涨股信息
## 版本历史
- v1.3.0 (2026-04-10) - 新增历史数据存储和长时间跨度分析
- v1.2.0 (2026-04-10) - 增加专业分析内容
- v1.1.0 (2026-04-10) - 改为盘后报告模式
- v1.0.0 (2026-04-10) - 初始版本

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,414 @@
# A股板块详细数据
# 生成时间: 2026-04-10 18:05:49
=== 行业板块涨跌幅排行 ===
板块名称,涨跌幅(%),主力资金(亿),领涨股
蓄电池及其他电池,5.68,80.50,
锂电池,4.12,653.27,
逆变器,4.06,236.64,
电池,3.96,1354.11,
电池化学品,3.75,546.21,
品牌消费电子,3.71,37.30,
锂电专用设备,3.34,73.28,
玻璃玻纤,3.25,145.38,
能源金属,2.92,329.08,
其他数字媒体,2.83,3.24,
印染,2.63,7.14,
证券Ⅱ,2.57,578.89,
非银金融,2.26,792.38,
半导体设备,2.20,192.78,
其他电子Ⅱ,2.17,240.33,
其他电子Ⅲ,2.17,240.33,
火电设备,2.05,7.89,
数字芯片设计,1.99,1040.08,
多元金融,1.89,132.31,
其他电源设备Ⅱ,1.89,198.90,
其他电源设备Ⅲ,1.87,134.45,
大众出版,1.85,35.78,
电力设备,1.83,2979.54,
纺织制造,1.83,48.89,
综合电力设备商,1.82,56.56,
视频媒体,1.72,3.15,
光伏辅材,1.71,49.61,
燃料电池,1.70,0.85,
物流,1.69,51.79,
教育,1.66,18.04,
光伏主材,1.65,28.85,
旅游零售Ⅱ,1.64,15.99,
游戏Ⅱ,1.62,135.19,
游戏Ⅲ,1.62,135.19,
白色家电,1.50,41.61,
橡胶,1.49,30.80,
非金属材料Ⅱ,1.47,30.88,
生物制品,1.47,137.60,
光伏设备,1.45,627.59,
乘用车,1.45,102.48,
计算机设备,1.44,355.06,
造纸,1.43,37.95,
家居用品,1.41,68.17,
装修装饰Ⅱ,1.41,22.03,
汽车零部件,1.38,608.49,
一般零售,1.38,63.40,
半导体,1.38,1982.82,
分立器件,1.37,174.59,
商用车,1.36,55.03,
汽车,1.35,798.23,
玻纤制造,0.05,8.50,8
金融信息服务,0.05,1.26,3
期货,0.04,0.98,4
,0.03,3.97,1
,0.03,9.49,7
其他纺织,0.03,1.32,11
证券Ⅲ,0.03,51.05,49
油气及炼化工程,0.03,-0.31,5
,0.02,0.50,2
塑料包装,0.02,0.63,8
其他橡胶制品,0.02,0.10,14
多业态零售,0.02,1.03,14
商用载货车,0.02,2.06,8
其他家居用品,0.02,0.18,20
机器人,0.02,1.61,20
成品家居,0.02,0.58,16
玻璃制造,0.02,0.70,9
原材料供应链服务,0.02,0.44,11
纺织服装设备,0.02,1.74,11
冰洗,0.02,0.28,7
零食,0.02,0.63,8
资产管理,0.02,-0.06,4
仓储物流,0.02,0.28,5
金属包装,0.02,0.51,5
公路货运,0.02,0.13,4
电动乘用车,0.02,6.96,3
其他化学纤维,0.02,-0.38,6
教育运营及其他,0.02,0.37,3
其他生物制品,0.02,0.15,31
氨纶,0.02,-0.02,1
培训教育,0.02,0.74,10
铁矿石,0.02,0.81,4
家纺,0.02,0.14,6
信托,0.02,0.31,3
跨境物流,0.02,0.48,12
商业物业经营,0.02,0.57,15
会展服务,0.02,-0.03,3
底盘与发动机系统,0.02,8.49,97
旅游零售Ⅲ,0.02,0.54,2
其他计算机设备,0.02,6.34,53
耐火材料,0.02,-0.13,8
其他通用设备,0.02,0.59,43
特种纸,0.02,1.89,11
原料药,0.02,3.23,36
非金属材料Ⅲ,0.01,1.54,9
厨房电器,0.01,0.03,4
机床工具,0.01,0.87,19
装修装饰Ⅲ,0.01,0.25,16
端到端供应链服务,0.01,-0.00,7
鞋帽及其他,0.01,0.24,10
=== 行业板块资金流向排行 ===
板块名称,主力资金(亿),涨跌幅(%),领涨股
电力设备,2979.54,1.83,
半导体,1982.82,1.38,
电池,1354.11,3.96,
数字芯片设计,1040.08,1.99,
汽车,798.23,1.35,
非银金融,792.38,2.26,
锂电池,653.27,4.12,
光伏设备,627.59,1.45,
汽车零部件,608.49,1.38,
证券Ⅱ,578.89,2.57,
电池化学品,546.21,3.75,
计算机设备,355.06,1.44,
能源金属,329.08,2.92,
其他电子Ⅱ,240.33,2.17,
其他电子Ⅲ,240.33,2.17,
逆变器,236.64,4.06,
其他电源设备Ⅱ,198.90,1.89,
半导体设备,192.78,2.20,
分立器件,174.59,1.37,
玻璃玻纤,145.38,3.25,
生物制品,137.60,1.47,
游戏Ⅱ,135.19,1.62,
游戏Ⅲ,135.19,1.62,
其他电源设备Ⅲ,134.45,1.87,
多元金融,132.31,1.89,
乘用车,102.48,1.45,
蓄电池及其他电池,80.50,5.68,
锂电专用设备,73.28,3.34,
家居用品,68.17,1.41,
一般零售,63.40,1.38,
综合电力设备商,56.56,1.82,
商用车,55.03,1.36,
物流,51.79,1.69,
证券Ⅲ,51.05,0.03,49
光伏辅材,49.61,1.71,
纺织制造,48.89,1.83,
白色家电,41.61,1.50,
造纸,37.95,1.43,
品牌消费电子,37.30,3.71,
大众出版,35.78,1.85,
非金属材料Ⅱ,30.88,1.47,
橡胶,30.80,1.49,
光伏主材,28.85,1.65,
装修装饰Ⅱ,22.03,1.41,
教育,18.04,1.66,
旅游零售Ⅱ,15.99,1.64,
,9.49,0.03,7
玻纤制造,8.50,0.05,8
底盘与发动机系统,8.49,0.02,97
火电设备,7.89,2.05,
印染,7.14,2.63,
电动乘用车,6.96,0.02,3
其他计算机设备,6.34,0.02,53
,3.97,0.03,1
其他数字媒体,3.24,2.83,
原料药,3.23,0.02,36
视频媒体,3.15,1.72,
商用载货车,2.06,0.02,8
特种纸,1.89,0.02,11
纺织服装设备,1.74,0.02,11
机器人,1.61,0.02,20
非金属材料Ⅲ,1.54,0.01,9
其他纺织,1.32,0.03,11
金融信息服务,1.26,0.05,3
多业态零售,1.03,0.02,14
期货,0.98,0.04,4
机床工具,0.87,0.01,19
燃料电池,0.85,1.70,
铁矿石,0.81,0.02,4
培训教育,0.74,0.02,10
玻璃制造,0.70,0.02,9
零食,0.63,0.02,8
塑料包装,0.63,0.02,8
其他通用设备,0.59,0.02,43
成品家居,0.58,0.02,16
商业物业经营,0.57,0.02,15
旅游零售Ⅲ,0.54,0.02,2
金属包装,0.51,0.02,5
,0.50,0.02,2
跨境物流,0.48,0.02,12
原材料供应链服务,0.44,0.02,11
教育运营及其他,0.37,0.02,3
信托,0.31,0.02,3
仓储物流,0.28,0.02,5
冰洗,0.28,0.02,7
装修装饰Ⅲ,0.25,0.01,16
鞋帽及其他,0.24,0.01,10
其他家居用品,0.18,0.02,20
其他生物制品,0.15,0.02,31
家纺,0.14,0.02,6
公路货运,0.13,0.02,4
其他橡胶制品,0.10,0.02,14
厨房电器,0.03,0.01,4
端到端供应链服务,-0.00,0.01,7
氨纶,-0.02,0.02,1
会展服务,-0.03,0.02,3
资产管理,-0.06,0.02,4
耐火材料,-0.13,0.02,8
油气及炼化工程,-0.31,0.03,5
其他化学纤维,-0.38,0.02,6
=== 概念板块涨跌幅排行 ===
板块名称,涨跌幅(%),主力资金(亿),领涨股
昨日连板,0.04,-19.86,7
昨日连板_含一字,0.04,-20.89,11
GDR,0.04,24.42,10
麒麟电池,0.04,8.22,8
纳米银,0.04,3.12,5
刀片电池,0.04,10.08,11
动力电池回收,0.03,40.08,40
科创板做市商,0.03,23.30,14
3D摄像头,0.03,22.01,8
固态电池,0.03,51.62,178
券商概念,0.03,52.56,55
钠离子电池,0.03,23.34,53
锂矿概念,0.03,28.75,29
同步磁阻电机,0.03,2.09,7
托育服务,0.02,1.30,7
PLC概念,0.02,0.93,8
数字货币,0.02,10.40,75
商汤概念,0.02,0.94,13
噪声防治,0.02,-0.01,9
碳化硅,0.02,-15.10,34
宁组合,0.02,16.40,23
碳基材料,0.02,1.18,16
昨日涨停_含一字,0.02,-63.25,36
锂电池概念,0.02,45.36,324
地摊经济,0.02,5.92,27
玻璃基板,0.02,-1.25,26
大盘成长,0.02,87.72,68
氟化工概念,0.02,3.37,28
科创板做市股,0.02,-2.96,35
无线充电,0.02,30.49,32
轮毂电机,0.02,-0.05,9
ERP概念,0.02,4.14,17
星闪概念,0.02,13.74,36
跨境支付,0.02,4.91,47
机器人执行器,0.02,3.39,31
华为欧拉,0.02,0.28,14
发电机概念,0.02,1.33,21
参股期货,0.02,28.16,41
创业成份,0.02,63.70,76
互联网金融,0.02,61.70,153
蓝宝石,0.02,-6.10,11
电子身份证,0.02,1.16,34
电池技术,0.02,46.49,446
燃料电池概念,0.02,18.94,112
船舶制造,0.02,2.94,9
数字哨兵,0.02,-1.53,10
移动支付,0.02,4.00,56
生物识别,0.02,4.48,42
汽车芯片,0.02,26.48,56
复合集流体,0.02,-3.42,19
换电概念,0.02,12.01,31
华为汽车,0.02,7.88,100
蚂蚁概念,0.02,10.98,52
储能概念,0.01,60.46,345
2025三季报预增,0.01,-2.91,73
进口博览,0.01,0.35,14
液冷概念,0.01,-4.57,90
汽车热管理,0.01,6.16,79
减速器,0.01,5.77,68
新能源车,0.01,106.69,539
第三代半导体,0.01,-21.82,71
昨日首板,0.01,-40.93,22
深证100R,0.01,90.28,72
化债(AMC)概念,0.01,7.92,49
减肥药,0.01,3.65,30
屏下摄像,0.01,-1.27,9
人形机器人,0.01,8.77,189
周期股,0.01,60.08,68
智能家居,0.01,35.06,134
无线耳机,0.01,34.12,65
茅指数,0.01,62.71,34
百元股,0.01,35.52,140
2025三季报扭亏,0.01,0.31,9
消费电子概念,0.01,40.53,140
智能穿戴,0.01,41.68,100
特斯拉概念,0.01,7.24,167
汽车整车,0.01,11.00,23
熔盐储能,0.01,0.15,9
昨日涨停,0.01,-64.20,31
快递概念,0.01,2.67,35
AIPC,0.01,14.58,37
石墨烯,0.01,2.43,50
电子竞技,0.01,5.27,27
REITs概念,0.01,2.76,17
高压快充,0.01,4.58,44
电子烟,0.01,22.47,35
磁悬浮概念,0.01,13.20,25
存储芯片,0.01,31.68,69
基金重仓,0.01,125.63,349
空气能热泵,0.01,1.79,30
ST股,0.01,-2.32,124
小米概念,0.01,2.29,171
全息技术,0.01,2.58,10
贬值受益,0.01,8.27,143
CRO,0.01,-4.61,31
超级电容,0.01,-11.24,25
无人驾驶,0.01,26.46,211
百度概念,0.01,-7.02,110
虚拟电厂,0.01,1.27,52
2025中报预增,0.01,46.18,332
=== 概念板块资金流向排行 ===
板块名称,主力资金(亿),涨跌幅(%),领涨股
基金重仓,125.63,0.01,349
新能源车,106.69,0.01,539
深证100R,90.28,0.01,72
大盘成长,87.72,0.02,68
创业成份,63.70,0.02,76
茅指数,62.71,0.01,34
互联网金融,61.70,0.02,153
储能概念,60.46,0.01,345
周期股,60.08,0.01,68
券商概念,52.56,0.03,55
固态电池,51.62,0.03,178
电池技术,46.49,0.02,446
2025中报预增,46.18,0.01,332
锂电池概念,45.36,0.02,324
智能穿戴,41.68,0.01,100
消费电子概念,40.53,0.01,140
动力电池回收,40.08,0.03,40
百元股,35.52,0.01,140
智能家居,35.06,0.01,134
无线耳机,34.12,0.01,65
存储芯片,31.68,0.01,69
无线充电,30.49,0.02,32
锂矿概念,28.75,0.03,29
参股期货,28.16,0.02,41
汽车芯片,26.48,0.02,56
无人驾驶,26.46,0.01,211
GDR,24.42,0.04,10
钠离子电池,23.34,0.03,53
科创板做市商,23.30,0.03,14
电子烟,22.47,0.01,35
3D摄像头,22.01,0.03,8
燃料电池概念,18.94,0.02,112
宁组合,16.40,0.02,23
AIPC,14.58,0.01,37
星闪概念,13.74,0.02,36
磁悬浮概念,13.20,0.01,25
换电概念,12.01,0.02,31
汽车整车,11.00,0.01,23
蚂蚁概念,10.98,0.02,52
数字货币,10.40,0.02,75
刀片电池,10.08,0.04,11
人形机器人,8.77,0.01,189
贬值受益,8.27,0.01,143
麒麟电池,8.22,0.04,8
化债(AMC)概念,7.92,0.01,49
华为汽车,7.88,0.02,100
特斯拉概念,7.24,0.01,167
汽车热管理,6.16,0.01,79
地摊经济,5.92,0.02,27
减速器,5.77,0.01,68
电子竞技,5.27,0.01,27
跨境支付,4.91,0.02,47
高压快充,4.58,0.01,44
生物识别,4.48,0.02,42
ERP概念,4.14,0.02,17
移动支付,4.00,0.02,56
减肥药,3.65,0.01,30
机器人执行器,3.39,0.02,31
氟化工概念,3.37,0.02,28
纳米银,3.12,0.04,5
船舶制造,2.94,0.02,9
REITs概念,2.76,0.01,17
快递概念,2.67,0.01,35
全息技术,2.58,0.01,10
石墨烯,2.43,0.01,50
小米概念,2.29,0.01,171
同步磁阻电机,2.09,0.03,7
空气能热泵,1.79,0.01,30
发电机概念,1.33,0.02,21
托育服务,1.30,0.02,7
虚拟电厂,1.27,0.01,52
碳基材料,1.18,0.02,16
电子身份证,1.16,0.02,34
商汤概念,0.94,0.02,13
PLC概念,0.93,0.02,8
进口博览,0.35,0.01,14
2025三季报扭亏,0.31,0.01,9
华为欧拉,0.28,0.02,14
熔盐储能,0.15,0.01,9
噪声防治,-0.01,0.02,9
轮毂电机,-0.05,0.02,9
玻璃基板,-1.25,0.02,26
屏下摄像,-1.27,0.01,9
数字哨兵,-1.53,0.02,10
ST股,-2.32,0.01,124
2025三季报预增,-2.91,0.01,73
科创板做市股,-2.96,0.02,35
复合集流体,-3.42,0.02,19
液冷概念,-4.57,0.01,90
CRO,-4.61,0.01,31
蓝宝石,-6.10,0.02,11
百度概念,-7.02,0.01,110
超级电容,-11.24,0.01,25
碳化硅,-15.10,0.02,34
昨日连板,-19.86,0.04,7
昨日连板_含一字,-20.89,0.04,11
第三代半导体,-21.82,0.01,71
昨日首板,-40.93,0.01,22
昨日涨停_含一字,-63.25,0.02,36
昨日涨停,-64.20,0.01,31
1 # A股板块详细数据
2 # 生成时间: 2026-04-10 18:05:49
3 === 行业板块涨跌幅排行 ===
4 板块名称,涨跌幅(%),主力资金(亿),领涨股
5 蓄电池及其他电池,5.68,80.50,
6 锂电池,4.12,653.27,
7 逆变器,4.06,236.64,
8 电池,3.96,1354.11,
9 电池化学品,3.75,546.21,
10 品牌消费电子,3.71,37.30,
11 锂电专用设备,3.34,73.28,
12 玻璃玻纤,3.25,145.38,
13 能源金属,2.92,329.08,
14 其他数字媒体,2.83,3.24,
15 印染,2.63,7.14,
16 证券Ⅱ,2.57,578.89,
17 非银金融,2.26,792.38,
18 半导体设备,2.20,192.78,
19 其他电子Ⅱ,2.17,240.33,
20 其他电子Ⅲ,2.17,240.33,
21 火电设备,2.05,7.89,
22 数字芯片设计,1.99,1040.08,
23 多元金融,1.89,132.31,
24 其他电源设备Ⅱ,1.89,198.90,
25 其他电源设备Ⅲ,1.87,134.45,
26 大众出版,1.85,35.78,
27 电力设备,1.83,2979.54,
28 纺织制造,1.83,48.89,
29 综合电力设备商,1.82,56.56,
30 视频媒体,1.72,3.15,
31 光伏辅材,1.71,49.61,
32 燃料电池,1.70,0.85,
33 物流,1.69,51.79,
34 教育,1.66,18.04,
35 光伏主材,1.65,28.85,
36 旅游零售Ⅱ,1.64,15.99,
37 游戏Ⅱ,1.62,135.19,
38 游戏Ⅲ,1.62,135.19,
39 白色家电,1.50,41.61,
40 橡胶,1.49,30.80,
41 非金属材料Ⅱ,1.47,30.88,
42 生物制品,1.47,137.60,
43 光伏设备,1.45,627.59,
44 乘用车,1.45,102.48,
45 计算机设备,1.44,355.06,
46 造纸,1.43,37.95,
47 家居用品,1.41,68.17,
48 装修装饰Ⅱ,1.41,22.03,
49 汽车零部件,1.38,608.49,
50 一般零售,1.38,63.40,
51 半导体,1.38,1982.82,
52 分立器件,1.37,174.59,
53 商用车,1.36,55.03,
54 汽车,1.35,798.23,
55 玻纤制造,0.05,8.50,8
56 金融信息服务,0.05,1.26,3
57 期货,0.04,0.98,4
58 镍,0.03,3.97,1
59 锂,0.03,9.49,7
60 其他纺织,0.03,1.32,11
61 证券Ⅲ,0.03,51.05,49
62 油气及炼化工程,0.03,-0.31,5
63 钴,0.02,0.50,2
64 塑料包装,0.02,0.63,8
65 其他橡胶制品,0.02,0.10,14
66 多业态零售,0.02,1.03,14
67 商用载货车,0.02,2.06,8
68 其他家居用品,0.02,0.18,20
69 机器人,0.02,1.61,20
70 成品家居,0.02,0.58,16
71 玻璃制造,0.02,0.70,9
72 原材料供应链服务,0.02,0.44,11
73 纺织服装设备,0.02,1.74,11
74 冰洗,0.02,0.28,7
75 零食,0.02,0.63,8
76 资产管理,0.02,-0.06,4
77 仓储物流,0.02,0.28,5
78 金属包装,0.02,0.51,5
79 公路货运,0.02,0.13,4
80 电动乘用车,0.02,6.96,3
81 其他化学纤维,0.02,-0.38,6
82 教育运营及其他,0.02,0.37,3
83 其他生物制品,0.02,0.15,31
84 氨纶,0.02,-0.02,1
85 培训教育,0.02,0.74,10
86 铁矿石,0.02,0.81,4
87 家纺,0.02,0.14,6
88 信托,0.02,0.31,3
89 跨境物流,0.02,0.48,12
90 商业物业经营,0.02,0.57,15
91 会展服务,0.02,-0.03,3
92 底盘与发动机系统,0.02,8.49,97
93 旅游零售Ⅲ,0.02,0.54,2
94 其他计算机设备,0.02,6.34,53
95 耐火材料,0.02,-0.13,8
96 其他通用设备,0.02,0.59,43
97 特种纸,0.02,1.89,11
98 原料药,0.02,3.23,36
99 非金属材料Ⅲ,0.01,1.54,9
100 厨房电器,0.01,0.03,4
101 机床工具,0.01,0.87,19
102 装修装饰Ⅲ,0.01,0.25,16
103 端到端供应链服务,0.01,-0.00,7
104 鞋帽及其他,0.01,0.24,10
105 === 行业板块资金流向排行 ===
106 板块名称,主力资金(亿),涨跌幅(%),领涨股
107 电力设备,2979.54,1.83,
108 半导体,1982.82,1.38,
109 电池,1354.11,3.96,
110 数字芯片设计,1040.08,1.99,
111 汽车,798.23,1.35,
112 非银金融,792.38,2.26,
113 锂电池,653.27,4.12,
114 光伏设备,627.59,1.45,
115 汽车零部件,608.49,1.38,
116 证券Ⅱ,578.89,2.57,
117 电池化学品,546.21,3.75,
118 计算机设备,355.06,1.44,
119 能源金属,329.08,2.92,
120 其他电子Ⅱ,240.33,2.17,
121 其他电子Ⅲ,240.33,2.17,
122 逆变器,236.64,4.06,
123 其他电源设备Ⅱ,198.90,1.89,
124 半导体设备,192.78,2.20,
125 分立器件,174.59,1.37,
126 玻璃玻纤,145.38,3.25,
127 生物制品,137.60,1.47,
128 游戏Ⅱ,135.19,1.62,
129 游戏Ⅲ,135.19,1.62,
130 其他电源设备Ⅲ,134.45,1.87,
131 多元金融,132.31,1.89,
132 乘用车,102.48,1.45,
133 蓄电池及其他电池,80.50,5.68,
134 锂电专用设备,73.28,3.34,
135 家居用品,68.17,1.41,
136 一般零售,63.40,1.38,
137 综合电力设备商,56.56,1.82,
138 商用车,55.03,1.36,
139 物流,51.79,1.69,
140 证券Ⅲ,51.05,0.03,49
141 光伏辅材,49.61,1.71,
142 纺织制造,48.89,1.83,
143 白色家电,41.61,1.50,
144 造纸,37.95,1.43,
145 品牌消费电子,37.30,3.71,
146 大众出版,35.78,1.85,
147 非金属材料Ⅱ,30.88,1.47,
148 橡胶,30.80,1.49,
149 光伏主材,28.85,1.65,
150 装修装饰Ⅱ,22.03,1.41,
151 教育,18.04,1.66,
152 旅游零售Ⅱ,15.99,1.64,
153 锂,9.49,0.03,7
154 玻纤制造,8.50,0.05,8
155 底盘与发动机系统,8.49,0.02,97
156 火电设备,7.89,2.05,
157 印染,7.14,2.63,
158 电动乘用车,6.96,0.02,3
159 其他计算机设备,6.34,0.02,53
160 镍,3.97,0.03,1
161 其他数字媒体,3.24,2.83,
162 原料药,3.23,0.02,36
163 视频媒体,3.15,1.72,
164 商用载货车,2.06,0.02,8
165 特种纸,1.89,0.02,11
166 纺织服装设备,1.74,0.02,11
167 机器人,1.61,0.02,20
168 非金属材料Ⅲ,1.54,0.01,9
169 其他纺织,1.32,0.03,11
170 金融信息服务,1.26,0.05,3
171 多业态零售,1.03,0.02,14
172 期货,0.98,0.04,4
173 机床工具,0.87,0.01,19
174 燃料电池,0.85,1.70,
175 铁矿石,0.81,0.02,4
176 培训教育,0.74,0.02,10
177 玻璃制造,0.70,0.02,9
178 零食,0.63,0.02,8
179 塑料包装,0.63,0.02,8
180 其他通用设备,0.59,0.02,43
181 成品家居,0.58,0.02,16
182 商业物业经营,0.57,0.02,15
183 旅游零售Ⅲ,0.54,0.02,2
184 金属包装,0.51,0.02,5
185 钴,0.50,0.02,2
186 跨境物流,0.48,0.02,12
187 原材料供应链服务,0.44,0.02,11
188 教育运营及其他,0.37,0.02,3
189 信托,0.31,0.02,3
190 仓储物流,0.28,0.02,5
191 冰洗,0.28,0.02,7
192 装修装饰Ⅲ,0.25,0.01,16
193 鞋帽及其他,0.24,0.01,10
194 其他家居用品,0.18,0.02,20
195 其他生物制品,0.15,0.02,31
196 家纺,0.14,0.02,6
197 公路货运,0.13,0.02,4
198 其他橡胶制品,0.10,0.02,14
199 厨房电器,0.03,0.01,4
200 端到端供应链服务,-0.00,0.01,7
201 氨纶,-0.02,0.02,1
202 会展服务,-0.03,0.02,3
203 资产管理,-0.06,0.02,4
204 耐火材料,-0.13,0.02,8
205 油气及炼化工程,-0.31,0.03,5
206 其他化学纤维,-0.38,0.02,6
207 === 概念板块涨跌幅排行 ===
208 板块名称,涨跌幅(%),主力资金(亿),领涨股
209 昨日连板,0.04,-19.86,7
210 昨日连板_含一字,0.04,-20.89,11
211 GDR,0.04,24.42,10
212 麒麟电池,0.04,8.22,8
213 纳米银,0.04,3.12,5
214 刀片电池,0.04,10.08,11
215 动力电池回收,0.03,40.08,40
216 科创板做市商,0.03,23.30,14
217 3D摄像头,0.03,22.01,8
218 固态电池,0.03,51.62,178
219 券商概念,0.03,52.56,55
220 钠离子电池,0.03,23.34,53
221 锂矿概念,0.03,28.75,29
222 同步磁阻电机,0.03,2.09,7
223 托育服务,0.02,1.30,7
224 PLC概念,0.02,0.93,8
225 数字货币,0.02,10.40,75
226 商汤概念,0.02,0.94,13
227 噪声防治,0.02,-0.01,9
228 碳化硅,0.02,-15.10,34
229 宁组合,0.02,16.40,23
230 碳基材料,0.02,1.18,16
231 昨日涨停_含一字,0.02,-63.25,36
232 锂电池概念,0.02,45.36,324
233 地摊经济,0.02,5.92,27
234 玻璃基板,0.02,-1.25,26
235 大盘成长,0.02,87.72,68
236 氟化工概念,0.02,3.37,28
237 科创板做市股,0.02,-2.96,35
238 无线充电,0.02,30.49,32
239 轮毂电机,0.02,-0.05,9
240 ERP概念,0.02,4.14,17
241 星闪概念,0.02,13.74,36
242 跨境支付,0.02,4.91,47
243 机器人执行器,0.02,3.39,31
244 华为欧拉,0.02,0.28,14
245 发电机概念,0.02,1.33,21
246 参股期货,0.02,28.16,41
247 创业成份,0.02,63.70,76
248 互联网金融,0.02,61.70,153
249 蓝宝石,0.02,-6.10,11
250 电子身份证,0.02,1.16,34
251 电池技术,0.02,46.49,446
252 燃料电池概念,0.02,18.94,112
253 船舶制造,0.02,2.94,9
254 数字哨兵,0.02,-1.53,10
255 移动支付,0.02,4.00,56
256 生物识别,0.02,4.48,42
257 汽车芯片,0.02,26.48,56
258 复合集流体,0.02,-3.42,19
259 换电概念,0.02,12.01,31
260 华为汽车,0.02,7.88,100
261 蚂蚁概念,0.02,10.98,52
262 储能概念,0.01,60.46,345
263 2025三季报预增,0.01,-2.91,73
264 进口博览,0.01,0.35,14
265 液冷概念,0.01,-4.57,90
266 汽车热管理,0.01,6.16,79
267 减速器,0.01,5.77,68
268 新能源车,0.01,106.69,539
269 第三代半导体,0.01,-21.82,71
270 昨日首板,0.01,-40.93,22
271 深证100R,0.01,90.28,72
272 化债(AMC)概念,0.01,7.92,49
273 减肥药,0.01,3.65,30
274 屏下摄像,0.01,-1.27,9
275 人形机器人,0.01,8.77,189
276 周期股,0.01,60.08,68
277 智能家居,0.01,35.06,134
278 无线耳机,0.01,34.12,65
279 茅指数,0.01,62.71,34
280 百元股,0.01,35.52,140
281 2025三季报扭亏,0.01,0.31,9
282 消费电子概念,0.01,40.53,140
283 智能穿戴,0.01,41.68,100
284 特斯拉概念,0.01,7.24,167
285 汽车整车,0.01,11.00,23
286 熔盐储能,0.01,0.15,9
287 昨日涨停,0.01,-64.20,31
288 快递概念,0.01,2.67,35
289 AIPC,0.01,14.58,37
290 石墨烯,0.01,2.43,50
291 电子竞技,0.01,5.27,27
292 REITs概念,0.01,2.76,17
293 高压快充,0.01,4.58,44
294 电子烟,0.01,22.47,35
295 磁悬浮概念,0.01,13.20,25
296 存储芯片,0.01,31.68,69
297 基金重仓,0.01,125.63,349
298 空气能热泵,0.01,1.79,30
299 ST股,0.01,-2.32,124
300 小米概念,0.01,2.29,171
301 全息技术,0.01,2.58,10
302 贬值受益,0.01,8.27,143
303 CRO,0.01,-4.61,31
304 超级电容,0.01,-11.24,25
305 无人驾驶,0.01,26.46,211
306 百度概念,0.01,-7.02,110
307 虚拟电厂,0.01,1.27,52
308 2025中报预增,0.01,46.18,332
309 === 概念板块资金流向排行 ===
310 板块名称,主力资金(亿),涨跌幅(%),领涨股
311 基金重仓,125.63,0.01,349
312 新能源车,106.69,0.01,539
313 深证100R,90.28,0.01,72
314 大盘成长,87.72,0.02,68
315 创业成份,63.70,0.02,76
316 茅指数,62.71,0.01,34
317 互联网金融,61.70,0.02,153
318 储能概念,60.46,0.01,345
319 周期股,60.08,0.01,68
320 券商概念,52.56,0.03,55
321 固态电池,51.62,0.03,178
322 电池技术,46.49,0.02,446
323 2025中报预增,46.18,0.01,332
324 锂电池概念,45.36,0.02,324
325 智能穿戴,41.68,0.01,100
326 消费电子概念,40.53,0.01,140
327 动力电池回收,40.08,0.03,40
328 百元股,35.52,0.01,140
329 智能家居,35.06,0.01,134
330 无线耳机,34.12,0.01,65
331 存储芯片,31.68,0.01,69
332 无线充电,30.49,0.02,32
333 锂矿概念,28.75,0.03,29
334 参股期货,28.16,0.02,41
335 汽车芯片,26.48,0.02,56
336 无人驾驶,26.46,0.01,211
337 GDR,24.42,0.04,10
338 钠离子电池,23.34,0.03,53
339 科创板做市商,23.30,0.03,14
340 电子烟,22.47,0.01,35
341 3D摄像头,22.01,0.03,8
342 燃料电池概念,18.94,0.02,112
343 宁组合,16.40,0.02,23
344 AIPC,14.58,0.01,37
345 星闪概念,13.74,0.02,36
346 磁悬浮概念,13.20,0.01,25
347 换电概念,12.01,0.02,31
348 汽车整车,11.00,0.01,23
349 蚂蚁概念,10.98,0.02,52
350 数字货币,10.40,0.02,75
351 刀片电池,10.08,0.04,11
352 人形机器人,8.77,0.01,189
353 贬值受益,8.27,0.01,143
354 麒麟电池,8.22,0.04,8
355 化债(AMC)概念,7.92,0.01,49
356 华为汽车,7.88,0.02,100
357 特斯拉概念,7.24,0.01,167
358 汽车热管理,6.16,0.01,79
359 地摊经济,5.92,0.02,27
360 减速器,5.77,0.01,68
361 电子竞技,5.27,0.01,27
362 跨境支付,4.91,0.02,47
363 高压快充,4.58,0.01,44
364 生物识别,4.48,0.02,42
365 ERP概念,4.14,0.02,17
366 移动支付,4.00,0.02,56
367 减肥药,3.65,0.01,30
368 机器人执行器,3.39,0.02,31
369 氟化工概念,3.37,0.02,28
370 纳米银,3.12,0.04,5
371 船舶制造,2.94,0.02,9
372 REITs概念,2.76,0.01,17
373 快递概念,2.67,0.01,35
374 全息技术,2.58,0.01,10
375 石墨烯,2.43,0.01,50
376 小米概念,2.29,0.01,171
377 同步磁阻电机,2.09,0.03,7
378 空气能热泵,1.79,0.01,30
379 发电机概念,1.33,0.02,21
380 托育服务,1.30,0.02,7
381 虚拟电厂,1.27,0.01,52
382 碳基材料,1.18,0.02,16
383 电子身份证,1.16,0.02,34
384 商汤概念,0.94,0.02,13
385 PLC概念,0.93,0.02,8
386 进口博览,0.35,0.01,14
387 2025三季报扭亏,0.31,0.01,9
388 华为欧拉,0.28,0.02,14
389 熔盐储能,0.15,0.01,9
390 噪声防治,-0.01,0.02,9
391 轮毂电机,-0.05,0.02,9
392 玻璃基板,-1.25,0.02,26
393 屏下摄像,-1.27,0.01,9
394 数字哨兵,-1.53,0.02,10
395 ST股,-2.32,0.01,124
396 2025三季报预增,-2.91,0.01,73
397 科创板做市股,-2.96,0.02,35
398 复合集流体,-3.42,0.02,19
399 液冷概念,-4.57,0.01,90
400 CRO,-4.61,0.01,31
401 蓝宝石,-6.10,0.02,11
402 百度概念,-7.02,0.01,110
403 超级电容,-11.24,0.01,25
404 碳化硅,-15.10,0.02,34
405 昨日连板,-19.86,0.04,7
406 昨日连板_含一字,-20.89,0.04,11
407 第三代半导体,-21.82,0.01,71
408 昨日首板,-40.93,0.01,22
409 昨日涨停_含一字,-63.25,0.02,36
410 昨日涨停,-64.20,0.01,31

BIN
data/board_history.db Normal file

Binary file not shown.

175
fetch_history.py Normal file
View File

@@ -0,0 +1,175 @@
#!/usr/bin/env python3
"""
批量获取板块历史K线数据
"""
import urllib.request
import json
import sqlite3
import os
import time
from datetime import datetime
from pathlib import Path
# 清除代理
for v in ['http_proxy', 'https_proxy', 'HTTP_PROXY', 'HTTPS_PROXY']:
os.environ.pop(v, None)
SCRIPT_DIR = Path(__file__).parent
DATA_DIR = SCRIPT_DIR / "data"
DB_FILE = DATA_DIR / "board_history.db"
def get_board_codes():
"""从数据库获取已保存的板块代码"""
conn = sqlite3.connect(DB_FILE)
cursor = conn.cursor()
cursor.execute('SELECT DISTINCT board_code, board_name FROM board_data WHERE board_type="industry"')
industry = cursor.fetchall()
cursor.execute('SELECT DISTINCT board_code, board_name FROM board_data WHERE board_type="concept"')
concept = cursor.fetchall()
conn.close()
return industry, concept
def get_kline(code: str, days: int = 25):
"""获取板块历史K线"""
secid = f"90.{code}"
url = f"http://push2his.eastmoney.com/api/qt/stock/kline/get?secid={secid}&fields1=f1,f2,f3,f4,f5,f6&fields2=f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61,f62,f63&klt=101&fqt=1&end=20500101&lmt={days}"
try:
req = urllib.request.Request(url, headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'Referer': 'http://quote.eastmoney.com/'
})
with urllib.request.urlopen(req, timeout=15) as resp:
data = json.loads(resp.read().decode())
if data.get('data') and data['data'].get('klines'):
klines = data['data']['klines']
result = []
for kline in klines:
parts = kline.split(',')
# 格式: 日期,开盘,收盘,最高,最低,成交量,成交额,振幅,涨跌幅,涨跌额,换手率
result.append({
'date': parts[0],
'pct_change': float(parts[8]) if parts[8] != '-' else 0,
'amount': float(parts[6]) if parts[6] != '-' else 0,
})
return result
except Exception as e:
pass
return None
def save_to_db(board_type: str, code: str, name: str, klines: list):
"""保存到数据库"""
conn = sqlite3.connect(DB_FILE)
cursor = conn.cursor()
count = 0
for kline in klines:
try:
cursor.execute('''
INSERT OR REPLACE INTO board_data
(date, board_type, board_code, board_name, pct_change, main_flow, leader_name)
VALUES (?, ?, ?, ?, ?, ?, ?)
''', (
kline['date'],
board_type,
code,
name,
kline['pct_change'],
kline['amount'] / 1e8,
''
))
count += 1
except:
continue
conn.commit()
conn.close()
return count
def main():
print("\n📊 批量获取板块历史数据")
print("=" * 50)
industry, concept = get_board_codes()
print(f"\n行业板块: {len(industry)}")
print(f"概念板块: {len(concept)}")
# 获取行业板块历史
print("\n📡 获取行业板块历史数据...")
success = 0
for i, (code, name) in enumerate(industry, 1):
print(f" [{i}/{len(industry)}] {name}...", end=' ', flush=True)
klines = get_kline(code, 25)
if klines:
count = save_to_db('industry', code, name, klines)
print(f"{count}")
success += 1
else:
print("")
time.sleep(0.15)
print(f"\n行业板块完成: {success}/{len(industry)}")
# 获取概念板块历史
print("\n📡 获取概念板块历史数据...")
success = 0
for i, (code, name) in enumerate(concept, 1):
print(f" [{i}/{len(concept)}] {name}...", end=' ', flush=True)
klines = get_kline(code, 25)
if klines:
count = save_to_db('concept', code, name, klines)
print(f"{count}")
success += 1
else:
print("")
time.sleep(0.15)
print(f"\n概念板块完成: {success}/{len(concept)}")
# 统计
conn = sqlite3.connect(DB_FILE)
cursor = conn.cursor()
cursor.execute('SELECT COUNT(DISTINCT date) FROM board_data')
date_count = cursor.fetchone()[0]
cursor.execute('SELECT MIN(date), MAX(date) FROM board_data')
min_date, max_date = cursor.fetchone()
cursor.execute('SELECT COUNT(*) FROM board_data')
total = cursor.fetchone()[0]
cursor.execute('SELECT date, COUNT(*) FROM board_data GROUP BY date ORDER BY date')
dates = cursor.fetchall()
conn.close()
print(f"\n✅ 完成!")
print(f" 数据日期: {date_count}")
print(f" 日期范围: {min_date} ~ {max_date}")
print(f" 总记录: {total}")
print(f"\n 日期分布:")
for date, cnt in dates[-10:]:
print(f" {date}: {cnt}")
if __name__ == "__main__":
main()