这是一个用于A股市场技术分析的工具,主要功能包括自定义技术指标计算、低吸买入信号筛选、高位卖出信号识别和可视化图表生成。
- 支持多线程并行处理大量股票数据
- 自定义技术指标计算(如RSI、零售线、机构线等)
- 自适应低吸买入信号识别
- 高位卖出信号预警
- 结果可视化与图表生成
- 支持按板块分类(主板、创业板、科创板、ST股票)
- 缓存机制提高重复筛选效率
依赖库
pip install akshare pandas numpy matplotlib tqdm字体配置 需要安装中文字体以正确显示图表,默认使用NotoSansCJK:
sudo apt-get install fonts-noto-cjk在plot_indicators.py文件中显式地指定中文字体路径
font_path = "/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc"
font_prop = FontProperties(fname=font_path)全量筛选股票
python generate_stocklist_muti.py这将从A股市场筛选所有低吸买入信号并生成图表,结果保存在output目录。
测试单只股票
python test.py sz002600将分析指定的单只股票并生成指标图表。
从缓存筛选 已经计算过指标的股票将被缓存,可以快速重新筛选:
python filter_dip_buy_from_cache.py- custom_indicators.py: 核心指标计算模块
- plot_indicators.py: 图表生成模块
- generate_stocklist_muti.py: 多线程筛选主程序
- filter_dip_buy_from_cache.py: 从缓存快速筛选
- test.py: 单股分析测试工具
可在custom_indicators.py中调整技术指标参数:
| 参数 | 说明 | 推荐值 |
|---|---|---|
| M | 高低点计算周期 | 40(牛市:35-40,熊市:70-89) |
| N | KDJ计算周期 | 21(短线:21-25,中线:45-55) |
| SMA_N | SMA窗口大小 | 6(可调整为6-14) |
| DIP_BUY_THRESHOLD | 低吸信号阈值 | 60(牛市:60-65,熊市:80-85) |
| TOP_SELL_THRESHOLD | 高位卖点阈值 | 70(牛市:80-85,熊市:60-65) |
多线程参数可在generate_stocklist_muti.py中调整:
| 参数 | 说明 | 默认值 |
|---|---|---|
| MAX_WORKERS | 最大线程数 | 8 |
| TIMEOUT | 单股处理超时(秒) | 30 |
| RECENT_DAYS | 近期信号检查天数 | 5 |
- 筛选结果保存在output目录下的文本文件中
- 图表生成在output/股票代码/目录下
- 指标缓存保存在indicators_cache目录下
- 请确保有足够的网络带宽和稳定的网络连接
- 处理全市场股票可能需要较长时间,建议使用多线程模式
- 指标参数可以根据不同市场环境和个人交易习惯调整