# Commodity Channel Index (CCI)

> QuantNexus indicator page for CCI momentum and deviation analysis.

**Route**: `/quantnexus/indicators/cci/`

## What It Does

CCI measures how far price deviates from its statistical average. It is commonly used for momentum extremes and cyclical turning points.

## Formula

`CCI = (Typical Price - SMA(TP, n)) / (0.015 * Mean Deviation)`

`Typical Price = (High + Low + Close) / 3`

## Parameters

- `period` - default `20`
- `factor` - default `0.015`
- `movav` - default `MovingAverageSimple`
- `upperband` - default `100`
- `lowerband` - default `-100`

## C++23 API

```cpp
#include <nonabt/indicators/cci.hpp>
auto cci = std::make_unique<nonabt::CCI>(data(), 20, 0.015, "MovingAverageSimple");
```

## Common Usage

- Use CCI to find strong momentum moves.
- Use it as an overbought/oversold indicator.
- Combine it with trend filters to reduce false fades.

## Practical Pattern

Many systems treat CCI above `100` as bullish expansion and below `-100` as bearish expansion or oversold exhaustion.
