pybroker.vect 模块

包含向量化工具函数。

adx(high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], lookback: int) NDArray[float64][源代码]

计算平均动向指数(Average Directional Movement Index,ADX)。

参数:
  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • lookback -- 回溯 K 线数量。

返回:

计算结果组成的 numpy.ndarray

aroon_diff(high: NDArray[float64], low: NDArray[float64], lookback: int) NDArray[float64][源代码]

计算 Aroon 上升趋势指标减去 Aroon 下降趋势指标。

参数:
  • high -- 最高价。

  • low -- 最低价。

  • lookback -- 回溯 K 线数量。

返回:

计算结果组成的 numpy.ndarray

aroon_down(high: NDArray[float64], low: NDArray[float64], lookback: int) NDArray[float64][源代码]

计算 Aroon 下降趋势指标。

参数:
  • high -- 最高价。

  • low -- 最低价。

  • lookback -- 回溯 K 线数量。

返回:

计算结果组成的 numpy.ndarray

aroon_up(high: NDArray[float64], low: NDArray[float64], lookback: int) NDArray[float64][源代码]

计算 Aroon 上升趋势指标。

参数:
  • high -- 最高价。

  • low -- 最低价。

  • lookback -- 回溯 K 线数量。

返回:

计算结果组成的 numpy.ndarray

atr(high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], lookback: int) NDArray[float64][源代码]

计算平均真实波幅(Average True Range,ATR)。

真实波幅取 high - lowabs(high - previous close)abs(low - previous close) 三者中的最大值。

参数:
  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • lookback -- 回溯 K 线数量。

返回:

由真实波幅的 lookback 根 K 线均值组成的 numpy.ndarray。前 lookback 个值为 NaN,因为第一根 K 线的真实波幅没有前一根 K 线的收盘价可供参考。

close_minus_ma(high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], lookback: int, atr_length: int, scale: float = 1.0) NDArray[float64][源代码]

计算收盘价减去移动平均线(Close Minus Moving Average)。

参数:
  • close -- 收盘价。

  • high -- 最高价。

  • low -- 最低价。

  • lookback -- 回溯 K 线数量。

  • atr_length -- 用于平均真实波幅(ATR)归一化的回溯长度。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 1.0

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

cross(a: NDArray[float64], b: NDArray[float64]) NDArray[bool][源代码]

检测 a 上穿 b 的交叉。

参数:
返回:

a 上穿 b 时取值为 1,否则取值为 0numpy.ndarray

cubic_deviation(values: NDArray[float64], lookback: int, scale: float = 0.6) NDArray[float64][源代码]

计算相对三次趋势的偏离度(Deviation from Cubic Trend)。

参数:
  • values -- 输入组成的 numpy.ndarray

  • lookback -- 回溯 K 线数量。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 0.6

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

cubic_trend(values: NDArray[float64], high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], lookback: int, atr_length: int, scale: float = 1.0) NDArray[float64][源代码]

计算三次趋势强度(Cubic Trend Strength)。

参数:
  • values -- 输入组成的 numpy.ndarray

  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • lookback -- 回溯 K 线数量。

  • atr_length -- 用于平均真实波幅(ATR)归一化的回溯长度。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 1.0

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

delta_on_balance_volume(close: NDArray[float64], volume: NDArray[float64], lookback: int, delta_length: int = 0, scale: float = 0.6) NDArray[float64][源代码]

计算能量潮变化量(Delta On-Balance Volume)。

参数:
  • close -- 收盘价。

  • volume -- 成交量。

  • lookback -- 回溯 K 线数量。

  • delta_length -- 差分所使用的滞后期。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 0.6

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

detrended_rsi(values: NDArray[float64], short_length: int, long_length: int, reg_length: int) NDArray[float64][源代码]

计算去趋势相对强弱指数(Detrended RSI)。

参数:
  • values -- 输入组成的 numpy.ndarray

  • short_length -- 短期 RSI 的回溯长度。

  • long_length -- 长期 RSI 的回溯长度。

  • reg_length -- 用于线性回归的 K 线数量。

返回:

计算结果组成的 numpy.ndarray

highv(array: NDArray[float64], n: int) NDArray[float64][源代码]

计算 array 中每 n 个周期的最高值。

参数:
返回:

array 中每 n 个周期最高值组成的 numpy.ndarray

intraday_intensity(high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], volume: NDArray[float64], lookback: int, smoothing: float = 0.0) NDArray[float64][源代码]

计算日内强度(Intraday Intensity)。

参数:
  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • volume -- 成交量。

  • lookback -- 回溯 K 线数量。

  • smoothing -- 平滑量;<= 1 表示不平滑。默认为 0

返回:

计算结果组成的 numpy.ndarray

inverse_normal_cdf(p: float) float[源代码]

计算标准正态分布的逆累积分布函数(inverse CDF)。

laguerre_rsi(open: NDArray[float64], high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], fe_length: int = 13) NDArray[float64][源代码]

计算拉盖尔相对强弱指数(Laguerre RSI)。

参数:
  • open -- 开盘价。

  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • fe_length -- 分形能量(Fractal Energy)长度。默认为 13

返回:

计算结果组成的 numpy.ndarray

linear_deviation(values: NDArray[float64], lookback: int, scale: float = 0.6) NDArray[float64][源代码]

计算相对线性趋势的偏离度(Deviation from Linear Trend)。

参数:
  • values -- 输入组成的 numpy.ndarray

  • lookback -- 回溯 K 线数量。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 0.6

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

linear_trend(values: NDArray[float64], high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], lookback: int, atr_length: int, scale: float = 1.0) NDArray[float64][源代码]

计算线性趋势强度(Linear Trend Strength)。

参数:
  • values -- 输入组成的 numpy.ndarray

  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • lookback -- 回溯 K 线数量。

  • atr_length -- 用于平均真实波幅(ATR)归一化的回溯长度。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 1.0

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

lowv(array: NDArray[float64], n: int) NDArray[float64][源代码]

计算 array 中每 n 个周期的最低值。

参数:
返回:

array 中每 n 个周期最低值组成的 numpy.ndarray

macd(high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], short_length: int, long_length: int, smoothing: float = 0.0, scale: float = 1.0) NDArray[float64][源代码]

计算指数平滑异同移动平均线(Moving Average Convergence Divergence,MACD)。

参数:
  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • short_length -- 短期回溯长度。

  • long_length -- 长期回溯长度。

  • smoothing -- 计算 MACD 减去其平滑值(当参数 >= 2 时)。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 1.0

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

money_flow(high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], volume: NDArray[float64], lookback: int, smoothing: float = 0.0) NDArray[float64][源代码]

计算佳庆资金流量指标(Chaikin's Money Flow)。

参数:
  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • volume -- 成交量。

  • lookback -- 回溯 K 线数量。

  • smoothing -- 平滑量;<= 1 表示不平滑。默认为 0

返回:

计算结果组成的 numpy.ndarray

normal_cdf(z: float) float[源代码]

计算标准正态分布的累积分布函数(CDF)。

normalized_negative_volume_index(close: NDArray[float64], volume: NDArray[float64], lookback: int, scale: float = 0.5) NDArray[float64][源代码]

计算归一化负成交量指标(Normalized Negative Volume Index)。

参数:
  • close -- 收盘价。

  • volume -- 成交量。

  • lookback -- 回溯 K 线数量。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 0.5

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

normalized_on_balance_volume(close: NDArray[float64], volume: NDArray[float64], lookback: int, scale: float = 0.6) NDArray[float64][源代码]

计算归一化能量潮指标(Normalized On-Balance Volume)。

参数:
  • close -- 收盘价。

  • volume -- 成交量。

  • lookback -- 回溯 K 线数量。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 0.6

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

normalized_positive_volume_index(close: NDArray[float64], volume: NDArray[float64], lookback: int, scale: float = 0.5) NDArray[float64][源代码]

计算归一化正成交量指标(Normalized Positive Volume Index)。

参数:
  • close -- 收盘价。

  • volume -- 成交量。

  • lookback -- 回溯 K 线数量。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 0.5

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

price_change_oscillator(high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], short_length: int, multiplier: int, scale: float = 4.0) NDArray[float64][源代码]

计算价格变化振荡指标(Price Change Oscillator)。

参数:
  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • short_length -- 短期回溯 K 线数量。

  • multiplier -- 用于计算长期回溯 K 线数量的乘数:长期回溯长度 = multiplier * short_length

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 4.0

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

price_intensity(open: NDArray[float64], high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], smoothing: float = 0.0, scale: float = 0.8) NDArray[float64][源代码]

计算价格强度(Price Intensity)。

参数:
  • open -- 开盘价。

  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • smoothing -- 平滑量。默认为 0

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 0.8

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

price_volume_fit(close: NDArray[float64], volume: NDArray[float64], lookback: int, scale: float = 9.0) NDArray[float64][源代码]

计算价量拟合指标(Price Volume Fit)。

参数:
  • close -- 收盘价。

  • volume -- 成交量。

  • lookback -- 回溯 K 线数量。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 9.0

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

quadratic_deviation(values: NDArray[float64], lookback: int, scale: float = 0.6) NDArray[float64][源代码]

计算相对二次趋势的偏离度(Deviation from Quadratic Trend)。

参数:
  • values -- 输入组成的 numpy.ndarray

  • lookback -- 回溯 K 线数量。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 0.6

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

quadratic_trend(values: NDArray[float64], high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], lookback: int, atr_length: int, scale: float = 1.0) NDArray[float64][源代码]

计算二次趋势强度(Quadratic Trend Strength)。

参数:
  • values -- 输入组成的 numpy.ndarray

  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • lookback -- 回溯 K 线数量。

  • atr_length -- 用于平均真实波幅(ATR)归一化的回溯长度。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 1.0

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

reactivity(high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], volume: NDArray[float64], lookback: int, smoothing: float = 1.0, scale: float = 0.6) NDArray[float64][源代码]

计算反应性指标(Reactivity)。

参数:
  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • volume -- 成交量。

  • lookback -- 回溯 K 线数量。

  • smoothing -- 平滑乘数。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 0.6

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

returnv(array: NDArray[float64], n: int = 1, use_log: bool = False) NDArray[float64][源代码]

计算收益率。

参数:
  • array -- 数据组成的 numpy.ndarray

  • n -- 收益率计算周期。默认为 1。

  • use_log -- 是否计算对数收益率(log(array[i] / array[i - n])),而非算术收益率。默认为 False

返回:

收益率组成的 numpy.ndarray

stochastic(high: NDArray[float64], low: NDArray[float64], close: NDArray[float64], lookback: int, smoothing: int = 0) NDArray[float64][源代码]

计算随机指标(Stochastic,KD)。

参数:
  • high -- 最高价。

  • low -- 最低价。

  • close -- 收盘价。

  • lookback -- 回溯 K 线数量。

  • smoothing -- 原始随机值被平滑的次数,为 0、1 或 2 次。默认为 0

返回:

计算结果组成的 numpy.ndarray

stochastic_rsi(values: NDArray[float64], rsi_lookback: int, sto_lookback: int, smoothing: float = 0.0) NDArray[float64][源代码]

计算随机相对强弱指数(Stochastic RSI)。

参数:
  • values -- 输入组成的 numpy.ndarray

  • rsi_lookback -- RSI 计算的回溯长度。

  • sto_lookback -- 随机指标(Stochastic)计算的回溯长度。

  • smoothing -- 平滑量;<= 1 表示不平滑。默认为 0

返回:

计算结果组成的 numpy.ndarray

sumv(array: NDArray[float64], n: int) NDArray[float64][源代码]

计算 array 中每 n 个周期的总和。

参数:
返回:

array 中每 n 个周期总和组成的 numpy.ndarray

volume_momentum(volume: NDArray[float64], short_length: int, multiplier: int = 2, scale: float = 3.0) NDArray[float64][源代码]

计算成交量动量(Volume Momentum)。

参数:
  • volume -- 成交量。

  • short_length -- 短期回溯 K 线数量。

  • multiplier -- 回溯乘数。默认为 2

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 3.0

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。

volume_weighted_ma_ratio(close: NDArray[float64], volume: NDArray[float64], lookback: int, scale: float = 1.0) NDArray[float64][源代码]

计算成交量加权移动平均比率(Volume-Weighted Moving Average Ratio)。

参数:
  • close -- 收盘价。

  • volume -- 成交量。

  • lookback -- 回溯 K 线数量。

  • scale -- 大于 1.0 会使返回值被压缩得更多,小于 1.0 则压缩得更少。默认为 1.0

返回:

计算结果组成的 numpy.ndarray,取值范围为 [-50, 50]。