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.