mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-07-27 17:27:43 +00:00
53 lines
3.1 KiB
Markdown
53 lines
3.1 KiB
Markdown
## ALMA: Arnaud Legoux Moving Average
|
|
|
|
### Concept
|
|
|
|
ALMA is a moving average designed to reduce the lag of traditional moving averages while maintaining smoothness. It uses a Gaussian distribution to weight the price data, allowing for greater flexibility in balancing smoothness and responsiveness.
|
|
|
|
### Origin
|
|
|
|
ALMA was developed by *Arnaud Legoux and Dimitrios Kouzis-Loukas*, introduced in 2009. It was created to address the limitations of traditional moving averages, particularly the lag issue in trend identification and signal generation.
|
|
|
|
### Key Features
|
|
|
|
1. **Gaussian Distribution**: Uses a Gaussian (normal) distribution to weight price data, concentrating the most weight around a specific point.
|
|
2. **Offset Parameter**: Allows shifting the Gaussian distribution to the left or right, affecting the lag and responsiveness.
|
|
3. **Sigma Parameter**: Controls the width of the Gaussian distribution, affecting the smoothness of the average.
|
|
4. **Lag Reduction**: Designed to minimize lag while maintaining a smooth output.
|
|
|
|
### Usage
|
|
|
|
1. **Trend Identification**: ALMA can identify trends more quickly than traditional moving averages due to its reduced lag.
|
|
2. **Signal Generation**: Crossovers between ALMA and price, or between different ALMA settings, can generate trading signals.
|
|
3. **Support and Resistance**: ALMA can act as dynamic support and resistance levels.
|
|
4. **Smoothing Price Action**: Useful for smoothing noisy price data while preserving important trend information.
|
|
|
|
### Advantages
|
|
|
|
- Reduces lag compared to simple and exponential moving averages.
|
|
- Highly customizable through its offset and sigma parameters.
|
|
- Can be tuned to be more responsive or more smooth based on trading preferences.
|
|
- Potentially more effective in capturing short-term price movements.
|
|
|
|
### Considerations
|
|
|
|
- **Offset Parameter**: Ranges from 0 to 1, determining the distribution's center of weight.
|
|
- 0 results in a simple moving average (more lag, very smooth).
|
|
- 1 creates a weighted average focused on the most recent prices (less lag, less smooth).
|
|
- 0.85 is often used as a default, balancing lag reduction and smoothness.
|
|
|
|
- **Sigma Parameter**: Controls the Gaussian distribution's width.
|
|
- Lower values create a narrower distribution, focusing on fewer price bars.
|
|
- Higher values create a wider distribution, incorporating more price bars.
|
|
- 6 is often used as a default value.
|
|
|
|
- **Period**: As with other moving averages, determines how many price bars are included in the calculation.
|
|
|
|
- **Balancing Responsiveness and Stability**:
|
|
- Adjusting offset and sigma allows fine-tuning between quick response to price changes and stability in noisy markets.
|
|
- Higher offset and lower sigma increase responsiveness but may lead to more false signals in volatile markets.
|
|
- Lower offset and higher sigma increase smoothness but may introduce more lag.
|
|
|
|
- **Computational Complexity**: More complex to calculate than simple moving averages, which may be a consideration in high-frequency trading systems.
|
|
|
|
- **Interpretation**: Due to its unique weighting system, ALMA may behave differently from traditional moving averages in certain market conditions, requiring careful interpretation. |