Skip to content
 
 

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Z哥少妇战法·补票战法·TePu 战法 Python 港股实战

更新时间:2025-0607-02 – 适配最新 configs.jsonSelector.py


目录


项目简介

这个港股选股系统包含两个核心脚本: | fetch_kline.py | 下载港股历史K线数据 | | select_stock.py | 根据技术指标策略筛选港股| 系统特点:

使用 AKShare 获取港股历史数据 支持多种技术指标选股策略(少妇战法、补票战法、TePu战法) 增量更新机制,避免重复下载 多线程并行处理,提高效率 结果可视化输出和日志记录

内置策略(见 Selector.py):BBIKDJSelector(少妇战法)、BBIShortLongSelector(补票战法)、BreakoutVolumeKDJSelector(TePu 战法)。


快速上手

安装依赖

# 建议 Python 3.10+,并使用虚拟环境
pip install -r requirements.txt

主要依赖:aksharetusharemootdxpandastqdm 等。

下载历史行情

python select_stock.py --data-dir ./hk_data #下载港股数据

### 运行选股

```bash
python select_stock.py --data-dir ./hk_data #运行选股策略
  --data-dir ./data        # CSV 行情目录
  --config ./configs.json  # Selector 配置
  --date 2025-06-26        # 交易日(缺省 = 最新)

============== 港股选股结果 [策略别名] =============== 交易日: YYYY-MM-DD 符合条件股票数: X 股票代码1, 股票代码2, ...


参数说明

fetch_kline.py

参数 默认值 说明
--datasource mootdx 数据源:tushare / akshare / mootdx
--frequency 4 K 线频率编码(下表)
--start / --end today 日期范围,YYYYMMDDtoday
--out ./data 输出目录
--workers 10 并发线程数

K 线频率编码

编码 周期 Mootdx 关键字 用途
0 5 分 5m 高频
1 15 分 15m 高频
2 30 分 30m 高频
3 60 分 1h 波段
4 日线 day ★ 常用
5 周线 week 中长线
6 月线 mon 中长线
7 1 分 1m Tick
8 1 分 1m Tick
9 日线 day 备用
10 季线 3mon 长周期
11 年线 year 长周期

select_stock.py

参数 默认值 说明
--data-dir ./data CSV 行情目录
--config ./configs.json Selector 配置文件
--date 最新交易日 选股日期
--tickers all 股票池(逗号分隔列表)

其他参数请执行 python select_stock.py --help 查看。

内置策略参数

以下参数均来自 configs.json,可根据个人喜好自行调整。

1. BBIKDJSelector(少妇战法)

参数 预设值 说明
j_threshold 1 当日 J 值必须 小于 该阈值
bbi_min_window 20 检测 BBI 上升的最短窗口(交易日)
max_window 60 参与检测的最大窗口(交易日)
price_range_pct 0.5 最近 max_window 根 K 线内,收盘价最大波动(high/low−1)不得超过此值
bbi_q_threshold 0.1 允许 BBI 一阶差分为负的分位阈值(回撤容忍度)
j_q_threshold 0.10 当日 J 值需 不高于 最近窗口内该分位数

2. BBIShortLongSelector(补票战法)

参数 预设值 说明
n_short 3 计算短周期 RSV 的窗口(交易日)
n_long 21 计算长周期 RSV 的窗口(交易日)
m 3 最近 m 天满足短 RSV 条件的判别窗口
bbi_min_window 2 检测 BBI 上升的最短窗口(交易日)
max_window 60 参与检测的最大窗口(交易日)
bbi_q_threshold 0.2 允许 BBI 一阶差分为负的分位阈值

3. BreakoutVolumeKDJSelector(TePu 战法)

参数 预设值 说明
j_threshold 1 当日 J 值必须 小于 该阈值
j_q_threshold 0.10 当日 J 值需 不高于 最近窗口内该分位数
up_threshold 3.0 单日涨幅不低于该百分比,视为“突破”
volume_threshold 0.6667 放量日成交量需 ≥ 1/(1−volume_threshold) 倍于窗口内其他任意日
offset 15 向前回溯的突破窗口(交易日)
max_window 60 参与检测的最大窗口(交易日)
price_range_pct 0.5 最近 max_window 根 K 线内,收盘价最大波动不得超过此值(high/low−1

项目结构

.
├── fetch_kline.py          # 港股数据下载脚本
├── select_stock.py         # 选股策略执行脚本
├── Selector.py             # 选股策略实现
├── configs.json            # 策略配置文件
├── requirements.txt        # 依赖库列表
├── fetch.log               # 下载日志
├── select_results.log      # 选股结果日志
└── hk_data/                # 港股数据目录(默认)
    ├── 00001.csv
    ├── 00002.csv
    └── ...

免责声明

  • 本仓库仅供学习与技术研究之用,不构成任何投资建议。股市有风险,入市需审慎。
  • 致谢 @Zettaranc 在 Bilibili 的无私分享:https://b23.tv/JxIOaNE
  • 致谢 @juffryZZ331 好师兄在bilibili的启发及A股脚本分享

About

Stock selection strategies (for HK Stocks)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages