Skills stock-selecter
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/alan1121-j/stock-selecter" ~/.claude/skills/clawdbot-skills-stock-selecter && rm -rf "$T"
manifest:
skills/alan1121-j/stock-selecter/SKILL.mdsource content
stock-selecter 统一选股技能包 v3.3
概述
将14种选股策略聚合为单一入口,支持单策略独立运行、多策略组合(AND/OR/SCORE), 以及并发加速和 HTML 可视化报告。
可用策略
| 策略名 | 说明 | 核心条件 | 评分维度 |
|---|---|---|---|
| ROE盈利能力 | ROE≥15%, ROA≥5% | ROE/ROA/毛利/净利/负债率/ROE趋势 |
| MACD底背离 | K线下行+MACD向上+底背离+放量 | K线斜率/MACD斜率/放量倍数/RSI |
| 高股息 | 股息率≥3%+连续分红3年+ROE≥8% | 股息率/ROE/连续年数/估值/派息率 |
| 低估值 | PE≤25+PB≤3+PEG≤1.5+ROE≥8% | PE/PB/PEG/ROE/行业折价/PB历史分位 |
| 费雪成长股 | 营收/净利双增≥20%+毛利≥30% | 营收增速/利润增速/毛利率/ROE |
| 长期低位 | 价格分位≤25%+RSI≤40 | 价格分位/RSI/距低点天数 |
| 近期放量 | 放量≥2倍+RSI≤45+反弹≥3% | 放量倍数/RSI/反弹幅度/连续放量天数 |
| 趋势分析 | 均线多头+R²≥0.5+ADX≥25 | 趋势斜率/R²/ADX/RSI/波动率/均线排列 |
| K线形态 | 命中1种+形态(双底/吞没/早晨之星等) | 命中形态数量 |
| 布林带下轨 | 股价触及布林带下轨+RSI超卖 | 触及程度/RSI/距下轨空间 |
| 筹码集中 | 股东户数连续3期减少+ROE≥8% | 累计减少幅度/持续期数/ROE |
| 现金流质量 | 经营现金流≥净利润3期+商誉<30% | 满足季度数/平均比率/ROE |
| 北向资金 | 北向连续净买入5日+累计≥5亿 | 连续天数/累计净买入/ROE |
| 股东增持 | 增持比例≥0.5%+ROE≥8% | 增持比例/增持期数/ROE |
| 分析师目标价 | 隐含目标价空间≥20%+连续预测2期 | 上行空间/预测期数/ROE |
评分体系
所有策略统一返回 0-100 分,分数越高表示股票质量越好。 多策略组合时,
score 为各策略得分之和(AND 模式)或之和(OR/SCORE 模式)。
评分参考基准:
- ROE 满分参考值 ≥25%
- 毛利率满分参考值 ≥40-60%
- ADX 满分参考值 ≥50
- 放量倍数满分参考值 ≥3x
组合模式
AND :多策略交集(股票必须同时通过所有策略,条件最严) OR :多策略并集(通过任意一个即入选) SCORE :综合评分(全部策略打分,按总分排名,最宽松)
命令行用法
# 单策略(默认 AND) python main.py --strategy roe --roe_threshold 15 # 多策略交集(最严) python main.py --strategy roe,macd,dividend --mode and # 多策略并集(宽松) python main.py --strategy roe,macd --mode or --top 50 # 综合评分(适合 --strategy all) python main.py --strategy all --mode score --top 50 # 并发执行(8线程,适合技术面策略) python main.py --strategy macd,trend,volume_surge --workers 8 # 生成 HTML 可视化报告 python main.py --strategy roe,macd,dividend --report --output_dir ~/Desktop # 调试(只分析前20只) python main.py --strategy roe,trend --limit 20 --verbose
代码调用
from main import execute # 基础用法 result = execute({"strategy": "roe", "roe_threshold": 15}) # 多策略 AND 交集 result = execute({ "strategy": "roe,macd,valuation", "mode": "and", "roe_threshold": 15, "max_pe": 20, }) # 全策略综合评分,并发 + HTML result = execute({ "strategy": "all", "mode": "score", "top_n": 50, "workers": 8, "report": True, }) # 策略专属参数(支持 namespace 前缀) result = execute({ "strategy": "roe,valuation", "roe.roe_threshold": 20, # ROE策略参数 "valuation.max_pe": 15, # 估值策略参数 })
返回格式
{ "success": True, "results": [ { "ts_code": "000001.SZ", "name": "平安银行", "industry": "银行", "score": 78.5, "strategies_hit": ["roe", "valuation"], "scores": {"roe": 45.2, "valuation": 33.3}, # 以下为各策略专属字段 "roe": 16.5, "roa": 8.2, "gross_margin": 35.1, "pe_ttm": 12.3, "pb": 1.1, "peg": 0.74, }, ... ], "count": 42, "message": "[stock-selecter] AND 模式,耗时 89.3s", "metadata": { "strategies_used": ["roe", "valuation"], "mode": "and", "execution_time": 89.3, "per_strategy_counts": {"roe": 312, "valuation": 185}, "saved_files": { "json": "/path/to/...", "csv": "/path/to/...", "html": "/path/to/...", } } }
参数说明
公共参数
| 参数 | 默认 | 说明 |
|---|---|---|
| | 策略名,逗号分隔,=全部 |
| | // |
| | 结果截断(0=不限) |
| | 并发线程数(>1启用并发) |
| | 是否生成 HTML 报告 |
| | 是否保存 JSON/CSV |
| | 输出目录 |
各策略专属参数
ROE (
)roe
roe_threshold=15.0 # ROE 最低阈值(%) roa_threshold=5.0 # ROA 最低阈值(%) include_roa=True # 是否同时筛选 ROA min_report_periods=4 # 最少财报期数
MACD (
)macd
k_slope_max=0.0 # K线斜率上限(正值=向上) k_r2_min=0.3 # K线趋势 R² 下限 macd_slope_min=0.0 # MACD 斜率下限(正值=向上) macd_r2_min=0.2 # MACD 趋势 R² 下限 require_divergence=True # 要求底背离 require_volume_surge=True# 要求放量 volume_surge_weeks=5 # 放量对比周数 volume_surge_threshold=1.5 # 放量倍数阈值
股息 (
)dividend
min_dv_ratio=3.0 # 最低股息率(%) min_consecutive_years=3 # 最少连续分红年数 min_roe=8.0 # 最低 ROE(%) max_pe=30 # PE 上限
估值 (
)valuation
max_pe=25.0 # PE 上限 max_pb=3.0 # PB 上限 max_peg=1.5 # PEG 上限(<1为低估) industry_discount=0.85 # 行业基准折扣 min_roe=8.0 # 最低 ROE(%)
成长股 (
)growth
min_revenue_growth=20.0 # 营收增速下限(%) min_profit_growth=20.0 # 净利润增速下限(%) min_gross_margin=30.0 # 毛利率下限(%) min_consecutive_quarters=3# 连续净利润正增长季度数 min_roe=12.0 # 最低 ROE(%)
长期低位 (
)low_position
lookback_days=250 # 历史价格窗口 low_position_pct=25.0 # 底部分位阈值(%) rsi_max=40.0 # RSI 上限 rsi_window=14 # RSI 计算周期 data_period_years=2 # 数据拉取年数
近期放量 (
)volume_surge
volume_surge_ratio=2.0 # 放量倍数阈值 volume_avg_days=20 # 均量计算周期 rsi_max=45.0 # RSI 上限 rebound_pct_min=3.0 # 最小反弹幅度(%) rebound_days=5 # 反弹检测窗口 price_change_max=10.0 # 当日涨幅上限(%) data_period_years=1 # 数据拉取年数
趋势 (
)trend
ma_short=5 # 短期均线周期 ma_mid=20 # 中期均线周期 ma_long=60 # 长期均线周期 trend_r2_min=0.5 # 趋势 R² 下限 adx_min=25.0 # ADX 趋势强度下限 require_ma_bullish=True # 要求均线多头排列
形态 (
)pattern
detect_double_bottom=True detect_head_shoulders_bottom=True detect_flag_breakout=True detect_golden_cross=True detect_morning_star=True detect_bullish_engulfing=True detect_cup_handle=True min_pattern_score=1 # 最少命中形态数
布林带下轨 (
)bollinger
bb_window=20 # 布林带周期 bb_std=2.0 # 标准差倍数 rsi_max=45.0 # RSI 上限 rsi_window=14 # RSI 周期 lookback_days=120 # 回看天数 price_change_max=9.0 # 当日涨幅上限(排除涨停)
筹码集中 (
)shareholder_concentration
min_consecutive_quarters=3 # 连续减少季度数 max_holder_growth=-5.0 # 最大季度增长上限 min_roe=8.0 # 最低ROE data_period_quarters=8 # 数据拉取期数
现金流质量 (
)cashflow_quality
min_match_quarters=3 # 经营现金流>=净利润的季度数 total_periods=4 # 检测总期数 min_cashflow_ratio=0.8 # 经营现金流/净利润最小比率 min_roe=8.0 # 最低ROE max_goodwill_pct=30.0 # 商誉/净资产上限(%)
北向资金 (
)northbound_flow
min_consecutive_days=5 # 最少连续净买入天数 min_daily_net=1.0 # 单日最低净买入额(亿元) min_total_net=5.0 # 累计最低净买入额(亿元) lookback_days=20 # 回看天数 north_type=all # all=全部/sh=沪股通/sz=深股通
股东增持 (
)shareholder_buyback
min_buyback_ratio=0.5 # 最低增持占总股本比例(%) min_consecutive_periods=1 # 最少增持期数 lookback_days=90 # 回看天数 holder_type=all # all=任意/major=大股东/manager=高管 min_roe=8.0 # 最低ROE
分析师目标价 (
)analyst_target
min_target_upside=20.0 # 最低目标价上行空间(%) min_consecutive_forecasts=2# 最少连续盈利预测期数 forecast_years=2 # 预测年数 min_roe=8.0 # 最低ROE
输出文件
自动保存到
/Volumes/Alan HD/股票筛选/(Mac 外置硬盘),或指定目录:
— 完整原始数据screener_{策略}_{时间}.json
— 表格格式screener_{策略}_{时间}.csv
— 可交互可视化报告(需选股报告_{时间}.html
)--report
目录结构
stock-selecter/ ├── main.py ← 统一入口(CLI + execute()) ├── SKILL.md ← 本文件 ├── config.json ← 默认配置 ├── strategies/ │ ├── base.py ← 抽象基类(含并发执行引擎) │ ├── roe.py │ ├── macd.py │ ├── dividend.py │ ├── valuation.py │ ├── growth.py │ ├── low_position.py │ ├── volume_surge.py │ ├── trend.py │ ├── pattern.py │ ├── bollinger.py ← v3.2 新增 │ ├── shareholder_concentration.py ← v3.2 新增 │ ├── cashflow_quality.py ← v3.2 新增 │ ├── northbound_flow.py ← v3.3 新增 │ ├── shareholder_buyback.py ← v3.3 新增 │ └── analyst_target.py ← v3.3 新增 └── utils/ ├── loader.py ← 共享库动态加载 └── report.py ← HTML 报告生成器
并发说明
(默认):串行执行,稳定可靠workers=1
:ThreadPoolExecutor 并发,适合 IO 密集型(大量 API 调用等待)workers>1- MACD/趋势/放量等技术面策略建议开启并发(
)--workers 8 - ROE/股息/估值等财务面策略数据量小,并发收益有限
- 建议并发数不超过 16,避免触发 API 限流