pybroker.vect module
Contains vectorized utility functions.
- adx(high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], lookback: int) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Average Directional Movement Index.
- Parameters:
high – High prices.
low – Low prices.
close – Close prices.
lookback – Number of lookback bars.
- Returns:
numpy.ndarray
of computed values.
- aroon_diff(high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], lookback: int) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Aroon Upward Trend minus Aroon Downward Trend.
- Parameters:
high – High prices.
low – Low prices.
lookback – Number of lookback bars.
- Returns:
numpy.ndarray
of computed values.
- aroon_down(high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], lookback: int) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Aroon Downward Trend.
- Parameters:
high – High prices.
low – Low prices.
lookback – Number of lookback bars.
- Returns:
numpy.ndarray
of computed values.
- aroon_up(high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], lookback: int) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Aroon Upward Trend.
- Parameters:
high – High prices.
low – Low prices.
lookback – Number of lookback bars.
- Returns:
numpy.ndarray
of computed values.
- close_minus_ma(high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], lookback: int, atr_length: int, scale: float = 1.0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Close Minus Moving Average.
- Parameters:
close – Close prices.
high – High prices.
low – Low prices.
lookback – Number of lookback bars.
atr_length – Lookback length used for Average True Range (ATR) normalization.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
1.0
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- cross(a: ndarray[tuple[int, ...], dtype[float64]], b: ndarray[tuple[int, ...], dtype[float64]]) ndarray[tuple[int, ...], dtype[bool]] [source]
Checks for crossover of
a
aboveb
.- Parameters:
a –
numpy.ndarray
of data.b –
numpy.ndarray
of data.
- Returns:
numpy.ndarray
containing values of1
whena
crosses aboveb
, otherwise values of0
.
- cubic_deviation(values: ndarray[tuple[int, ...], dtype[float64]], lookback: int, scale: float = 0.6) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Deviation from Cubic Trend.
- Parameters:
values –
numpy.ndarray
of input.lookback – Number of lookback bars.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
0.6
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- cubic_trend(values: ndarray[tuple[int, ...], dtype[float64]], high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], lookback: int, atr_length: int, scale: float = 1.0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Cubic Trend Strength.
- Parameters:
values –
numpy.ndarray
of input.high – High prices.
low – Low prices.
close – Close prices.
lookback – Number of lookback bars.
atr_length – Lookback length used for Average True Range (ATR) normalization.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
1.0
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- delta_on_balance_volume(close: ndarray[tuple[int, ...], dtype[float64]], volume: ndarray[tuple[int, ...], dtype[float64]], lookback: int, delta_length: int = 0, scale: float = 0.6) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Delta On-Balance Volume.
- Parameters:
close – Close prices.
volume – Trading volume.
lookback – Number of lookback bars.
delta_length – Lag for differencing.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
0.6
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- detrended_rsi(values: ndarray[tuple[int, ...], dtype[float64]], short_length: int, long_length: int, reg_length: int) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Detrended Relative Strength Index (RSI).
- Parameters:
values –
numpy.ndarray
of input.short_length – Lookback for the short-term RSI.
long_length – Lookback for the long-term RSI.
reg_length – Number of bars used for linear regressions.
- Returns:
numpy.ndarray
of computed values.
- highv(array: ndarray[tuple[int, ...], dtype[float64]], n: int) ndarray[tuple[int, ...], dtype[float64]] [source]
Calculates the highest values for every
n
period inarray
.- Parameters:
array –
numpy.ndarray
of data.n – Length of period.
- Returns:
numpy.ndarray
of the highest values for everyn
period inarray
.
- intraday_intensity(high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], volume: ndarray[tuple[int, ...], dtype[float64]], lookback: int, smoothing: float = 0.0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Intraday Intensity.
- Parameters:
high – High prices.
low – Low prices.
close – Close prices.
volume – Trading volume.
lookback – Number of lookback bars.
smoothing – Amount of smoothing; <= 1 for none. Defaults to
0
.
- Returns:
numpy.ndarray
of computed values.
- inverse_normal_cdf(p: float) float [source]
Computes the inverse CDF of the standard normal distribution.
- laguerre_rsi(open: ndarray[tuple[int, ...], dtype[float64]], high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], fe_length: int = 13) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Laguerre Relative Strength Index (RSI).
- Parameters:
open – Open prices.
high – High prices.
low – Low prices.
close – Close prices.
fe_length – Fractal Energy length. Defaults to
13
.
- Returns:
numpy.ndarray
of computed values.
- linear_deviation(values: ndarray[tuple[int, ...], dtype[float64]], lookback: int, scale: float = 0.6) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Deviation from Linear Trend.
- Parameters:
values –
numpy.ndarray
of input.lookback – Number of lookback bars.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
0.6
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- linear_trend(values: ndarray[tuple[int, ...], dtype[float64]], high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], lookback: int, atr_length: int, scale: float = 1.0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Linear Trend Strength.
- Parameters:
values –
numpy.ndarray
of input.high – High prices.
low – Low prices.
close – Close prices.
lookback – Number of lookback bars.
atr_length – Lookback length used for Average True Range (ATR) normalization.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
1.0
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- lowv(array: ndarray[tuple[int, ...], dtype[float64]], n: int) ndarray[tuple[int, ...], dtype[float64]] [source]
Calculates the lowest values for every
n
period inarray
.- Parameters:
array –
numpy.ndarray
of data.n – Length of period.
- Returns:
numpy.ndarray
of the lowest values for everyn
period inarray
.
- macd(high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], short_length: int, long_length: int, smoothing: float = 0.0, scale: float = 1.0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Moving Average Convergence Divergence.
- Parameters:
high – High prices.
low – Low prices.
close – Close prices.
short_length – Short-term lookback.
long_length – Long-term lookback.
smoothing – Compute MACD minus smoothed if >= 2.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
1.0
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- money_flow(high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], volume: ndarray[tuple[int, ...], dtype[float64]], lookback: int, smoothing: float = 0.0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Chaikin’s Money Flow.
- Parameters:
high – High prices.
low – Low prices.
close – Close prices.
volume – Trading volume.
lookback – Number of lookback bars.
smoothing – Amount of smoothing; <= 1 for none. Defaults to
0
.
- Returns:
numpy.ndarray
of computed values.
- normalized_negative_volume_index(close: ndarray[tuple[int, ...], dtype[float64]], volume: ndarray[tuple[int, ...], dtype[float64]], lookback: int, scale: float = 0.5) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Normalized Negative Volume Index.
- Parameters:
close – Close prices.
volume – Trading volume.
lookback – Number of lookback bars.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
0.5
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- normalized_on_balance_volume(close: ndarray[tuple[int, ...], dtype[float64]], volume: ndarray[tuple[int, ...], dtype[float64]], lookback: int, scale: float = 0.6) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Normalized On-Balance Volume.
- Parameters:
close – Close prices.
volume – Trading volume.
lookback – Number of lookback bars.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
0.6
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- normalized_positive_volume_index(close: ndarray[tuple[int, ...], dtype[float64]], volume: ndarray[tuple[int, ...], dtype[float64]], lookback: int, scale: float = 0.5) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Normalized Positive Volume Index.
- Parameters:
close – Close prices.
volume – Trading volume.
lookback – Number of lookback bars.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
0.5
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- price_change_oscillator(high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], short_length: int, multiplier: int, scale: float = 4.0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Price Change Oscillator.
- Parameters:
high – High prices.
low – Low prices.
close – Close prices.
short_length – Number of short lookback bars.
multiplier – Multiplier used to compute number of long lookback bars =
multiplier * short_length
.scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
4.0
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- price_intensity(open: ndarray[tuple[int, ...], dtype[float64]], high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], smoothing: float = 0.0, scale: float = 0.8) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Price Intensity.
- Parameters:
open – Open prices.
high – High prices.
low – Low prices.
close – Close prices.
smoothing – Amount of smoothing. Defaults to
0
.scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
0.8
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- price_volume_fit(close: ndarray[tuple[int, ...], dtype[float64]], volume: ndarray[tuple[int, ...], dtype[float64]], lookback: int, scale: float = 9.0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Price Volume Fit.
- Parameters:
close – Close prices.
volume – Trading volume.
lookback – Number of lookback bars.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
9.0
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- quadratic_deviation(values: ndarray[tuple[int, ...], dtype[float64]], lookback: int, scale: float = 0.6) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Deviation from Quadratic Trend.
- Parameters:
values –
numpy.ndarray
of input.lookback – Number of lookback bars.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
0.6
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- quadratic_trend(values: ndarray[tuple[int, ...], dtype[float64]], high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], lookback: int, atr_length: int, scale: float = 1.0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Quadratic Trend Strength.
- Parameters:
values –
numpy.ndarray
of input.high – High prices.
low – Low prices.
close – Close prices.
lookback – Number of lookback bars.
atr_length – Lookback length used for Average True Range (ATR) normalization.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
1.0
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- reactivity(high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], volume: ndarray[tuple[int, ...], dtype[float64]], lookback: int, smoothing: float = 0.0, scale: float = 0.6) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Reactivity.
- Parameters:
high – High prices.
low – Low prices.
close – Close prices.
volume – Trading volume.
lookback – Number of lookback bars.
smoothing – Smoothing multiplier.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
0.6
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- returnv(array: ndarray[tuple[int, ...], dtype[float64]], n: int = 1) ndarray[tuple[int, ...], dtype[float64]] [source]
Calculates returns.
- Parameters:
n – Return period. Defaults to 1.
- Returns:
numpy.ndarray
of returns.
- stochastic(high: ndarray[tuple[int, ...], dtype[float64]], low: ndarray[tuple[int, ...], dtype[float64]], close: ndarray[tuple[int, ...], dtype[float64]], lookback: int, smoothing: int = 0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Stochastic.
- Parameters:
high – High prices.
low – Low prices.
close – Close prices.
lookback – Number of lookback bars.
smoothing – Number of times the raw stochastic is smoothed, either 0, 1, or 2 times. Defaults to
0
.
- Returns:
numpy.ndarray
of computed values.
- stochastic_rsi(values: ndarray[tuple[int, ...], dtype[float64]], rsi_lookback: int, sto_lookback: int, smoothing: float = 0.0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Stochastic Relative Strength Index (RSI).
- Parameters:
values –
numpy.ndarray
of input.rsi_lookback – Lookback length for RSI calculation.
sto_lookback – Lookback length for Stochastic calculation.
smoothing – Amount of smoothing; <= 1 for none. Defaults to
0
.
- Returns:
numpy.ndarray
of computed values.
- sumv(array: ndarray[tuple[int, ...], dtype[float64]], n: int) ndarray[tuple[int, ...], dtype[float64]] [source]
Calculates the sums for every
n
period inarray
.- Parameters:
array –
numpy.ndarray
of data.n – Length of period.
- Returns:
numpy.ndarray
of the sums for everyn
period inarray
.
- volume_momentum(volume: ndarray[tuple[int, ...], dtype[float64]], short_length: int, multiplier: int = 2, scale: float = 3.0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Volume Momentum.
- Parameters:
volume – Trading volume.
short_length – Number of short lookback bars.
multiplier – Lookback multiplier. Defaults to
2
.scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
3.0
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].
- volume_weighted_ma_ratio(close: ndarray[tuple[int, ...], dtype[float64]], volume: ndarray[tuple[int, ...], dtype[float64]], lookback: int, scale: float = 1.0) ndarray[tuple[int, ...], dtype[float64]] [source]
Computes Volume-Weighted Moving Average Ratio.
- Parameters:
close – Close prices.
volume – Trading volume.
lookback – Number of lookback bars.
scale – Increase > 1.0 for more compression of return values, decrease < 1.0 for less. Defaults to
1.0
.
- Returns:
numpy.ndarray
of computed values ranging [-50, 50].