Nadaraya-Watson Envelope

Let's delve into the concept of the Nadaraya-Watson Envelope, a fascinating technical indicator used in trading and market analysis.

What is the Nadaraya-Watson Envelope?

  • The Nadaraya-Watson Envelope is a type of moving average calculated by taking a weighted average of data points over a specified period.
  • It is named after its creators, Vasily Nadaraya and Geoffrey Watson.
  • The envelope is created by drawing two lines (one above and one below) parallel to the moving average at a user-defined percentage distance.
  • These upper and lower lines form a “band” around the moving average, which can be used to identify potential trend changes and generate trading signals.

How Does It Work?

  • The main computation in the Nadaraya-Watson Envelope involves a weighted average of data points.
  • Here's how it's calculated:
    • Given a sequence of data points p1​,p2​,ldots,pn​, the Nadaraya-Watson Envelope at data point i is computed using an inner loop that iterates over j: [ \text{Weighted Average} = \sum_{j=1}^{n} p_j \cdot w_{ij} ]
    • The weight wij​ is exponentially calculated and depends on the difference between indices i and j and a smoothing parameter h.
    • The resulting weighted average forms the upper and lower bands around the moving average.

Trading Signals

  • The Nadaraya-Watson Envelope generates buy and sell signals based on the difference between two elements:

    • If the difference between consecutive upper envelope values (y2​) exceeds a threshold and the previous y2​ value is below the previous lower envelope value (y1​), it's a buy signal.
    • Conversely, if the difference falls below the negative of the threshold and the previous y2​ value is above the previous y1​ value, it's a sell signal.

Advantages

  • Non-repainting: Unlike some indicators, the Nadaraya-Watson Envelope does not repaint historical data points.
  • Dynamic Analysis: It adapts to changing market conditions and provides insights into price patterns.

Application in Financial Markets

  • Traders use the Nadaraya-Watson Envelope to identify underlying price patterns, potential reversals, and trend shifts.
  • It's particularly useful for analyzing volatile markets.

Backtesting Example (Python)

Here's a simplified Python example for backtesting using the Nadaraya-Watson Envelope

import numpy as np
import pandas as pd
import yfinance as yf

class Backtest:
    def __init__(self, symbol, time_period):
        self.symbol = symbol
        self.df = yf.download(tickers=symbol, period=time_period)
        self.src = self.df["Close"].values
        self.h = 7
        y2, y1 = self.nadaraya_watson_envelope()
        # Generate buy/sell signals based on y2 and y1

    def nadaraya_watson_envelope(self):
        n = len(self.src)
        y2 = np.empty(n)
        y1 = np.empty(n)
        h = self.h
        for i in range(n):
            sum = 0
            sumw = 0
            for j in range(n):
                w = np.exp(-(np.power(i - j, 2) / (h * h * 2)))
                sum += self.src[j] * w
                sumw += w
            y2[i] = sum / sumw
            if i > 0:
                y1[i] = (y2[i] + y2[i - 1]) / 2
        return y2, y1

Remember that no single indicator guarantees success, but understanding the Nadaraya-Watson Envelope can enhance your technical analysis toolkit.

Reference Nadaraya-Watson Envelope LuxAlgo Nadaraya-Watson Envelope Non-Repainting


Publish Date: 2024-05-13, Update Date: 2024-05-13