• The Know Sure Thing (KST) is a momentum oscillator developed by Martin Pring that combines several smoothed rate‑of‑change (ROC) measures into a single indicator to highlight the market’s underlying momentum across multiple timeframes.
– The KST is built from four smoothed ROCs (each a simple moving average of an ROC), weighted 1, 2, 3 and 4, respectively. A 9‑period SMA of the KST is commonly used as a signal line.
– Traders use KST crossovers vs. its signal line, center‑line (zero) crossings, and divergence with price, often together with other technical tools and sound risk management.
What the KST measures
– The KST summarizes price acceleration/deceleration at four different horizons. Each component is an ROC (percentage change over N periods) that is smoothed with an SMA; the smoothed components are then summed with increasing weights to emphasize longer‑term momentum.
– Because it averages several horizons and smooths them, KST responds more smoothly than a single ROC and helps highlight turning points driven by shifts in underlying momentum.
Standard (Pring) settings and formula
– Standard component definitions (Pring’s commonly used settings):
• RCMA#1 = 10‑period SMA of the 10‑period ROC
• RCMA#2 = 10‑period SMA of the 15‑period ROC
• RCMA#3 = 10‑period SMA of the 20‑period ROC
• RCMA#4 = 15‑period SMA of the 30‑period ROC
– KST = (RCMA#1 × 1) + (RCMA#2 × 2) + (RCMA#3 × 3) + (RCMA#4 × 4)
– Signal line = 9‑period SMA of the KST values
– ROC formula (percent): ROC_N_t = (Price_t / Price_{t–N} – 1) × 100
(Some implementations use Price_t – Price_{t–N} instead of percent; percent is standard for KST.)
Step‑by‑step calculation (practical)
1. Collect a continuous price series (close prices).
2. For each date t compute the four raw ROCs:
• ROC10_t = (Price_t / Price_{t–10} – 1) × 100
• ROC15_t = (Price_t / Price_{t–15} – 1) × 100
• ROC20_t = (Price_t / Price_{t–20} – 1) × 100
• ROC30_t = (Price_t / Price_{t–30} – 1) × 100
3. Smooth each ROC with its SMA:
• RCMA#1_t = SMA(Roc10, 10) at time t (average of last 10 ROC10 values)
• RCMA#2_t = SMA(Roc15, 10)
• RCMA#3_t = SMA(Roc20, 10)
• RCMA#4_t = SMA(Roc30, 15)
4. Compute KST_t = RCMA#1_t*1 + RCMA#2_t*2 + RCMA#3_t*3 + RCMA#4_t*4
5. Compute Signal_t = SMA(KST, 9)
6. Interpret crossovers, centerline, divergence, etc.
Excel implementation (example formulas)
– Assume Close prices are in column B, row numbers increase downward and you want ROC10 in column C at row t:
• ROC10_t (cell C11 if 10 prior rows): =(B11/B1 – 1) * 100
– RCMA#1 (10‑period SMA of ROC10) in column D at row 20:
• =AVERAGE(C11:C20)
– KST in column E: =D20*1 + F20*2 + G20*3 + H20*4 (where F,G,H hold RCMA#2,#3,#4)
– Signal line (9‑period SMA of KST): =AVERAGE(E12:E20)
Python/pandas snippet
– This outlines the steps; adapt to your environment:
import pandas as pd
price = pd.Series(…) # close prices indexed by date
roc10 = price / price.shift(10) – 1
roc15 = price / price.shift(15) – 1
roc20 = price / price.shift(20) – 1
roc30 = price / price.shift(30) – 1
rcma1 = roc10.rolling(10).mean() * 100
rcma2 = roc15.rolling(10).mean() * 100
rcma3 = roc20.rolling(10).mean() * 100
rcma4 = roc30.rolling(15).mean() * 100
kst = rcma1*1 + rcma2*2 + rcma3*3 + rcma4*4
signal = kst.rolling(9).mean()
Interpreting the KST
– KST vs signal line:
• Bullish signal: KST crosses above its 9‑period signal line; stronger if this happens near or below zero or following a divergence resolution.
• Bearish signal: KST crosses below its signal line; stronger if it happens near or above zero.
– Centerline (zero) cross:
• KST crossing from negative to positive indicates a broader shift toward bullish momentum; the opposite for a positive→negative cross.
– Divergence:
• Bullish divergence: price makes a lower low while KST makes a higher low — can foreshadow an upward reversal.
• Bearish divergence: price makes a higher high while KST makes a lower high — can foreshadow a downward reversal.
– Overbought/Oversold:
• KST is not bounded (unlike RSI). “Overbought” or “oversold” must be judged relative to recent KST extremes rather than fixed numeric bounds.
Practical trading steps (entry, exit, risk)
1. Confirm trend/timeframe alignment: prefer the KST timeframe to match your trading horizon (e.g., daily KST for swing trades).
2. Identify trade signal:
• Primary entry: KST crosses above its signal line (go long), or below (go short).
• Use centerline cross or bullish/bearish divergence as secondary confirmation.
3. Validate with at least one non‑momentum filter (e.g., price above a long MA for bullish setups, or supportive volume/candlestick pattern).
4. Manage risk:
• Place stop losses beyond a logical level (recent swing low/high, ATR multiple).
• Size positions so risk per trade fits portfolio risk rules (e.g., 1–2% of capital).
5. Exit strategy:
• Exit on a KST signal reversal (cross back through signal line) OR a break of structure/stop loss OR use profit targets (e.g., reward:risk).
6. Backtest any strategy with historical data and realistic trading costs before using it live.
Example walk‑through (conceptual)
– Suppose the 10‑period RCMA is +0.5, RCMA#2 is +0.8, RCMA#3 is +1.2 and RCMA#4 is +0.6 (all in percent).
– KST = 0.5×1 + 0.8×2 + 1.2×3 + 0.6×4 = 0.5 + 1.6 + 3.6 + 2.4 = 8.1
– If the 9‑period SMA of recent KSTs is 6.0 and the KST just crossed above that 6.0 level to 8.1, that would generate a bullish crossover signal.
– Context matters: if this occurs after a bullish divergence and volume pickup, the signal’s reliability increases.
Tips, variants and parameter considerations
– Parameters can be tuned for faster or slower responsiveness (shorten ROCs or SMAs for more timely signals but more noise; lengthen for fewer false signals).
– Some traders use percent‑based ROC (standard) while others use absolute change; percent is consistent across price levels and more common.
– Smoothing and weighting choices affect sensitivity. The four weighted RCMA components are designed to balance short and longer momentum; altering weights changes the emphasis.
– Combine KST with trend filters (moving averages), volatility measures (ATR for stops), and volume confirmation to reduce false signals.
– Use proper look‑ahead protections and realistic slippage when backtesting.
Limitations and common pitfalls
– No oscillator is perfect: KST can give false crossovers in choppy markets.
– Because KST smooths multiple horizons, it may lag at the very start of a fast reversal.
– Overreliance on any single indicator without price action, volume and risk controls increases likelihood of poor outcomes.
– Understand the effect of data source and calculation choices (percent vs. absolute ROC, exact SMA method) — different platforms may show slightly different KSTs.
Fast facts
– Developer: Martin Pring
– First public reference: Pring described a summed ROC (KST) in a 1992 Stocks & Commodities article.
– Typical signal line: 9‑period SMA of KST
– Common use: Swing trading and trend‑change detection across multiple timeframes
References
– Pring, Martin. “Summed Rate Of Change (KST).” Stocks & Commodities, 1992.
– Investopedia, “Know Sure Thing (KST).” (overview and practical pointers; accessed online)
– produce a ready‑to‑use Python script that reads CSV price data and outputs KST and signals,
– show a worked numerical example with a small sample price series in a spreadsheet,
– or backtest a simple KST crossover strategy on a symbol and timeframe you choose.