Skip to main content

stoch

Calculate the Stochastic Oscillator.

The Stochastic Oscillator measures where the close is in relation to the recent trading range. The values range from zero to 100. %D values over 75 indicate an overbought condition; values under 25 indicate an oversold condition. When the Fast %D crosses above the Slow %D, it is a buy signal; when it crosses below, it is a sell signal. The Raw %K is generally considered too erratic to use for crossover signals.

Examples​

from openbb import obb
# Get the Stochastic Oscillator.
stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp')
stoch_data = obb.technical.stoch(data=stock_data.results, fast_k_period=14, slow_d_period=3, slow_k_period=3)

Parameters​

NameTypeDescriptionDefaultOptional
dataList[Data]The data to use for the Stochastic Oscillator calculation.False
indexstr, optionalIndex column name to use with data, by default "date".False
fast_k_periodNonNegativeInt, optionalThe fast %K period, by default 14.False
slow_d_periodNonNegativeInt, optionalThe slow %D period, by default 3.False
slow_k_periodNonNegativeInt, optionalThe slow %K period, by default 3.False

Returns​

OBBject
results : List[Data]
The Stochastic Oscillator data.