Direct answer
Parabolic SAR (often called “Parabolic Stop and Reverse”) is calculated by iteratively updating a stop-like level called SAR. On each new price bar, SAR is computed from the previous SAR, the previous extreme point (EP), and an acceleration factor (AF). AF increases as a trend moves in the indicator’s favor, then stops increasing once it reaches a maximum. When price crosses the SAR level, the indicator typically reverses direction, and the process restarts with a new EP and AF.
You can treat Parabolic SAR as a rule-based, mechanical sequence: pick starting values (direction, initial EP, initial AF, maximum AF, AF step), then apply the same update equation bar-by-bar.
Mechanism and definitions
What the variables mean
Parabolic SAR uses four inputs that affect the path of the indicator:
- Direction (trend state): Usually “uptrend” or “downtrend,” based on whether price has been above or below the prior SAR.
- SAR (parabolic stop value): The computed level for each bar.
- Extreme Point (EP): The most extreme price reached in the current direction so far (highest high during an uptrend; lowest low during a downtrend).
- Acceleration Factor (AF): A multiplier that controls how quickly SAR approaches price. AF starts at an initial value and increases as the EP makes new extremes.
Settings typically include:
- AF start (initial AF)
- AF step (how much AF increases when a new EP is found)
- AF max (maximum cap for AF)
Different charting systems may label the inputs slightly differently, but the underlying idea is the same: AF governs the indicator’s responsiveness.
The core update logic
At a high level, the SAR update combines two parts:
- Pulling SAR toward the current EP with a weight determined by AF.
- Using previous SAR values and (in practice) the current direction to keep SAR on the correct side of price.
A common mathematical representation is:
- Let:
- SAR_(t-1) = previous SAR
- EP_(t-1) = previous EP
- AF_(t-1) = previous acceleration factor
Then a baseline update can be written as:
- SAR_baseline(t) = SAR_(t-1) + AF_(t-1) · (EP_(t-1) − SAR_(t-1))
After computing the baseline value, implementations apply a direction-dependent constraint so SAR does not leap past recent prices in an unrealistic way.
Updating AF and EP
Once a direction is established:
- If the new bar creates a new EP in the current direction:
- AF increases by AF step, up to AF max.
- EP is updated to that new extreme.
- If the new bar does not create a new EP:
- AF stays the same.
- EP stays the same.
This is the main reason Parabolic SAR tends to become more reactive as the trend accelerates.
Direction flip (how reversals are detected)
After SAR is computed for the next bar, the indicator checks whether price crosses SAR:
- In an uptrend, if the market price moves such that the relevant price (commonly the low or closing, depending on implementation) crosses below SAR, the direction is considered reversed.
- In a downtrend, if the market price crosses above SAR, the direction flips to uptrend.
When a flip occurs, a typical approach is:
- Reset AF to its start value.
- Set EP to the extreme price appropriate to the new direction (the first extreme after the flip).
- Continue iterating from the new state.
Because charting platforms differ in the exact “cross” price used and the exact SAR bounding rules, the most reliable way to independently verify calculation is to match the equation and constraints to the definition used by your specific implementation.
Evidence or example you can verify
Below is a fully checkable example using explicit assumptions. The numeric details are illustrative; if you run the same steps with your own chosen settings, you should reproduce the same sequence.
Assumptions for this example
- We track two variables per bar: high and low.
- We assume an uptrend at bar 1.
- Initial values:
- SAR_(0) = 95
- EP_(0) = 105 (highest high so far)
- AF_(0) = 0.02
- AF step = 0.02
- AF max = 0.20
- For each new bar t, we compute SAR_baseline(t) = SAR_(t-1) + AF_(t-1) · (EP_(t-1) − SAR_(t-1)).
- We then apply a bounding rule to keep SAR on the correct side of price. Because different platforms implement the bound slightly differently, you must choose one consistent rule when verifying.
Step 1: compute SAR for bar 1
Suppose bar 1 has:
- High = 107
- Low = 102
Compute baseline SAR:
- SAR_baseline(1) = 95 + 0.02 · (105 − 95)
- = 95 + 0.02 · 10
- = 95.20
Update EP and AF:
- Since High(1) = 107 is greater than EP_(0)=105, we set EP_(1) = 107.
- AF_(1) = min(AF_(0)+AF step, AF max) = min(0.02+0.02, 0.20) = 0.04.
Now check reversal rule:
- In an uptrend, if price crosses below SAR, direction flips. With the low at 102 being above 95.20, we would keep the uptrend for this bar.
Step 2: compute SAR for bar 2
Assume bar 2 has:
- High = 106
- Low = 99
Compute baseline SAR using previous SAR and EP and AF:
- SAR_baseline(2) = SAR(1) + AF(1) · (EP(1) − SAR(1))
- ≈ 95.20 + 0.04 · (107 − 95.20)
- = 95.20 + 0.04 · 11.80
- = 95.20 + 0.472
- = 95.672
Update EP and AF:
- High(2)=106 is not a new maximum versus EP(1)=107, so EP stays 107.
- AF stays 0.04.
Check reversal:
- If the reversal condition uses Low < SAR, then Low(2)=99 is still above 95.672, so no flip. Under other implementations, the comparison may use a different price field; that is why implementation matching matters.
How to independently verify
- Record the platform’s chosen settings: AF start, AF step, AF max.
- Take a small historical window.
- Identify the indicator’s current state (uptrend/downtrend) at the starting bar.
- Use the update equation and the platform’s boundary/reversal rules to recompute SAR bar-by-bar.
If your recomputed series differs, the mismatch is usually from one of these implementation-specific items:
- which price used for “extreme point” (high/low definitions)
- which price used for “crossing” reversal
- the bounding rule that constrains SAR relative to recent prices