# KAMA - Kaufman's Adaptive Moving Average

#### Description <a href="#description_64" id="description_64"></a>

The KAMA is based on an EMA in which a trend efficiency ratio controls the weight of future price changes. This efficiency ratio (the squared efficiency factor) is a measure that can also be used by itself. The trend efficiency is the ratio of the absolute price change from the start to the end of the period, and the total of the absolute daily price changes. At higher trending efficiencies (i.e. straight price movements) without too much variation, the extra price carries a higher weighting, according to a shorter day period setting. Lower trending frequencies carry a smaller weighting.

#### Interpretation <a href="#interpretation_33" id="interpretation_33"></a>

Kaufman mentions that a rising KAMA value can be interpreted as a buying signal, whilst falling KAMA values assume the prices to be falling. Kaufman also defines a maximum and minimum value for the calculation of the smoothing components. The efficiency ratio is converted using specified maximum and minimum values, which are applied to newly incoming price changes. Kaufman uses 2 (short period) as a minimum value and 30 (long period) as a maximum value. The number of days for the determination of the efficiency ratio is one of the more important parameters for the KAMA.

For a more general interpretation of moving averages, please see the following chapter: [*Moving Averages*](https://agenatrader.github.io/AgenaIndicator-documentation/indicators_oscillators/#moving-averages).

#### Further information <a href="#further-information_24" id="further-information_24"></a>

<http://www.investor-verlag.de/boersenwissen/kama/>

#### Usage <a href="#usage_65" id="usage_65"></a>

```csharp
KAMA(int fast, int period, int slow)
KAMA(IDataSeries inSeries, int fast, int period, int slow)
KAMA(int fast, int period, int slow)[int barsAgo]
KAMA(IDataSeries inSeries, int fast, int period, int slow)[int barsAgo]
```

#### Return value <a href="#return-value_62" id="return-value_62"></a>

**double**

When using this method with an index (e.g. **KAMA**(2,10,30)\[**int** barsAgo] ), the value of the indicator will be issued for the referenced bar.

#### Parameters <a href="#parameters_55" id="parameters_55"></a>

inSeries Input data series for the indicator

period Number of bars included in the calculations

fast Short period

slow Long period

#### Visualization <a href="#visualization_59" id="visualization_59"></a>

![KAMA - Kaufman](https://agenatrader.github.io/AgenaIndicator-documentation/media/KAMA.jpg)

#### Example <a href="#example_61" id="example_61"></a>

```csharp
//Output for the value of the Kaufman Moving Average(KAMA)
Print("The current value of the KAMA is " + KAMA(2,10,30)[0]);
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://indicators.agenatrader.com/standard-indicators/moving-averages/kama-kaufmans-adaptive-moving-average.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
