Wilder Swing Index (SI)
Summary
Wilder's Swing Index: one number rating each bar against the bar before it, from both bars' open and close and the current bar's high and low, signed by the direction of the swing. A strong close above the prior close on a wide range reads high and positive, a strong down swing reads high and negative. It is scaled against the limit move, the largest one-bar move the market allows, and stays between -100 and +100 while every move is within that limit. J. Welles Wilder Jr. introduced it in 1978 and trades its running total, ASI.
Formula
where , , , , and is optInLimitMove (Wilder writes it ).
Notes
- Wilder rounds each value to a whole number when working by hand; the output is not rounded.
- A bar that moves more than the limit move can read beyond -100 or +100; the output is not clamped.
Inputs
inOpen— Open price of each barinHigh— High price of each barinLow— Low price of each barinClose— Close price of each bar
Outputs
outReal— Swing index of the bar against the previous bar
Parameters
| Parameter | Type | Default | Accepted values | Description |
|---|---|---|---|---|
optInLimitMove | real | 3 | ≥ 0.00000001 | Limit move, the largest one-bar price move the index is scaled against, in price units |
Properties
Numerical Stability: Start-Independent
| ☐ Overlap Input |
| ✅ Independent Y-Axis i |
| ☐ Candlestick |
| ☐ Can Output NaN or ±Inf |
| ☐ Identity at Period 1 |
Implementation
TA-Lib Definition: si.c · si.yaml
| Native | File |
|---|---|
| C | ta_SI.c |
| Rust | si.rs |
| Java | Core_SI.java |
| C# | Core_SI.cs |
TA-Lib is also available for Python, R and more using a wrapper.
See Also
References
- J. Welles Wilder Jr., New Concepts in Technical Trading Systems, Trend Research, 1978, section VIII "The Swing Index", pp.87-106