Back to skills
extension
Category: OtherNo API key required

A股择时分析

一站式A股/港股择时分析——12项梯度评分系统(含威科夫量价分析)、MA20趋势框架、ATR分档止损/梯度止盈、深度量价叙事工作流。跑分+看图+判阶段+定策略,一步到位。

personAuthor: user_1af344aehubcommunity

A股/港股择时技术分析完整框架

评分系统(梯度评分)+ 威科夫操盘法(量价分析)+ MA20框架 + ATR止损止盈 从跑数据 → 判阶段 → 定策略,一站式完成

什么时候用

  • 用户发来一个股票代码(A股/港股/ETF),要求分析是不是好买点
  • 用户要求"观察持仓",需要深度的量价叙事分析
  • 用户想了解一只票当前处于威科夫的哪个阶段(吸筹/拉升/派发/下跌)

快速开始


# 1. 跑评分
cd ~/.hermes/skills/investment/a-stock-timing-analysis
python3 scripts/timing_analysis.py 601899          # A股
python3 scripts/timing_analysis.py 03899 --hk      # 港股
python3 scripts/timing_analysis.py 515880 --etf    # ETF

# 2. 再分析K线逐根解读量价关系(见"深度分析工作流"章节)
python3 -c "脚本见下方"

## 一、数据源
### A股日K线(前复权)
腾讯API: http://web.ifzq.gtimg.cn/appstock/app/fqkline/get?param={market}{code},day,,,120,qfq 市场: 沪市=sh, 深市=sz 返回: [日期, 开盘, 收盘, 最高, 最低, 成交量(手)]
### 港股日K线
腾讯: http://web.ifzq.gtimg.cn/appstock/app/hkfqkline/get?param=hk{code},day,,,120,qfq 港股格式: [date, open, close, high, low, volume, {}, change, amount] — 比A股多3个字段 港股昨收用腾讯K线数据,不用Sina的prev_close(复权差异)
### ETF处理
ETF的腾讯API返回结构与个股不同(key为day而非qfqday),需特殊处理:
```python
data = json.loads(urllib.request.urlopen(req).read())
for key in data.get('data', {}):
    k = data['data'][key]
    if 'qfqday' in k: klines = k['qfqday']
    elif 'day' in k: klines = k['day']

实时行情

Sina (http://hq.sinajs.cn/list={market}{code}),失败时自动fallback到腾讯qt

二、评分系统(梯度评分)

基础7项满分105 + 威科夫3项40分 + 背离修正±30 = 理论最高165分

| # | 指标 | 满分 | 梯度规则 | |:-:|:----|:---:|:---------| | 1 | 趋势1:价/MA20 | 15 | ≥1.08→15 / ≥1.05→13 / ≥1.03→11 / ≥1.00→8 / ≥0.97→5 / ≥0.95→2 / <0.95→0 | | 2 | 趋势2:MA20斜率 | 10 | ≥1.5%→10 / ≥0.8%→8 / ≥0.3%→6 / ≥0%→4 / ≥-0.5%→2 / <-0.5%→0 | | 3 | MACD | 20 | 零轴上强金叉→20 / 零轴上金叉→15 / 金叉→10 / 接近金叉→5 / 死叉→0 | | 4 | 区间位置 | 20 | <30%→20 / <50%→15 / <70%→10 / <85%→5 / ≥85%→0 | | 5 | ATR收缩+稳定 | 15 | 连续收缩且无飙高→15 / 收缩→12 / 下降+稳→10 / 稳定→7 / 降但偏高→5 / 扩张→0 | | 6 | 低波(ATR%) | 10 | <3%→10 / <4%→8 / <5%→6 / <6%→4 / <7%→2 / <8%→1 / ≥8%→0 | | 7 | 涨幅安全 | 15 | 涨幅/均振<0.5→15 / <0.7→12 / <1.0→8 / <1.3→4 / ≥1.3→0 | | 8 | 量价关系(威科夫) | 15 | 量价健康→13 / 放量止跌→13 / 正常→7 / 需求枯竭→5 / 供应进场→3 / 放量滞涨→0 | | 9 | Spring弹簧(威科夫) | +15 | 弹簧出现(质量1-5)→+15 | | 10 | 回调质量(威科夫) | 10 | 缩量回调→10 / 无明显回调→5 / 放量回调→0 | | 11 | 底背离 | +20 | 有→+20 | | 12 | 顶背离 | -30 | 有→-30(一票否决) |

判断标准

| 总分 | 判定 | 威科夫含义 | |:---:|:----|:----------| | 120-165 | ✅ 强烈建议买入 | 吸筹结束+JOC突破+LPS出现 | | 90-119 | ✅ 可以买入 | 需求占优+回调健康,等LPS进场 | | 65-89 | ⏸ 关注等待 | 吸筹震荡区中,等待Spring/SOS | | 40-64 | ❌ 暂时回避 | 供应主导或阶段不明 | | <40 | ❌ 观望/空仓 | 下跌趋势,CM尚未进场 | | 出现顶背离 | ❌ 不买/减仓(优先于任何评分) |

三、威科夫操盘法完整框架

三大法则

① 供求关系:供不应求→涨,供过于求→跌,平衡→震荡 ② 因果关系:趋势反转前必须有准备过程(吸筹→牛市,派发→熊市) ③ 努力与结果:大成交量+小涨幅=停止行为;小量+小跌=供应枯竭

四阶段

吸筹(Accumulation) → 拉升(Markup) → 派发(Distribution) → 下跌(Markdown)

吸筹流程

| 步骤 | 价量特征 | 操作 | |:----|:--------|:----| | PS(初次支撑) | 放量止跌 | 观察 | | SC(恐慌抛售) | 超长阴+天量 | 开始关注 | | AR(自动反弹) | 自然反弹 | 不抄底 | | ST(二次测试) | 缩量小K线=成功 | ✅首次关注点 |

吸筹结束信号

  • 终极震仓:深度跌破所有支撑后快速收回 → Spring+15
  • Spring(弹簧):跌破支撑→快速收回+放量 → Spring+15
  • SOS(强势出现):长阳+明显放量 → 量价关系13/15
  • JOC(跳离震荡区):放量突破阻力 → 趋势1高分

LPS最安全进场点

JOC突破 → 缩量回踩到突破点 → LPS最后支撑点 → 进场

派发流程

PSY(初次供应) → BC(抢购高潮) → AR(自然回落) → 二次测试(反弹无力)

派发确认信号

  • UT(上冲回落):冲高后放量回落 = 努力无结果
  • SOW(熊市初显):放量跌破支撑
  • LPSY(最后派发点):最后一次出逃机会

Spring弹簧交易法

价格小幅跌破支撑后快速返回上方,伴随放量。 优质:小量小K线→直接进场 普通:量略扩但收回→等二次测试 危险:熊市中→不能用

实战检查清单

买入前:市场背景?吸筹/派发?ATR收缩?量价健康?Spring/底背离? 持有期:量价同步?放量阴线?缩量回调?UT/顶背离? 卖出信号:顶背离/UT/LPSY→卖出,放量回调→预警,破SOW→强制卖出

四、MA20框架核心

三种状态:

  1. 强趋势:线上+均线向上,回踩立刻收回 → 持有/上车
  2. 短期跌破:1-3天收回,无连续放量杀跌 → 正常换手
  3. 趋势破坏:连续收下方+反抽无力+均线下弯1-2周 → 行情结束

五、ATR分档止损/梯度止盈

止损

| ATR/价比 | 止损倍数 | |:---------|:--------| | < 3% | 1.5× ATR | | 3-6% | 2× ATR | | > 6% | 2.5-3× ATR |

止盈(梯度收紧)

浮盈<0%→止损倍数 / +0~10%→2.5× / +10~20%→2.0× / +20~30%→1.5× / >+30%→1.0× 公式:止盈线 = 期间最高收盘 - (ATR × 当前倍数)

六、深度分析工作流

数据准备

import urllib.request, json

def get_klines(code, market):
    url = f'http://web.ifzq.gtimg.cn/appstock/app/fqkline/get?param={market}{code},day,,,120,qfq'
    req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
    data = json.loads(urllib.request.urlopen(req, timeout=10).read())
    for key in data.get('data', {}):
        k = data['data'][key]
        if 'qfqday' in k: return k['qfqday']
        elif 'day' in k: return k['day']
    return None

vols = [float(k[5]) for k in klines[-25:]]
avg20_vol = sum(vols[-20:]) / 20
for k in klines[-20:]:
    vr = float(k[5]) / avg20_vol
    print(f'{k[0]}{k[2]}{k[5]} 量比{vr:.2f}x')```

### 量比解读
<0.5x=极度缩量 / 0.5-0.8x=缩量健康 / 0.8-1.2x=正常 / 1.2-1.5x=温和放量 / >1.5x=显著放量(SOS/SC/JOC) / >2.0x=天量

### 威科夫阶段鉴别(从右向左)
⑤当前状态→④启动信号→③底部确认→②底部吸筹→①下跌背景

### 分析报告结构
一、近期走势全景(ASCII简图)
二、关键K线解读(表格)
三、威科夫阶段判断
四、评分拆解
五、关键价位
六、综合判断

### 量价关系速查
| 模式 | 得分 | 含义 |
|:----|:---:|:----|
| 量价健康 | 13/15 | 需求主导 |
| 放量止跌 | 13/15 | 需求接盘 |
| 正常 | 7/15 | 中性 |
| 供应进场 | 3/15 ⚠️ | 主力出货 |
| 放量滞涨 | 0/15 🔴 | 顶部信号 |
| 需求枯竭 | 5/15 | 动力衰减 |

### 回调质量速查
缩量回调(<0.8x)=10/10✅ / 无明显回调=5/10 / 放量回调(>1.2x)=0/10## 七、运行脚本
```bash

python3 scripts/timing_analysis.py 601899          # A股
python3 scripts/timing_analysis.py 03899 --hk      # 港股
python3 scripts/timing_analysis.py 515880 --etf    # ETF