← スキル一覧に戻る

baostock-guide
by chinawrj
⭐ 0🍴 0📅 2026年1月20日
SKILL.md
name: baostock-guide description: Baostock接口使用指南。当用户询问复权参数、K线数据、庄股筛选、波段操作、箱体震荡股票筛选、股东人数、股东户数变化时使用此技能。包含复权参数说明、庄股筛选策略和股东人数查询。
Baostock 使用指南
复权参数 (adjust_flag) 注意事项
使用 get_historical_k_data 获取K线数据时,adjust_flag 参数的含义如下:
| adjust_flag | 英文 | 中文 | 说明 |
|---|---|---|---|
| 1 | Forward adjusted | 后复权 | 以上市首日为基准,累计所有分红送转,价格会比实际价格高 |
| 2 | Backward adjusted | 前复权 | 以最新价格为基准向前调整,价格与当前实际价格接近 |
| 3 | Non-adjusted | 不复权 | 实际交易价格 |
⚠️ 常见错误
不要把 "Forward adjusted" 误认为是"前复权"!
- Forward adjusted (adjust_flag=1) = 后复权
- Backward adjusted (adjust_flag=2) = 前复权
验证方法
如果对某只股票的复权价格有疑问,可以:
- 使用
get_adjust_factor_data查看复权因子(backAdjustFactor) - 使用
get_dividend_data查看历史分红送转记录 - 后复权价格 ≈ 不复权价格 × backAdjustFactor
示例
如果一只股票历史上有过 10转10(2015年)和 10转15(2018年),累计复权因子约为 2 × 2.5 = 5 倍,后复权价格会是实际价格的5倍左右,这是正常的。
筛选"庄股"(类花园生物)的原则
寻找具有明显庄家操盘特征、适合波段操作的股票时,可参考以下筛选条件:
核心筛选条件
| 条件 | 说明 | 具体指标 |
|---|---|---|
| 波幅大 | 单轮涨跌幅度要足够大 | 单波涨跌幅 20%-40% |
| 周期长 | 每轮波段持续时间较长 | 每轮 1-2个月(4-8周) |
| 换手率高 | 有明显资金运作痕迹 | 周换手率峰值 15%+,平均 10%+ |
| 箱体震荡 | 非单边趋势,年初年末价格接近 | 年度涨跌幅 ±25% 以内 |
| 🔥放量阶段性高点 | 一年内多次放量冲高 | ≥3次 放量高点,每次间隔 2-5个月 |
放量阶段性高点检测(核心指标)
庄股最典型的特征是周期性的"拉升-出货"循环,体现为:
- 阶段性高点:周线上比前后3周都高的价格点
- 放量确认:高点前后一周内有至少2天量比≥1.5
- 间隔合理:每个放量高点之间间隔8-22周(约2-5个月)
- 次数要求:一年内至少出现3次这样的放量高点
典型庄股K线形态:
价格 ^ 放量高点1 放量高点2 放量高点3
| /\ /\ /\
| / \ / \ / \
| / \ / \ / \
| / \ / \ /
| / \___/ \___/
+-----------------------------------------> 时间
|<- 2-5月 ->|<- 2-5月 ->|
排除条件
- ❌ 单边上涨:年涨幅超过50%,持续创新高
- ❌ 单边下跌:年跌幅超过30%,持续创新低
- ❌ 波幅太小:单波涨跌幅不足15%
- ❌ 周期太短:每轮不足3周
- ❌ ST股票:退市风险高(除非特别说明)
验证方法
- K线形态:使用
get_historical_k_data(前复权,adjust_flag=2)获取周线数据 - 换手率:关注
turn字段,高换手通常对应价格转折点 - 放量阶段性高点(核心验证):
- 在周线图上识别阶段性高点(比前后3周都高)
- 检查高点附近日线是否有放量(量比≥1.5的天数≥2)
- 验证高点间隔是否在2-5个月(8-22周)
- 一年内至少3个放量高点才符合庄股特征
- AI二次确认:脚本会输出高点时间线,人工或AI确认:
- 高点是否真正形成头部形态
- 放量是否伴随价格滞涨或下跌(出货特征)
- 间隔是否符合庄家操盘节奏
- 股东人数:通过东方财富等渠道查看股东人数变化
- 股东减少 + 股价上涨 = 庄家吸筹
- 股东增加 + 股价下跌 = 庄家出货
典型案例
| 股票 | 代码 | 箱体区间 | 单波幅度 | 波段周期 |
|---|---|---|---|---|
| 花园生物 | 300401 | 13-17元 | 20-35% | 3-6周 |
| 联诚精密 | 002921 | 10-19元 | 25-70% | 4-8周 |
| 超频三 | 300647 | 4.3-8.4元 | 19-33% | 3-13周 |
| 尔康制药 | 300267 | 2.1-4.8元 | 20-106% | 2-14周 |
| 民和股份 | 002234 | 7.8-10.7元 | 14-37% | 3-12周 |
| 仙坛股份 | 002746 | 5.2-6.8元 | 15-30% | 4-10周 |
| 雅本化学 | 300261 | 5.3-9.1元 | 15-63% | 3-10周 |
股东人数查询
查询股票的股东人数变化历史,用于分析庄家吸筹/出货行为。
使用方法
cd /Users/rjwang/fun/a-share && source .venv/bin/activate
# 按代码查询(默认最近16期)
python .github/skills/baostock-guide/scripts/query_shareholders.py 300401
# 按名称查询
python .github/skills/baostock-guide/scripts/query_shareholders.py 花园生物
# 指定期数(如最近20期)
python .github/skills/baostock-guide/scripts/query_shareholders.py 300401 20
Python API
import akshare as ak
# 查询股东人数历史
df = ak.stock_zh_a_gdhs_detail_em(symbol="300401")
# 返回字段:
# - 股东户数统计截止日
# - 股东户数-本次、股东户数-上次、股东户数-增减、股东户数-增减比例
# - 区间涨跌幅
# - 户均持股市值、户均持股数量
# - 股东户数公告日期
信号解读
| 股东变化 | 股价变化 | 信号 | 含义 |
|---|---|---|---|
| 减少 | 上涨/稳定 | 🟢 吸筹 | 筹码集中,庄家建仓 |
| 增加 | 下跌 | 🔴 出货 | 筹码分散,庄家派发 |
| 大幅减少 | 横盘 | 🟡 洗盘 | 震荡吸筹,准备拉升 |
示例输出
================================================================================
花园生物 (300401) 股东人数变化
================================================================================
统计截止日 股东人数 增减 增减比例(%) 区间涨跌(%) 户均市值(元)
2025-12-31 26,228 -3,695 -12.35 -2.26 313,301
2025-12-19 29,923 +1,603 +5.66 +8.03 280,970
...
【趋势分析】
最新股东人数: 26,228
最新变化: -3,695 (-12.35%)
统计期内: 减少8期, 增加8期
累计变化: -7,187 (-21.52%)
【信号判断】
🟢 吸筹信号:近期股东持续减少且股价稳定/上涨
批量筛选连续下降股票
筛选全市场股东人数连续N期下降的股票,发现潜在吸筹标的。
两阶段筛选策略
| 阶段 | 接口 | 耗时 | 说明 |
|---|---|---|---|
| 1. 初筛 | stock_zh_a_gdhs("最新") | ~5秒 | 批量获取5000+股票,筛选最近一期减少的 |
| 2. 验证 | stock_zh_a_gdhs_detail_em(code) | ~0.5秒/只 | 只查初筛通过的,验证连续N期 |
效率:全量遍历需40分钟,两阶段筛选只需 ~3分钟
使用方法
cd /Users/rjwang/fun/a-share && source .venv/bin/activate
# 默认:筛选连续3期下降,初筛减少>1%,排除上市<1年的次新股
python .github/skills/baostock-guide/scripts/screen_shareholders.py
# 筛选连续5期下降
python .github/skills/baostock-guide/scripts/screen_shareholders.py -p 5
# 调整初筛阈值(减少>2%)
python .github/skills/baostock-guide/scripts/screen_shareholders.py -m 2
# 不过滤次新股
python .github/skills/baostock-guide/scripts/screen_shareholders.py -l 0
# 只保留上市超过2年的股票
python .github/skills/baostock-guide/scripts/screen_shareholders.py -l 730
# 只验证前100只(快速测试)
python .github/skills/baostock-guide/scripts/screen_shareholders.py -n 100
# 不保存CSV
python .github/skills/baostock-guide/scripts/screen_shareholders.py --no-save
参数说明
| 参数 | 说明 | 默认值 |
|---|---|---|
-p, --periods | 连续下降期数 | 3 |
-m, --min-decrease | 初筛最小减少比例(%) | 1.0 |
-l, --min-listing-days | 最小上市天数(过滤次新股,0=不过滤) | 365 |
-n, --max-stocks | 最大验证数量 | 全部 |
--no-save | 不保存结果到CSV | 保存 |
输出文件
screened_shareholders_decrease_3periods.csv(项目根目录)
示例输出
======================================================================
阶段1: 快速初筛 - 获取最近一期股东减少的股票
======================================================================
全部股票: 5462 只
排除ST后: 5320 只
最近一期减少: 2100 只
减少比例 > 1%: 320 只
======================================================================
阶段2: 详细验证 - 检查是否连续3期下降
======================================================================
待验证: 320 只
预计耗时: 160 秒
进度: 320/320 (100%) | 已找到: 156 只
======================================================================
【连续3期股东人数下降】共 156 只
======================================================================
代码 名称 最早人数 → 最新人数 总降幅
603186 华正新材 22,942 → 17,566 -23.4%
300666 江丰电子 58,153 → 45,093 -22.5%
...
复杂任务处理
遇到批量筛选、多股票遍历、多维度分析等复杂任务时,优先使用 runSubagent,可有效降低主对话的 context 长度。
スコア
総合スコア
35/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
○言語
プログラミング言語が設定されている
0/5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です