A 股通用工具 Skill
何时使用
- 处理股票代码格式转换
- 判断股票所属市场
- 计算技术指标
- 格式化输出
- 解析交易日
提供能力
代码处理
normalize_code(code)- 规范化代码 (统一 6 位)get_market(code)- 判断市场 (sh/sz/bj)is_cyb(code)- 是否创业板is_kcb(code)- 是否科创板is_bj(code)- 是否北交所is_st(name)- 是否 ST 股
日期工具
today_str()- 今天parse_date(s)- 解析日期last_n_trade_days(n)- 最近 N 个交易日date_str(dt)- 日期转字符串
技术指标 (输入: DataFrame, 输出: 增加列后的 DataFrame)
add_ma(df, [5,10,20,60])- 均线add_macd(df)- MACDadd_kdj(df)- KDJadd_rsi(df)- RSIadd_boll(df)- 布林带add_all_indicators(df)- 一次性添加所有
格式化
fmt_volume(v)- 成交量 (1.23亿)fmt_money(v)- 金额fmt_pct(v)- 百分比
使用方式
# 命令行
python main.py normalize-code sh600000
python main.py market 300750
python main.py is-cyb 300750
python main.py trade-days 5
Python API
from skills.01-infra.astock-utils.main import (
normalize_code, get_market, add_all_indicators,
fmt_volume, fmt_pct
)
code = normalize_code("sh600000") # "600000"
market = get_market("300750") # "sz"
df_with_indicators = add_all_indicators(df)
print(fmt_volume(123456789)) # "1.23亿"
依赖
pandas>=1.5.0
numpy>=1.22.0
akshare>=1.12.0 # 交易日历
