返回 Skill 列表
extension
分类: 其它无需 API Key

k线形态选股器

可以通过个股自定义的末端时间走势 来验证市场历史个股走势 从而预知未来一段时间内的趋势

person作者: user_2bda22cehubcommunity

A股智能形态匹配器

概述

本工具通过比对历史走势形态,帮助用户找到A股中与目标走势最相似的历史段落,并统计匹配段之后的市场表现,为投资决策提供数据参考。

核心功能

  1. 手动输入涨跌幅 → 全市场搜索相似走势(最灵活、最可靠)
  2. 指定股票代码 → 分析其最近N日走势,在全市场或自身历史中搜索匹配
  3. 截图识别K线 → 自动从K线图中提取涨跌序列
  4. 可视化对比 → 生成匹配结果的可视化图表
  5. 统计输出 → 提供后续涨跌概率、平均收益等参考数据

使用模式

模式1:手动输入涨跌幅(推荐)

用户提供一段涨跌幅序列,系统在全市场搜索相似走势:

python scripts/smart_pattern_matcher.py --returns "2.1,-0.5,1.3,0.8,-1.2,-0.3,3.5,1.2,-0.8,2.0"

参数

  • --returns:每日涨跌幅(%),逗号分隔
  • --top:返回数量(默认15)
  • --threshold:最低相似度(默认0.3)
  • --after:后续观察天数(默认10)

模式2:指定股票

用特定股票的最近走势在全市场搜索:

# 全市场搜索
python scripts/smart_pattern_matcher.py --code 002594 --window 15 --mode cross

# 自身历史搜索
python scripts/smart_pattern_matcher.py --code 600519 --window 20 --mode self

参数

  • --code:股票代码(6位,如002594)
  • --window:观察窗口(交易日,默认20)
  • --modecross=全市场,self=自身历史

模式3:截图识别

从K线截图自动提取走势:

python scripts/smart_pattern_matcher.py --image kline_screenshot.png

注意:截图识别准确度取决于图片质量,建议使用东方财富/同花顺日K线图。

模式4:全市场扫描

扫描所有A股,找到"最近走势在历史上最像自己哪段"的股票:

python scripts/smart_pattern_matcher.py --mode scan --window 20 --top 5

注意:此模式耗时较长(20-30分钟),受tushare频率限制。

输出解读

关键指标

| 指标 | 含义 | 判断标准 | |------|------|----------| | 后续N日平均收益 | 匹配段之后N天的平均涨幅 | 正=偏多,负=偏空 | | 上涨概率 | 匹配段之后涨了的比例 | >70%偏多,<40%偏空 | | 高相似度胜率 | 只看相似度≥0.5的匹配 | 更有参考价值 | | 相似度 | 0~1,越高越像 | >0.7很像,>0.5有参考价值 |

相似度等级

| 相似度 | 含义 | |--------|------| | >0.7 | 高度相似,可重点关注 | | 0.5-0.7 | 中度相似,有参考价值 | | 0.3-0.5 | 低度相似,需谨慎 | | <0.3 | 匹配度过低,参考意义不大 |

算法说明

特征向量组成

| 特征 | 维度 | 作用 | |------|------|------| | 标准化涨跌幅 | N | 涨跌节奏 | | 相对量比 | N | 放量缩量节奏(仅代码模式) | | 振幅序列 | N | 波动节奏 | | 全局统计特征 | 5-6 | 累计涨幅/最大回撤/转折频率/尾盘斜率/高低点位置 |

相似度计算

使用余弦相似度(Cosine Similarity),取值范围0~1。

性能说明

| 模式 | 耗时 | 说明 | |------|------|------| | 手动输入涨跌幅 | <5秒 | 最快,无需加载数据 | | 指定股票(全市场) | 5-15秒 | 加载本地数据(~76秒一次,之后缓存) | | 指定股票(自身历史) | <3秒 | 最快 | | 全市场扫描 | 20-30分钟 | 不推荐,受tushare限频 |

优化说明

  • 优先使用东方财富本地数据(零API调用)
  • 只加载近365天数据(减少76%数据量)
  • 极速版相似度算法(numpy向量化)

依赖安装

pip install numpy pandas Pillow matplotlib openpyxl

v1.0.2 移除了 tushare 依赖,改为纯本地数据源。 v1.0.0 原有依赖:pip install tushare numpy pandas Pillow matplotlib openpyxl

数据来源

本Skill支持两种数据源(按优先级自动选择):

  1. 东方财富本地数据(推荐)

    • 零API调用,无限频
    • 需要配置 EASTMONEY_DATA_PATH 环境变量或确保数据在正确路径下
    • 自动搜索工作区目录结构
  2. tushare接口(旧版脚本 rhythm_pattern_matcher.py)

    • 需要设置 TUSHARE_TOKEN 环境变量
    • 免费版有限频(约每分钟1次)
    • 示例:export TUSHARE_TOKEN="你的token"

注意事项

  1. 数据源:主程序 smart_pattern_matcher.py 使用东方财富本地数据,无需API Key
  2. 环境变量(可选):
    • EASTMONEY_DATA_PATH: 东方财富数据目录路径
    • TUSHARE_TOKEN: tushare Token(仅旧版脚本需要)
  3. 输出目录:结果保存到 pattern_results/ 子目录
  4. 历史不代表未来:形态匹配是概率工具,上涨概率70%意味着还有30%概率跌
  5. 停牌/次新股:数据不足的股票会自动跳过
  6. ST股:默认包含在全市场搜索中

窗口选择建议

| 窗口 | 适用场景 | 特点 | |------|---------|------| | 5-10日 | 短线博弈 | 匹配多但噪声大 | | 15-20日 | 中线波段(推荐) | 平衡精度和覆盖面 | | 30-60日 | 大级别趋势 | 匹配少但信号强 |

脚本位置

  • 主程序:scripts/smart_pattern_matcher.py (v5)
  • 通达信数据接口:scripts/tdx_local.py
  • 旧版程序:scripts/rhythm_pattern_matcher.py (需要 tushare)
  • 通达信公式:scripts/pattern_tdx.txt
  • 东方财富公式:scripts/pattern_em.txt

反馈与支持

如果你觉得这个工具有帮助,或者有改进建议,欢迎反馈!

反馈方式

| 方式 | 说明 | |------|------| | WorkBuddy 评价 | 使用后在 Skill 页面评分 | | 问题描述 | 描述你期望的功能或遇到的问题 |

反馈内容建议

  • 匹配结果质量如何?(1-5星)
  • 哪些场景特别有用?
  • 哪些功能需要改进?
  • 你希望增加哪些功能?

💡 你的反馈是我持续改进的动力!