Robot catalog

Commodity Selection Index (CSI)

The Commodity Selection Index is an indicator that calculates the index of the Average Directional Movement Index Rating, which should be multiplied by the Smoothed True Range, and also by the potential monetary movement constant, which is determined for each futures contract separately. The general formula is as follows: CSI = ADXR * STR * K.

The Commodity Selection Index, or CSI, was designed to identify futures contracts that show the greatest movement per unit of the currency invested. The indicator was created in 1978, by J. Wells Wilder. The index was shown in his work called "New concepts in technical trading systems." Sometimes the Commodity Selection Index is also known as the Wilder's directional movement index.

How to calculate the Commodity Selection Index

To calculate the Commodity Selection Index correctly, you need to use the following formulas:

PDM = H-Hp,

MDM = Lp-L,

in which:

  • PDM is the positive value of DM or +DM;
  • MDM is the negative value of DM, or -DM;
  • H - the maximum price that was reached during the considered period;
  • Hp - the maximum price that was reached in the previous cycle;
  • Lp is the minimum price that was reached for the prior period;
  • L - the minimum price that was achieved during the considered period.

As a result, you can get two indicators, one of which must be less than the other one, and it should be equated to zero. Suppose, if the MDM is less than the PDM, then the MDM will be equated to zero; if the PDM turned out to be a smaller value, then the PDM equals zero. If the maximum and the minimum of the previous day were higher than the maximum and the minimum of the current day, then both values are negative, it means both indicators will be zero.

True Range

TR is the True Range that designates the largest of the following values:

  • TR = H - L,
  • TR = H - Cp,
  • TR = Cp - L,

Among these values, there is also the closing price of the previous period - Cp.

Before moving on to the next stage, that is, all data processing, each indicator exponentially smoothes out. The author of the CSI index, Mr. Wilder, suggests using one of the following constants as an exponential smoothing: 1/14 or 0.07143. These indicators correspond to the SMA of the twenty-seven-day period. This constant will also be used in the following calculations, used as an example.

Plus and Minus Direction Indicators

The Plus Direction Indicator PDI is a positive-directed movement defined as the +DM, which was smoothed exponentially, and after that divided by a smoothed True Range, i.e.:

PDI - SPDM: STR, which gives the Smoothed Plus Directional Motion divided by a smoothed True Range.

There is a condition which makes the PDI equal to the PDM; it can happen if the difference in the minimum price is greater than the difference in the maximum price.

To calculate the Minus Direction Indicator, you need to use the following formula:

MDI = SMDM: STR = Smoothed Minus Directional Movement: Smoothed True Range.

It's also worth to keep in mind that, if the minimum price is less than the maximum one, the MDM will equal zero, which means that the MDI will start to fall.

The next step is to find the Directional Index, which can be calculated by multiplying the absolute value of the daily difference between the PDI and the MDI, and dividing it by the sum of the same indicators, after which the number is multiplied by 100. Visual formula:

DX = 100 * | PDI - MDI | : (PDI + MDI).

DX is a controlled movement that was smoothed by the EMA with a constant of 0.07143, and the ADX is the Average Directional Index.

Average Directional Index

In turn, the ADX can be smoothed, Causing the appearance of the Average Directional Movement Index Rating – the ADXR. Smoothing out the previously smoothed indicator is necessary. ADXR is the indicator that was obtained by adding the last ADX and the ADX that was received 14 days ago. The amount that was received is divided by 2.

The last thing left to learn is the information that relates to futures. It is necessary to calculate a constant, which denotes the commercial development potential, which is determined for each futures contract separately. This indicator is designated as K. To get this indicator; you need to use the formula below:

K = V: M * (1: (150 + C)) * 100,

which means:

  • V - the cost of changing the price by one cent, which is expressed in dollars;
  • M - is the margin requirements expressed in dollars;
  • C - commission accrued in dollars.

If you will multiply the ADXR by the STR, and then multiply it by K, you can get the result of the successive CSI multiplications.


As an example, you can take any currency graph, say, it will be a dollar. On a clear chart, we can mark the two highest CSI values, which will be the A and B points.

To learn more about the calculation scheme for CSI, it is better to read "New concepts in technical trading systems" book, which describes all the nuances and details.