You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

talib.PLUS_DM返回值为何超出[0,100]且对数值缩放敏感?

为何talib.PLUS_DM返回值超出[0,100]范围且对数值缩放敏感?

关于返回值超出[0,100]的问题

你混淆了PLUS_DM和PLUS_DI的概念:

  • PLUS_DM是「正向动向值」,计算的是价格上涨方向的绝对波动幅度,本身没有归一化步骤,所以数值会随着标的价格的量级变化,完全可能超出0-100的范围。
  • 而你印象中在0-100之间的是PLUS_DI(正向方向指数),它的计算逻辑是PLUS_DI = (PLUS_DM / ATR) * 100,通过除以真实波幅(ATR)做了归一化,才会被限制在0-100区间内。

关于数值缩放敏感的问题

PLUS_DM的核心计算依赖价格的绝对差值:

  1. 首先计算相邻周期的「正向动向」:如果当前高点与前一高点的差值,大于前一低点与当前低点的差值,且该差值为正,就取这个差值作为当期的+DM,否则为0。
  2. 之后再对这些+DM值做指定周期的平滑处理(比如移动平均)。

整个过程都是基于价格的绝对变化量,而非相对比例(比如涨跌幅)。当你把所有价格除以10000时,相邻周期的高低点差值也会同步除以10000,最终的PLUS_DM结果自然也会按相同比例缩小,不存在所谓的「比例抵消」——因为它从设计上就是反映绝对波动的指标,而非相对波动。

复现代码及结果

import numpy as np
import talib

highs= np.array([39050.0, 39050.0, 39100.0, 39100.0, 39050.0, 39061.0, 39090.0, 39100.0, 39100.0, 39050.0, 39100.0, 39100.0, 39050.0, 39050.0, 39150.0, 39200.0, 39175.0, 39200.0, 39200.0, 39200.0, 39200.0,])
lows = np.array([39000.0, 39000.0, 39000.0, 39000.0, 39000.0, 39000.0, 39000.0, 39000.0, 39050.0, 39000.0, 39050.0, 39000.0, 39000.0, 39000.0, 39000.0, 39100.0, 39100.0, 39100.0, 39100.0, 39100.0, 39100.0,])

span =14
dmip = talib.PLUS_DM(highs, lows, span)

# 输出结果
>>> dmip
array([         nan,          nan,          nan,          nan,
                nan,          nan,          nan,          nan,
                nan,          nan,          nan,          nan,
                nan, 150.        , 239.28571429, 272.19387755,
       252.75145773, 259.69778217, 241.14794059, 223.92308769,
       207.92858143])

# 缩放价格后重新计算
highs = highs/10000
lows = lows/10000

dmip = talib.PLUS_DM(highs, lows, span)

# 输出结果
>>> dmip
array([       nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan, 0.015     , 0.02392857,
       0.02721939, 0.02527515, 0.02596978, 0.02411479, 0.02239231,
       0.02079286])

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 03:25:00