OPEN-SOURCE SCRIPT

Adaptive Kalman Trend Filter (Zeiierman)

Overview
The Adaptive Kalman Trend Filter indicator is an advanced trend-following tool designed to help traders accurately identify market trends. Utilizing the Kalman Filter—a statistical algorithm rooted in control theory and signal processing—this indicator adapts to changing market conditions, smoothing price data to filter out noise. By focusing on state vector-based calculations, it dynamically adjusts trend and range measurements, making it an excellent tool for both trend-following and range-based trading strategies. The indicator's adaptive nature is enhanced by options for volatility adjustment and three unique Kalman filter models, each tailored for different market conditions.
snapshot


How It Works
The Kalman Filter works by maintaining a model of the market state through matrices that represent state variables, error covariances, and measurement uncertainties. Here’s how each component plays a role in calculating the indicator’s trend:

State Vector (X): The state vector is a two-dimensional array where each element represents a market property. The first element is an estimate of the true price, while the second element represents the rate of change or trend in that price. This vector is updated iteratively with each new price, maintaining an ongoing estimate of both price and trend direction.
Covariance Matrix (P): The covariance matrix represents the uncertainty in the state vector’s estimates. It continuously adapts to changing conditions, representing how much error we expect in our trend and price estimates. Lower covariance values suggest higher confidence in the estimates, while higher values indicate less certainty, often due to market volatility.
Process Noise (Q): The process noise matrix (Q) is used to account for uncertainties in price movements that aren’t explained by historical trends. By allowing some degree of randomness, it enables the Kalman Filter to remain responsive to new data without overreacting to minor fluctuations. This noise is particularly useful in smoothing out price movements in highly volatile markets.
Measurement Noise (R): Measurement noise is an external input representing the reliability of each new price observation. In this indicator, it is represented by the setting Measurement Noise and determines how much weight is given to each new price point. Higher measurement noise makes the indicator less reactive to recent prices, smoothing the trend further.

Update Equations:
  • Prediction: The state vector and covariance matrix are first projected forward using a state transition matrix (F), which includes market estimates based on past data. This gives a “predicted” state before the next actual price is known.
  • Kalman Gain Calculation: The Kalman gain is calculated by comparing the predicted state with the actual price, balancing between the covariance matrix and measurement noise. This gain determines how much of the observed price should influence the state vector.
  • Correction: The observed price is then compared to the predicted price, and the state vector is updated using this Kalman gain. The updated covariance matrix reflects any adjustment in uncertainty based on the latest data.


Three Kalman Filter Models
  • Standard Model: Assumes that market fluctuations follow a linear progression without external adjustments. It is best suited for stable markets.
  • Volume Adjusted Model: Adjusts the filter sensitivity based on trading volume. High-volume periods result in stronger trends, making this model suitable for volume-driven assets.
  • Parkinson Adjusted Model: Uses the Parkinson estimator, accounting for volatility through high-low price ranges, making it effective in markets with high intraday fluctuations.

    These models enable traders to choose a filter that aligns with current market conditions, enhancing trend accuracy and responsiveness.


Trend Strength
The Trend Strength provides a visual representation of the current trend's strength as a percentage based on oscillator calculations from the Kalman filter. This table divides trend strength into color-coded segments, helping traders quickly assess whether the market is strongly trending or nearing a reversal point. A high trend strength percentage indicates a robust trend, while a low percentage suggests weakening momentum or consolidation.
snapshot


Trend Range
The Trend Range section evaluates the market's directional movement over a specified lookback period, highlighting areas where price oscillations indicate a trend. This calculation assesses how prices vary within the range, offering an indication of trend stability or the likelihood of reversals. By adjusting the trend range setting, traders can fine-tune the indicator’s sensitivity to longer or shorter trends.
snapshot


Sigma Bands
The Sigma Bands in the indicator are based on statistical standard deviations (sigma levels), which act as dynamic support and resistance zones. These bands are calculated using the Kalman Filter's trend estimates and adjusted for volatility (if enabled). The bands expand and contract according to market volatility, providing a unique visualization of price boundaries. In high-volatility periods, the bands widen, offering better protection against false breakouts. During low volatility, the bands narrow, closely tracking price movements. Traders can use these sigma bands to spot potential entry and exit points, aiming for reversion trades or trend continuation setups.

Trend Based
snapshot

Volatility Based
snapshot


How to Use
Trend Following:
When the Kalman Filter is green, it signals a bullish trend, and when it’s red, it indicates a bearish trend. The Sigma Cloud provides additional insights into trend strength. In a strong bullish trend, the cloud remains below the Kalman Filter line, while in a strong bearish trend, the cloud stays above it. Expansion and contraction of the Sigma Cloud indicate market momentum changes. Rapid expansion suggests an impulsive move, which could either signal the continuation of the trend or be an early sign of a possible trend reversal.
snapshot


Mean Reversion: Watch for prices touching the upper or lower sigma bands, which often act as dynamic support and resistance.
snapshot


Volatility Breakouts: Enable volatility-adjusted sigma bands. During high volatility, watch for price movements that extend beyond the bands as potential breakout signals.
snapshot


Trend Continuation: When the Kalman Filter line aligns with a high trend strength, it signals a continuation in that direction.
snapshot


Settings
  • Measurement Noise: Adjusts how sensitive the indicator is to price changes. Higher values smooth out fluctuations but delay reaction, while lower values increase sensitivity to short-term changes.
  • Kalman Filter Model: Choose between the standard, volume-adjusted, and Parkinson-adjusted models based on market conditions.
  • Band Sigma: Sets the standard deviation used for calculating the sigma bands, directly affecting the width of the dynamic support and resistance.
  • Volatility Adjusted Bands: Enables bands to dynamically adapt to volatility, increasing their effectiveness in fluctuating markets.
  • Trend Strength: Defines the lookback period for trend strength calculation. Shorter periods result in more responsive trend strength readings, while longer periods smooth out the calculation.
  • Trend Range: Specifies the lookback period for the trend range, affecting the assessment of trend stability over time.



-----------------
Disclaimer

The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.

All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.

My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
adaptivebandsadaptivekalmanadaptivetrendBands and ChannelsdirectionalmovementindexkalmanbandskalmantrendkalmantrendfilterTrend AnalysistrendbandVolatilityvolatilityband

Skrypt open-source

W prawdziwym duchu TradingView autor tego skryptu opublikował go jako open source, aby inwestorzy mogli go zrozumieć i zweryfikować. Pozdrowienia dla autora! Możesz go używać bezpłatnie, ale ponowne użycie tego kodu w publikacji podlega Zasadom Regulaminu. Możesz go oznaczyć jako ulubione, aby użyć go na wykresie.

Chcesz użyć tego skryptu na wykresie?


Również na:

Wyłączenie odpowiedzialności