Investment Studio > Expressions > Functions > Indicator > SI

float array[*][2] si(float array[*][5] dohlc, float limit_move = 10000)

Returns a two-column array containing dates (first column) and corresponding Swing Index (SI) values (second column). Given n input rows in dohlc, n - 1 rows are returned.

dohlc is a five-column array containing daily price quotes. Each row is structured as follows:

Column # Content
1 The quote date.
2 The day's open (first traded price).
3 The day's high (highest traded price).
4 The day's low (lowest traded price).
5 The day's close (last traded price).

The array is assumed to be time-sorted, with earlier dates preceding later dates.

limit_move enters the calculation of SI values as an overall normalization factor (divisor). For assets with exchange-regulated limits on daily price moves, set this argument to the largest allowed daily move. For other assets, use an arbitrary value well in excess of any expected actual daily move. If omitted, limit_move defaults to 10 000.

Interpretation

SI is a daily velocity indicator: it goes up when the price moves higher compared to the day before, it goes down when the price moves lower compared to the day before. While this may not seem terribly useful, it has the advantage of summarizing four pieces of data (open, high, low, close) in a single, normalized number which can then be used as a building block in other indicators. Its primary use is as a basis for the Accumulative Swing Index (ASI).

The charts below show the price of Microsoft (NASD:MSFT) and the corresponding SI (with limit move = 100) from June 1 to December 31, 2001:

Note how larger daily price moves (in particular, the gap on July 12) give rise to larger oscillations in the SI.

Example

Assuming standard US date format settings,

=si({{"1/1/1990", 100, 90, 98, 1000}, {"1/2/1990", 97, 84, 86, 858}})

returns {{32875, 3.10355263157895}}. 32875 is the date code for 1/2/1990; 3.1... is the SI value for that date, given an implied limit move = 10 000.

See also asi, di, dim, dip, dm, mo, roc, tp, tr.