56个技术指标,涵盖7大分类。本工具仅提供技术指标的数值计算结果,不包含任何买卖信号、多空判断或投资建议。
数据来源:AmazingData API(中国银河证券金融数据接口)
本工具仅提供技术指标的客观计算结果,不构成任何投资建议。所有技术指标的计算结果仅供研究参考,用户应自行判断并承担投资风险。
使用本技能前,安装python运行环境(推荐python3.8/3.9/3.10/3.11/3.12/3.13环境),并安装AmazingData依赖包。
从https://gitee.com/cgs2026/xysz/tree/master/xysz/xysz_tools下载tgw和AmazingData的安装包。
先clone整个项目,再用wheel文件安装tgw和AmazingData。
pip install tgw>=1.0.8.7
pip install AmazingData>=1.1.4
使用本技能前,用户必须先设置以下环境变量(AmazingData 登录信息):
# Windows CMD
set AD_USERNAME=your_username
set AD_PASSWORD=your_password
set AD_HOST=server_ip
set AD_PORT=8600
# Windows PowerShell
$env:AD_USERNAME="your_username"
$env:AD_PASSWORD="your_password"
$env:AD_HOST="server_ip"
$env:AD_PORT="8600"
如果用户未设置环境变量,脚本会报错提示缺少哪些变量。请引导用户先完成环境变量配置。
通过 Bash 工具调用 scripts/run_technical_analysis.py 脚本(完全自包含,无外部依赖):
# 综合分析(所有指标)
D:/ProgramData/anaconda313/python.exe D:/WealthManager/WealthManager/ad_skills/ad_technical_analysis/scripts/run_technical_analysis.py 600***.SH
# 指定日期范围
D:/ProgramData/anaconda313/python.exe D:/WealthManager/WealthManager/ad_skills/ad_technical_analysis/scripts/run_technical_analysis.py 600***.SH --begin 20240101 --end 20260321
# 单指标分析
D:/ProgramData/anaconda313/python.exe D:/WealthManager/WealthManager/ad_skills/ad_technical_analysis/scripts/run_technical_analysis.py 600***.SH --indicator MACD
# 指定指标类别
D:/ProgramData/anaconda313/python.exe D:/WealthManager/WealthManager/ad_skills/ad_technical_analysis/scripts/run_technical_analysis.py 600***.SH --category overbought_oversold
| category | 中文名 | 指标数 |
|----------|--------|--------|
| overbought_oversold | 超买超卖型 | 14 |
| trend | 趋势型 | 14 |
| energy | 能量型 | 5 |
| volume | 成交量型 | 10 |
| ma | 均线型 | 4 |
| path | 路径型 | 6 |
| other | 其他型 | 4 |
所有指标名称均支持大小写:KDJ, RSI, WR, CCI, ROC, MTM, BIAS, SKDJ, MFI, OSC, UDL, ACCER, RCCD, MARSI, MACD, DMI, DMA, TRIX, ARBR, EMV, DPO, VHF, CHO, DBCD, DDI, JS, QACD, UOS, CR, PSY, MASS, PCNT, WAD, OBV, VR, VOLMA, WVAD, VOSC, VRSI, VSTD, AMO, TAPI, MA, EXPMA, BBI, AMV, BOLL, ENE, MIKE, PBX, XS, BBIBOLL, ASI, ATR, SAR, CDP
{
"code": "60****.SH",
"date": "2026-03-21",
"data_count": 500,
"price": {"open": 0, "high": 0, "low": 0, "close": 0, "volume": 0, "amount": 0},
"categories": {
"overbought_oversold": {
"name": "一、超买超卖型",
"indicators": [
{"name": "KDJ", "values": {"K": 0, "D": 0, "J": 0}},
{"name": "RSI", "values": {"RSI6": 0, "RSI12": 0}},
...
]
},
...
}
}
{
"code": "60****.SH",
"date": "2026-03-21",
"price": {"open": 0, "high": 0, "low": 0, "close": 0, "volume": 0, "amount": 0},
"indicator": {
"name": "MACD",
"values": {"DIF": 0, "DEA": 0, "MACD": 0}
},
"category": "二、趋势型"
}
本技能支持计算以下7大类共57个技术指标:
KDJ、RSI、WR、CCI、ROC、MTM、BIAS、SKDJ、MFI、OSC、UDL、ACCER、RCCD、MARSI
MACD、DMI、DMA、TRIX、ARBR、EMV、DPO、VHF、CHO、DBCD、DDI、JS、QACD、UOS
CR、PSY、MASS、PCNT、WAD
OBV、VR、VOLMA、WVAD、VOSC、VRSI、VSTD、AMO、TAPI
MA、EXPMA、BBI、AMV
BOLL、ENE、MIKE、PBX、XS、BBIBOLL
ASI、ATR、SAR、CDP
详细的技术指标公式和实现细节请参考脚本源码。
| 函数 | 功能 | 说明 |
|------|------|------|
| is_stock(code) | 判断是否为A股股票 | SH市场首位6,SZ市场首位0或3,代码6位数字 |
| forward_adjust(df, backward_factor, code) | 前复权处理 | price_adj = price_raw * backward_factor / latest_factor,仅调整OHLC |
| 数据 | API函数 | 用途 |
|------|---------|------|
| 交易日历 | base_data.get_calendar() | MarketData 初始化 |
| K线行情 | market_data.query_kline(code_list, begin_date, end_date, period=day) | OHLCV 数据 |
| 后复权因子 | base_data.get_backward_factor(code_list, is_local=False) | 前复权计算(仅股票) |
| 字段 | 含义 | 用途 |
|------|------|------|
| close | 收盘价 | 所有指标 |
| open | 开盘价 | ARBR, WVAD, ASI |
| high | 最高价 | KDJ, WR, CCI, SKDJ, MFI, DMI, EMV, CHO, DDI, MASS, WAD, MIKE, XS, ATR, SAR, CDP 等 |
| low | 最低价 | 同上 |
| volume | 成交量 | MFI, EMV, CHO, OBV, VR, VOLMA, WVAD, VOSC, VRSI, VSTD, AMV |
| amount | 成交额 | AMO, TAPI, AMV |
| kline_time | K线日期 | 日期展示、前复权对齐 |
脚本依赖 AmazingData 内置算子函数库:
| 模块 | 函数 | 说明 |
|------|------|------|
| MathFunction | MAX, MIN, ABS, IF, SIGN | 基础数学运算,支持 Series 间逐元素操作 |
| StatisticsFunction | STD, AVEDEV | 滚动标准差、平均绝对偏差 |
| TimeSeriesFunction | MA, EMA, SMA, REF, HHV, LLV, SUM, COUNT, CUMSUM, TR, SAR | 时间序列函数:移动平均、指数平均、历史引用、滚动最高/最低、累计求和等 |
对于股票代码(SH市场首位6,SZ市场首位0或3),自动进行前复权处理:
get_backward_factor)
kline_time 对齐复权因子(reindex + ffill)
ad_technical_analysis/
├── SKILL.md # 本技能说明文档
├── references/
│ └── 技术指标说明.md # 57个技术指标的详细公式与说明
└── scripts/
└── run_technical_analysis.py # 分析脚本(完全自包含)
scripts/run_technical_analysis.py 包含:
TechnicalIndicators 类:57个静态方法,输入 pandas Series (OHLCV),输出 dict of Series
is_stock(code) / forward_adjust(df, backward_factor, code):股票判断与前复权
run_analysis(code, begin_date, end_date, indicator, category):主分析逻辑,计算技术指标
main():CLI 入口,支持 --begin, --end, --indicator, --category 参数
共 6 个版本