What is a Worked Example of McGinley Dynamic?

Explore What is a worked: mechanics, differences, limitations, and practical checks.

Definition of McGinley Dynamic

McGinley Dynamic is a moving-average method that updates an estimate of the “average” line more adaptively than a fixed-parameter moving average. Instead of using a constant smoothing rate, it changes the rate based on how far the latest price is from the current McGinley value.

A simple way to think about it: when price is far from the current average, the method reacts faster; when price is close, it reacts more slowly. This adaptiveness is the core mechanic you can isolate from any market outcome.

Because different descriptions online may use slightly different parameterizations, the worked example below is intentionally explicit about the exact formula form, inputs, and assumptions used.

Mechanics: what goes into a worked example

To produce a verifiable worked example, you must decide three things:

  1. Input series: a sequence of prices (for example, closing prices) at equal time intervals.
  2. Starting value: the initial McGinley Dynamic estimate, which you can set equal to the first price or to another chosen initial average.
  3. Update rule with a constant: a parameter (often called a smoothing constant) that controls responsiveness.

Assumed update rule

For this worked example, assume the update rule is of the form:

McGinley(t) = McGinley(t−1) + [ (Price(t) − McGinley(t−1)) / (k · ( (Price(t)/McGinley(t−1))^4 )) ]

Where:

  • Price(t) is the input price at step t.
  • McGinley(t−1) is the previous McGinley value.
  • k is a positive constant.

This is one common style of representation. Your verification task is to recompute using the exact rule you intend to use (including the power and the way division is arranged).

Worked numerical example (step-by-step)

Assumptions

  • We use five time steps with prices measured at equal intervals.
  • Choose a smoothing constant k = 1.
  • Initial condition: McGinley(1) = Price(1).
  • Prices are: Price(1)=100, Price(2)=102, Price(3)=101, Price(4)=105, Price(5)=103.

Step 1 (t=1)

  • McGinley(1) = Price(1) = 100

Step 2 (t=2)

  • Price(2) = 102, previous McGinley(1)=100
  • Compute ratio: (Price(2)/McGinley(1)) = 102/100 = 1.02
  • Compute (ratio)^4: 1.02^4 ≈ 1.08243216
  • Compute denominator: k · (ratio^4) = 1.08243216
  • Compute increment:
    • Price − McGinley = 102 − 100 = 2
    • Increment = 2 / 1.08243216 ≈ 1.8479
  • McGinley(2) = 100 + 1.8479 ≈ 101.8479

Step 3 (t=3)

  • Price(3) = 101, previous McGinley(2) ≈ 101.8479
  • Ratio: 101 / 101.8479 ≈ 0.9916
  • (ratio)^4 ≈ (0.9916)^4 ≈ 0.9669 (approximation)
  • Denominator ≈ 0.9669
  • Price − McGinley ≈ 101 − 101.8479 = −0.8479
  • Increment ≈ (−0.8479) / 0.9669 ≈ −0.8771
  • McGinley(3) ≈ 101.8479 − 0.8771 = 100.9708

Step 4 (t=4)

  • Price(4)=105, previous McGinley(3)≈100.9708
  • Ratio: 105 / 100.9708 ≈ 1.0401
  • (ratio)^4 ≈ (1.0401)^4 ≈ 1.1697
  • Denominator ≈ 1.1697
  • Price − McGinley ≈ 105 − 100.9708 = 4.0292
  • Increment ≈ 4.0292 / 1.1697 ≈ 3.445
  • McGinley(4) ≈ 100.9708 + 3.445 = 104.4158

Step 5 (t=5)

  • Price(5)=103, previous McGinley(4)≈104.4158
  • Ratio: 103 / 104.4158 ≈ 0.9863
  • (ratio)^4 ≈ (0.9863)^4 ≈ 0.9450
  • Denominator ≈ 0.9450
  • Price − McGinley ≈ 103 − 104.4158 = −1.4158
  • Increment ≈ −1.4158 / 0.9450 ≈ −1.499
  • McGinley(5) ≈ 104.4158 − 1.499 = 102.9168

What this example demonstrates

With the stated rule and assumptions, the McGinley line rises quickly when price jumps above the current average (t=2 to t=4), and then falls when price drops below the average (t=3 and t=5). The goal here is not forecasting; it is showing the adaptive update mechanism you can reproduce.

Limitations and potential failure modes

  1. Parameter and rule ambiguity: If you use a different published formula variant (different powers, placement of terms, or definitions), you will get different results. Always verify with the exact update rule. 2. Sensitivity to input choice: The method depends on the chosen price series (close vs. typical price, etc. ) and the time interval. Changing inputs changes the computed path. 3. Numerical edge cases: Because the update uses ratios involving the previous McGinley value, values near zero or inconsistent starting conditions can cause unstable behavior. 4. Regime shifts and noise: Adaptive movement can still lag in abrupt regime changes or overreact in noisy sequences.
Trading foreign exchange and CFDs involves substantial risk. Information on FoxiForex is educational and is not personal financial advice. Sponsored placements are labelled clearly.