AShareSkill - A股数据获取工具
name: ashareskill
by caoyachao · published 2026-03-22
$ claw add gh:caoyachao/caoyachao-ashareskill---
name: ashareskill
description: 使用BaoStock获取股票K线数据及完整技术指标的专业工具。支持单只股票或股票池查询,支持自定义时间段和K线级别(日线/周线/月线),获取的数据包含均线、MACD、KDJ、RSI、BOLL、CCI等完整技术指标。适用于:1)获取股票历史K线数据用于策略回测;2)导出完整技术指标数据用于量化分析;3)批量获取多只股票数据。支持通过股票名称(如贵州茅台)或代码(如600519)查询A股所有股票。
---
# AShareSkill - A股数据获取工具
基于BaoStock数据源的股票数据分析工具,支持获取完整K线数据及各类技术指标。
功能特点
- 均线系统:MA5, MA10, MA20, MA30, MA60, MA120, MA250
- MACD指标:DIF, DEA, MACD柱状
- KDJ指标:K值, D值, J值
- RSI指标:RSI6, RSI12, RSI24
- 布林带(BOLL):上轨, 中轨, 下轨
- CCI指标
- 成交量指标及涨跌幅数据
使用方法
1. 直接调用脚本
# 单只股票查询
python kimi/ashareskill/scripts/ashareskill.py --stock 贵州茅台 --start 2023-01-01 --end 2024-01-01 --freq d
# 股票池查询(逗号分隔)
python kimi/ashareskill/scripts/ashareskill.py --stock "贵州茅台,中国平安,宁德时代" --start 2023-01-01 --end 2024-01-01
# 使用周线数据
python kimi/ashareskill/scripts/ashareskill.py --stock 600519 --start 2022-01-01 --freq w --output mydata.csv
# 使用月线数据
python kimi/ashareskill/scripts/ashareskill.py --stock 000001 --start 2020-01-01 --freq m
# 获取指数成分股(如中证500)月线数据
python kimi/ashareskill/scripts/ashareskill.py --index 000905 --start 2024-01-01 --freq m -o zz500.csv
# 获取沪深300成分股日线数据
python kimi/ashareskill/scripts/ashareskill.py --index 000300 --start 2024-01-01 --freq d -o hs300.csv2. 参数说明
| 参数 | 简写 | 说明 | 默认值 |
|------|------|------|--------|
| `--stock` | `-s` | 股票名称或代码(多只股票用逗号分隔) | 与--index二选一 |
| `--index` | `-i` | 指数代码,获取指数成分股(000905中证500,000300沪深300等) | 与--stock二选一 |
| `--start` | | 开始日期 (YYYY-MM-DD) | 一年前 |
| `--end` | | 结束日期 (YYYY-MM-DD) | 今天 |
| `--freq` | `-f` | K线级别: d(日线), w(周线), m(月线) | d |
| `--output` | `-o` | 输出文件名 | 自动生成 |
| `--adjust` | `-a` | 复权类型: 1(前复权), 2(后复权), 3(不复权) | 3 |
3. 作为Python模块使用
from kimi.ashareskill.scripts.ashareskill import AShareSkill
# 创建实例
skill = AShareSkill()
# 获取单只股票数据
df = skill.get_kline_data(
stock_code="sh.600519", # 或 "贵州茅台"
start_date="2023-01-01",
end_date="2024-01-01",
frequency="d"
)
# 获取多只股票数据
df_pool = skill.get_stock_pool_data(
stock_list=["贵州茅台", "中国平安", "宁德时代"],
start_date="2023-01-01",
end_date="2024-01-01",
frequency="d"
)
# 保存到文件
skill.save_to_csv(df_pool, "output.csv")输出数据字段说明
| 字段名 | 说明 |
|--------|------|
| `code` | 股票代码 |
| `name` | 股票名称 |
| `date` | 交易日期 |
| `open` | 开盘价 |
| `high` | 最高价 |
| `low` | 最低价 |
| `close` | 收盘价 |
| `preclose` | 前收盘价 |
| `volume` | 成交量(股) |
| `amount` | 成交额(元) |
| `turn` | 换手率 |
| `pctChg` | 涨跌幅(%) |
| `peTTM` | 滚动市盈率 |
| `pbMRQ` | 市净率 |
| `psTTM` | 滚动市销率 |
| `pcfNcfTTM` | 滚动市现率 |
| `isST` | 是否ST股 |
| **均线指标** | |
| `ma5`, `ma10`, `ma20`, `ma30`, `ma60`, `ma120`, `ma250` | 各周期移动平均线 |
| **MACD指标** | |
| `macd_dif`, `macd_dea`, `macd` | DIF线, DEA线, MACD柱状 |
| **KDJ指标** | |
| `kdj_k`, `kdj_d`, `kdj_j` | K值, D值, J值 |
| **RSI指标** | |
| `rsi_6`, `rsi_12`, `rsi_24` | 6日/12日/24日RSI |
| **布林带** | |
| `boll_upper`, `boll_middle`, `boll_lower` | 上轨, 中轨, 下轨 |
| **CCI指标** | |
| `cci` | CCI指标值 |
依赖要求
需要安装以下Python包:
注意事项
1. 首次使用时会自动登录BaoStock并加载股票列表
2. K线级别说明:
- `d` - 日线:每个交易日一条数据
- `w` - 周线:每周一条数据(周五收盘)
- `m` - 月线:每月一条数据(月末收盘)
3. 复权类型说明:
- `1` - 前复权:保持当前价格不变,调整历史价格
- `2` - 后复权:保持历史价格不变,调整当前价格
- `3` - 不复权:原始价格
4. 技术指标说明:
- 均线需要足够的历史数据才能计算
- MA120/MA250等长期均线需要至少120/250个交易日数据
- MACD、KDJ等指标基于默认参数计算
5. 支持的指数成分股查询:
- `000905` - 中证500指数
- `000300` - 沪深300指数
- `000016` - 上证50指数
6. 批量获取大量股票数据时(如500只成分股),建议分批处理或增加超时时间
7. 数据仅供参考,不构成投资建议
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...