2. 尾段回落幅度量化:从最高点到收盘价的回撤计算
量化对象与计算口径
尾段回落幅度衡量的是“尾段最高点之后,价格最终收在哪里”。本节以单个竞价交易日为对象,取尾段窗口(示例取 14:30 之后)内的最高成交价 H_tail 与当日收盘价 C,计算回撤百分比:
Drawdown% = (H_tail − C) / H_tail × 100%
同时并列输出两个辅助指标,避免单看回撤幅度产生误判:
- 当日振幅:
Amplitude% = (H_day − L_day) / PrevClose × 100%,用于判断回撤在当日整体波动中的相对分量。 - 尾段成交量占比:
VolShare% = V_tail / V_day × 100%,用于判断回落是否有量能配合。
口径约定:
H_tail 取尾段窗口内最高价;若尾段最高价出现在窗口起点之前,则回撤应改用全日最高价,并在输出中标注来源字段,避免口径漂移。计算过程与示例数据
以下为教学示例数据(非实测),用于演示计算路径。假设某标的上一交易日收盘价 PrevClose = 20.00 元:
| 字段 | 含义 | 示例值 |
|---|---|---|
| H_day | 全日最高价 | 21.10 |
| L_day | 全日最低价 | 19.86 |
| H_tail | 14:30 后最高价 | 20.80 |
| C | 收盘价 | 20.00 |
| V_tail | 14:30 后成交量 | 1.84 万手 |
| V_day | 全日成交量 | 10.00 万手 |
代入公式:
- 回撤幅度 = (20.80 − 20.00) / 20.80 × 100% ≈ 3.85%
- 当日振幅 = (21.10 − 19.86) / 20.00 × 100% = 6.20%
- 尾段量能占比 = 1.84 / 10.00 × 100% = 18.4%
解读:回撤 3.85% 约占当日振幅 6.20% 的 62%,说明尾段回落吃掉了当日大部分波动区间;同时尾段量能占比 18.4% 高于尾段时长占比(30 分钟 / 240 分钟 = 12.5%),属于放量回落形态,回落强度描述应偏强。
可执行计算脚本
将上述口径固化为函数,输入单日行情字段即可输出三项指标与强度标签:
def tail_drawdown(h_tail, close, h_day, l_day, prev_close, v_tail, v_day):
if h_tail <= 0 or prev_close <= 0 or v_day <= 0:
raise ValueError("价格与成交量必须为正数")
if not (l_day <= close <= h_day):
raise ValueError("收盘价应落在当日最低与最高之间")
drawdown = (h_tail - close) / h_tail * 100
amplitude = (h_day - l_day) / prev_close * 100
vol_share = v_tail / v_day * 100
# 回撤占振幅比重:衡量回落对当日波动的吞噬程度
ratio = drawdown / amplitude * 100 if amplitude > 0 else 0.0
if drawdown < 1.0:
level = "弱回落"
elif drawdown < 3.0:
level = "中等回落"
else:
level = "强回落"
return {
"drawdown_pct": round(drawdown, 2),
"amplitude_pct": round(amplitude, 2),
"vol_share_pct": round(vol_share, 2),
"drawdown_to_amplitude_pct": round(ratio, 2),
"level": level,
}
print(tail_drawdown(20.80, 20.00, 21.10, 19.86, 20.00, 1.84, 10.00))
# {'drawdown_pct': 3.85, 'amplitude_pct': 6.2, 'vol_share_pct': 18.4,
# 'drawdown_to_amplitude_pct': 62.1, 'level': '强回落'}
脚本中的校验分支用于拦截脏数据:收盘价越界、成交量或价格非正时直接报错,避免把异常值算成“极端回落”。阈值 1% / 3% 为示例分档,实际使用时应按标的波动特征校准。
结果判读与验证
- 回撤幅度回答“尾段跌了多少”,是强度主指标。
- 回撤/振幅比回答“这次回落是否吃掉了当日主要波动”,比值越高说明回落越具主导性。
- 尾段量能占比回答“回落是否有量”,与尾段时长占比对比可区分放量与缩量。
验证要点:手工复算时先确认
H_tail 是否确实落在尾段窗口内;若尾段最高价等于全日最高价,回撤幅度与“全日最高到收盘”的回撤一致,需在输出中注明,防止与全日回撤指标混用。通过条件:三项指标均可由给定字段直接推出且与脚本输出一致;强度标签与回撤/振幅比、量能占比的联合判断方向不矛盾,即视为单日回落强度描述成立。