股票交易对比分析技能
概述
本技能用于查询多只股票的交易成交数据(含逐笔成交),进行七维度横向对比分析,生成量化评分和具体操作建议。
数据来源:
- westock-data:实时行情、资金流向、技术指标、K线、筹码分布、龙虎榜、大宗交易
- AKShare(stock_zh_a_tick_tx_js):A 股逐笔成交数据(成交时间、价格、成交量、买卖方向)
核心铁律
- 数据源规范:行情数据通过
westock-data命令获取;逐笔成交数据通过 AKShare 获取。禁止凭记忆作答。 - 未知代码先 search:用户给股票名称未给代码时,必须先
westock-data search <名称>获取代码。 - 批量查询:多股票对比时,能用逗号分隔批量查询的命令必须批量。
- 逐笔数据仅限 A 股:AKShare 的
stock_zh_a_tick_tx_js仅支持沪深 A 股,港股/美股无逐笔数据,该维度权重自动降为 0 并重新分配。 - 风险提示必带:每份操作建议末尾必须附加标准风险提示语。
依赖安装
本技能的逐笔成交功能依赖 akshare 库。执行前需确认已安装:
# 使用 managed Python venv 安装
"C:\Users\11698\.workbuddy\binaries\python\envs\default\Scripts\pip.exe" install akshare
若未安装 akshare,技能仍可运行(跳过逐笔维度,按六维度评分)。
工作流程
第一步:解析股票清单
- 从用户输入中提取待对比的股票列表(名称或代码)。
- 对未给代码的股票,逐个执行
westock-data search <名称>获取代码。 - 确认所有股票代码格式正确(如 sh600519、sz000001、hk00700)。
- 若用户未指定分析日期,默认使用当天。
第二步:批量采集交易数据
按以下顺序采集每只股票的交易数据,能批量的尽量批量:
2.1 实时行情快照
westock-data quote <代码1>,<代码2>,<代码3>
2.2 资金流向
westock-data fund flow <代码1>,<代码2>,<代码3>
2.3 技术指标
westock-data technical <代码1>,<代码2>,<代码3> --group macd,kdj,rsi,boll,ma
2.4 分时数据
westock-data minute <代码1> --days 5
westock-data minute <代码2> --days 5
2.5 K线趋势
westock-data kline <代码1>,<代码2>,<代码3> --period day --limit 20
2.6 筹码分布(仅沪深A股)
westock-data chip <代码1>,<代码2>,<代码3>
2.7 机构行为数据
westock-data lhb --type institution,hotmoney --date <日期>
westock-data fund block <代码1>,<代码2>,<代码3>
2.8 逐笔成交数据(AKShare)
逐笔成交数据通过分析脚本的 --fetch-tick 参数自动获取,无需手动调用命令。
在汇总好其他维度的 JSON 数据后,执行:
python trade_analysis.py --input data.json --fetch-tick --output report.md
脚本会自动:
1. 遍历 JSON 中每只沪深 A 股
2. 调用 akshare.stock_zh_a_tick_tx_js(symbol=代码) 获取当日逐笔成交
3. 计算统计指标(主动买卖比、大单频率、成交密度、尾盘行为等)
4. 将 tick 数据写回 JSON 并进行七维度评分
逐笔数据字段说明:
| 字段 | 说明 |
|---|---|
| total_trades | 总成交笔数 |
| buy_trades / sell_trades / neutral_trades | 买盘/卖盘/中性盘笔数 |
| buy_volume / sell_volume | 买盘/卖盘成交量(手) |
| large_trades | 大单笔数(≥500手) |
| large_buy / large_sell | 大单买入/卖出笔数 |
| large_amount | 大单成交金额 |
| tail_trades | 尾盘(14:50后)成交笔数 |
| tail_buy_ratio | 尾盘买盘占比 |
| avg_interval | 平均成交间隔(秒) |
| max_trade_volume | 单笔最大成交量(手) |
| samples | 前20笔成交样本 |
第三步:七维度评分
按照 references/analysis-framework.md 中定义的评分规则,对每只股票的七个维度逐一评分:
| 维度 | 权重 | 数据来源 |
|---|---|---|
| 资金面 | 20% | fund flow |
| 技术面 | 20% | technical |
| 逐笔成交 | 15% | AKShare 逐笔数据 |
| 交易活跃度 | 10% | minute + quote |
| 机构行为 | 15% | lhb + fund block |
| 筹码分布 | 10% | chip |
| 价格趋势 | 10% | kline |
第四步:生成对比分析
- 计算每只股票的加权综合得分。
- 按综合得分从高到低排名。
- 标注每只股票的优势维度和劣势维度。
- 生成逐笔成交对比表。
- 生成对比总表。
第五步:生成操作建议
按照 references/recommendation-rules.md 中定义的规则:
- 根据综合得分确定建议级别(强烈买入/买入/持有/减仓/强烈卖出)。
- 根据多维度共振情况调整建议强度。
- 为每只股票生成具体操作建议。
- 生成多股票组合建议。
- 附加风险提示。
第六步:输出报告
生成包含以下内容的分析报告:
- 对比总览表:所有股票的综合排名和评级。
- 七维度评分对比:含逐笔成交维度。
- 逐笔成交数据对比:主动买卖比、大单方向、尾盘行为等。
- 逐股分析:每只股票的详细分析、逐笔样本和操作建议。
- 组合建议:多股票配置建议。
- 风险提示:标准风险免责声明。
使用示例
示例 1:对比三只白酒股(含逐笔成交)
用户输入:"对比贵州茅台、五粮液、山西汾酒的成交数据,给出操作建议"
执行步骤:
1. search 获取代码:sh600519、sz000858、sh600809
2. 批量采集:quote、fund flow、technical、kline、chip
3. 逐只采集:minute
4. 查询龙虎榜 + 大宗交易
5. 汇总为 JSON,执行 python trade_analysis.py --input data.json --fetch-tick --output report.md
6. 脚本自动获取逐笔数据 → 七维评分 → 对比排名 → 操作建议
示例 2:港股对比(无逐笔数据)
用户输入:"对比腾讯和美团的成交数据"
执行步骤:
1. search 获取代码:hk00700、hk03690
2. 采集数据(港股无 chip/lhb/block/tick,相应维度降级)
3. 权重重新分配到可用维度
4. 生成建议
资源文件说明
references/
- analysis-framework.md — 七维度分析框架、评分规则、指标定义。
- recommendation-rules.md — 操作建议五级体系、场景化建议模板、风险控制规则。
scripts/
- trade_analysis.py — 数据聚合与评分脚本。支持
--fetch-tick自动获取逐笔成交数据。
assets/
- report-template.html — HTML 可视化报告模板。
市场限制速查
| 功能 | 沪深A股 | 港股 | 美股 |
|---|---|---|---|
| 实时行情 quote | ✅ | ✅ | ✅ |
| K线 kline | ✅ | ✅ | ✅ |
| 分时 minute | ✅ | ✅ | ✅ |
| 技术指标 technical | ✅ | ✅ | ✅ |
| 资金流向 fund flow | ✅ | ✅ | ❌ |
| 筹码分布 chip | ✅ | ❌ | ❌ |
| 龙虎榜 lhb | ✅ | ❌ | ❌ |
| 大宗交易 fund block | ✅ | ❌ | ❌ |
| 融资融券 fund margin | ✅ | ❌ | ❌ |
| 逐笔成交(AKShare) | ✅ | ❌ | ❌ |
当某维度不可用时,将该维度权重设为 0 并按比例分配到其他维度,在报告中明确标注数据缺失原因。