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

data: list[openbb_core.provider.abstract.data.Data]
The data to use for the Stochastic Oscillator calculation.

index: str
Default: date
Index column name to use with data, by default 'date'.

fast_k_period: int
Default: 14
The fast %K period, by default 14.

slow_d_period: int
Default: 3
The slow %D period, by default 3.

slow_k_period: int
Default: 3
The slow %K period, by default 3.


Returns

results: list[Data]

Serializable results.

provider: None

Provider name.

warnings: Optional[list[Warning_]]

list of warnings.

chart: Optional[Chart]

Chart object.

extra: dict[str, Any]

Extra info.