Investment Studio > Expressions > Functions > Indicator > CBI
float array[*][2] cbi(float array[*][2] dc, integer days_tolerance = 7)
Returns a two-column array containing dates (first column) and corresponding Coppock Breadth Indicator (CBI) values (second column).
dc is a two-column array containing dates (first column) and corresponding daily closing prices (second column). The array is assumed to be time-sorted, with earlier dates preceding later dates.
CBI works on quotes sampled once a month, and requires 24 months of data to generate an output value.
Automatic type conversion allows the use of date strings as arguments instead of explicit date values.
days_tolerance determines how far actual dates of quotes contributing to the result are allowed to deviate from ideal quote dates: CBI works with data points sampled once a month, so ideally all contributing quotes should be spaced exactly one month apart. If omitted, this value defaults to 7.
Interpretation
The Coppock Breadth Indicator generates long-term buy signals. It's basically a 10-month weighted moving average of the sum of the 14-month ROC and the 11-month ROC, originally (when introduced in 1962 by Edwin S. Coppock) of the Dow Jones Industrial Average only. It has subsequently been applied to other market indices and even to individual shares.
The CBI triggers a long term buy signal when it turns up from a bottom in negative territory. Coppock emphasized that the CBI was only good for giving buy signals, not sell signals; others have subsequently claimed that the CBI turning down from a top in positive territory is a reliable sell signal.
For a real life example, consider the Dow Jones Industrial Average from January 1993 through April 2002:

The top chart shows daily closes of the DJIA; the bottom chart shows the corresponding CBI values, with a red line marking CBI = 0. There are several bottoms in the Coppock chart, but only two are in negative territory, i.e. buy signals: April 2001 and January 2002. The first one turned out to be a false signal, and the CBI turned back down already in June 2001. At the end of April 2002, the verdict was still out on the second one.
Example
Assuming standard US date format settings,
=cbi({{"1/1/1990", 1}, {"2/1/1990", 2}, {"3/1/1990", 3}, {"4/1/1990", 4}, {"5/1/1990", 5}, {"6/1/1990", 4}, {"7/1/1990", 3}, {"8/1/1990", 2}, {"9/1/1990", 2}, {"10/1/1990", 3}, {"11/1/1990", 4}, {"12/1/1990", 5}, {"1/1/1991", 6}, {"2/1/1991", 7}, {"3/1/1991", 8}, {"4/1/1991", 7}, {"5/1/1991", 6}, {"6/1/1991", 5}, {"7/1/1991", 4}, {"8/1/1991", 5}, {"9/1/1991", 6}, {"10/1/1991", 7}, {"11/1/1991", 8}, {"12/1/1991", 9}})
returns {{33573, 1338.666...}}. 33573 is the date code for December 1, 1991; 1338.666... is the CBI on that date.