基于缠中说禅技术理论,实现 A 股股票的技术面分析,包括分型、笔、线段、中枢、背驰等核心概念的自动识别与可视化。
| 功能 | 说明 |
|---|---|
| ------ | ------ |
| 分型识别 | 顶分型(Top Fractal)、底分型(Bottom Fractal)自动检测 |
| 笔识别 | 顶底交替连接,K 线包含处理 |
| 线段识别 | 至少 3 笔,有重叠区域 |
| 中枢识别 | 至少 3 笔重叠区域 |
| 背驰检测 | MACD 柱面积比较 |
| 图表绘制 | K 线 + 分型 + 笔 + 线段 + 中枢 + MACD + 成交量 |
| 报告生成 | Markdown 格式技术分析报告 |
| PNG 图片 | 直观的技术图形展示(主图 + 副图),英文标签 |
顶分型: 第二 K 线高点是相邻三 K 线高点中最高的,低点也是相邻三 K 线低点中最高的
底分型: 第二 K 线低点是相邻三 K 线低点中最低的,高点也是相邻三 K 线高点中最低的
向上处理: 两 K 线高点取高者,低点取较高者
向下处理: 两 K 线低点取低者,高点取较低者
# 分析单只股票(自动生成图表和报告)
python3 scripts/chanlun_analysis.py 601688
# 指定时间周期
python3 scripts/chanlun_analysis.py 601688 --period 60
# 输出 JSON 数据
python3 scripts/chanlun_analysis.py 601688 --json
# 指定输出目录
python3 scripts/chanlun_analysis.py 601688 --output ./reports
| 参数 | 说明 | 默认值 |
|---|---|---|
| ------ | ------ | -------- |
stock_code | 股票代码(如 601688) | 必填 |
--period | 周期:daily/60/30 等 | daily |
--output | 输出目录 | ./outputs |
--json | 额外输出 JSON 格式 | 否 |
--verbose | 详细输出 | 否 |
> 注意: 图表 PNG 是必需输出,无需额外参数,每次分析自动生成。
每次分析自动生成以下文件:
报告结构(核心结论优先):
| 章节 | 内容 |
|---|---|
| ------ | ------ |
| 🎯 核心结论 | 走势判断、背驰信号、操作建议、关键价位 |
| 📊 缠论分析图表 | PNG 图表展示 |
| 📋 分项统计 | 行情概况、分型统计、笔分析、中枢分析、背驰检测 |
| ⚠️ 风险提示 | 免责声明 |
图表内容:
图表元素说明:
| 元素 | 颜色/样式 | 说明 |
|---|---|---|
| ------ | ---------- | ------ |
| Bullish Candle | 🔴 红色 | 收盘价≥开盘价(阳线) |
| Bearish Candle | 🟢 绿色 | 收盘价<开盘价(阴线) |
| Top Fractal (T) | 🟢 绿色圆圈 | 顶分型,局部高点 |
| Bottom Fractal (B) | 🔴 红色圆圈 | 底分型,局部低点 |
| Up Stroke | 🔵 蓝色实线 | 向上笔,从底到顶 |
| Down Stroke | 🟣 紫色虚线 | 向下笔,从顶到底 |
| Pivot Zone | 🟡 黄色区域 | 中枢,至少3笔重叠区间 |
| Segment | 浅色背景 | 线段区域 |
| 文件 | 说明 |
|---|---|
| ------ | ------ |
{stock_code}_chanlun_chart.png | 缠论分析图表 |
{stock_code}_chanlun_report.md | 技术分析报告 |
{
"stock_code": "601688",
"trend": "uptrend",
"fractals": {
"tops_count": 8,
"bottoms_count": 7
},
"strokes_count": 12,
"segments_count": 3,
"pivots_count": 2,
"divergence": {
"detected": true,
"type": "bullish",
"confidence": 0.75
}
}
本技能依赖 Tushare Pro 作为数据源,需要预先配置 API Token。
| 项目 | 说明 |
|---|---|
| ------ | ------ |
| 注册地址 | https://tushare.pro/register |
| 注册流程 | 手机号注册 → 实名认证 → 获取 Token |
| 免费额度 | 新用户赠送 500 积分,基础日线数据免费 |
| 积分说明 | 积分越高,接口权限越多,详细权限见官网 |
方式一:临时配置(当前终端有效)
export TUSHARE_TOKEN=your_token_here
方式二:永久配置(写入 ~/.bashrc)
echo 'export TUSHARE_TOKEN=your_token_here' >> ~/.bashrc
source ~/.bashrc
验证配置
python3 -c "import os; print('TUSHARE_TOKEN:', os.getenv('TUSHARE_TOKEN', 'NOT SET'))"
| 问题 | 解决方案 |
|---|---|
| ------ | --------- |
| Token 未设置 | 报错 TUSHARE_TOKEN environment variable is required |
| Token 无效 | 检查 Token 是否正确复制,无多余空格 |
| 接口权限不足 | 登录 Tushare 官网查看积分权限 |
| 变量名 | 说明 | 必需 | 获取方式 |
|---|---|---|---|
| -------- | ------ | :----: | --------- |
TUSHARE_TOKEN | Tushare Pro API Token | ✅ | https://tushare.pro |
pip install pandas numpy matplotlib tushare
| 包名 | 版本要求 | 说明 |
|---|---|---|
| ------ | --------- | ------ |
| pandas | >=1.5.0 | 数据处理 |
| numpy | >=1.20.0 | 数值计算 |
| matplotlib | >=3.5.0 | 图表绘制 |
| tushare | >=1.2.0 | A股数据源(需注册获取 Token) |
chanlun-technical-analysis/
├── SKILL.md # 技能文档
├── skill.json # 技能元数据
└── scripts/
├── chanlun_analysis.py # 主入口脚本
├── chanlun_core.py # 核心算法(分型/笔/线段)
├── chanlun_divergence.py # 背驰检测
└── chanlun_chart.py # 图表绘制
本技能仅供学习和研究使用,不构成任何投资建议。股市有风险,投资需谨慎。
共 1 个版本