Slow Stochastic Oscillator


Slow Stochastic Oscillator Strategy is build to gain profit on buying / selling shares in a specific market conditions. This strategy is driven by some function (will be define later) of the following indicator which is parametrized by t \geq d

K_t = \frac{Close_t - Low_t^d}{High_t^d - Low_t^d}

where d equals Number of Periods. Moreover, Close_t is a closing price in a period t and the value of Low_t^d~(High_t^d) is the lowest (the highest) price from the last d periods.

On a base of a K_t we can compute its smoothed version:

SK_{t+2} = \frac{K_{t+2} + K_{t+1} + K_{t}}{3}

which is smoothed again to obtain our final index:

D_{t+4} = \frac{SK_{t+4} + SK_{t+3} + SK_{t+2}}{3}

Slow Stochastic Oscillator strategy starts decision rule, if orders should be sent after Number of Periods + 4 periods. Observe that this is the first moment in which D index can be computed.

Market Data

  • Last trade


Parameter name Description Essential
Number of Periods Number of ‘periods’ taken into account in a computation of the K_t Yes
Oversold Level Upper boundary of the index D values area where market is oversold Yes
Overbought Level Lower boundary of the index D values area where market is overbought Yes


Open position

Side Buy or Sell
Amount One asset per order
Price Last market price
Type Price limit

If strategy does not have an open position and:

  • D_{t+3} \leq Oversold~level \wedge D_{t+4} \geq Oversold~level \rightarrow algorithm opens long position
  • D_{t+3} \geq Overbought~level \wedge D_{t+4} \leq Overbought~level \rightarrow algorithm opens short position

Close position

If strategy does have an open position and:

  • D_{t+3} \leq Oversold~level \wedge D_{t+4} \geq Oversold~level \rightarrow algorithm close short position
  • D_{t+3} \geq Oversold~level \wedge D_{t+4} \leq Overbought~level \rightarrow algorithm close long position


There is no strategy termination condition.

Time frame

Strategy bases on some initial Number of Periods + 4 of data collection without trading and is designed to enable adjusting both: period of data collection and its trading time span from hours to whole weeks.

Further information & source

PLEASE NOTE: Empirica does not provide tax, investment, or financial services. The information available through this website is provided on an "as is" basis at user's sole risk and does not constitute trading advice or a solicitation to buy or sell any stock, option, future, commodity, or forex product. Empirica makes no guarantees as to the accurateness, quality, or completeness of the information and shall not be responsible or liable for any errors, omissions, inaccuracies in the information or for any user's reliance on the information. User is solely responsible for verifying the information as being appropriate for user's personal use, including without limitation, seeking the advice of a qualified professional regarding any specific financial questions a user may have. Past performance is not necessarily an indication of future performance. Trading is inherently risky.