feat: Add Blackman Window Moving Average (BLMA) implementation and documentation

This commit is contained in:
Miha Kralj
2025-12-22 22:15:27 -08:00
parent 7b1e0c738d
commit 57aaec1ac8
14 changed files with 755 additions and 215 deletions
+1
View File
@@ -14,6 +14,7 @@
- [ALMA - Arnaud Legoux MA](../lib/trends/alma/Alma.md)
- [BESSEL - Bessel Filter](../lib/trends/bessel/Bessel.md)
- [BILATERAL - Bilateral Filter](../lib/trends/bilateral/Bilateral.md)
- [BLMA - Blackman Window MA](../lib/trends/blma/Blma.md)
- [CONV - Convolution](../lib/trends/conv/Conv.md)
- [DEMA - Double Exponential MA](../lib/trends/dema/Dema.md)
- [DWMA - Double Weighted MA](../lib/trends/dwma/Dwma.md)
+1
View File
@@ -68,6 +68,7 @@ These measure the spread of data points around the mean.
- [**ALMA**](../lib/trends/alma/Alma.md) - Arnaud Legoux MA
- [**BESSEL**](../lib/trends/bessel/Bessel.md) - Bessel Filter
- [**BILATERAL**](../lib/trends/bilateral/Bilateral.md) - Bilateral Filter
- [**BLMA**](../lib/trends/blma/Blma.md) - Blackman Window MA
- [**CONV**](../lib/trends/conv/Conv.md) - Convolution MA
- [**DEMA**](../lib/trends/dema/Dema.md) - Double Exponential MA
- [**DWMA**](../lib/trends/dwma/Dwma.md) - Double Weighted MA
+6 -5
View File
@@ -1,17 +1,18 @@
# Trend Indicators Comparison
Scale 110 where **10 = better** for every column.
Scale 110 where **10 = better** for every column. Detailed evaluation criteria at the bottom of this doc.
- Accuracy: preserves large-scale structure WITHOUT warping/projection artifacts
- Timeliness: low lag / fast response
- Overshoot Control: 10 = no overshoot / no ringing
- Smoothness: noise suppression / stability
- **Accuracy**: Preserve true movement structure (major trends and turning points) without distortion or artificial patterns.
- **Timeliness**: Minimal lag. Fast response to genuine movement changes and reversals.
- O**vershoot Control**: Remain within min/max of input, avoid generating artificial over-reaching levels and false threshold triggers.
- **Smoothness**: Noise suppression. Stable output with smooth derivatives (no erratic velocity/acceleration).
| Indicator | Accuracy | Timeliness | Overshoot Control | Smoothness | Notes (revised) |
| :--- | :---: | :---: | :---: | :---: | :--- |
| **ALMA** | 8 | 7 | 10 | 8 | Positive-weight FIR; accurate-ish but still a lag tradeoff. |
| **BESSEL** | 9 | 7 | 9 | 8 | Strong shape/phase preservation; step response is well-behaved. |
| **BILATERAL** | 7 | 6 | 10 | 8 | Edge-preserving; excellent in ranging markets, variable smoothing by design. |
| **BLMA** | 7 | 3 | 10 | 10 | Standard DSP window; superior noise suppression but significant lag. |
| **DEMA** | 4 | 9 | 3 | 6 | Lag-canceling subtraction ⇒ structure distortion + overshoot risk. |
| **DWMA** | 7 | 2 | 10 | 10 | Ultra-smooth, but smears structure heavily (lag dominates). |
| **EMA** | 8 | 6 | 10 | 8 | Convex IIR (monotone) ⇒ faithful & stable, moderate lag. |
+1 -1
View File
@@ -30,7 +30,7 @@
| **Beta Coefficient** | Beta | BETA | - | Beta | - |
| **Bias** | Bias | - | - | - | - |
| **Bilateral Filter** | [Bilateral](../lib/trends/bilateral/Bilateral.md) | - | - | - | - |
| **Blackman Window MA** | Blma | - | - | - | - |
| **Blackman Window MA** | [Blma](../lib/trends/blma/Blma.md) | - | - | - | - |
| **Bollinger %B** | Bbb | - | - | - | ❔ |
| **Bollinger Band Squeeze** | Bbs | - | - | - | - |
| **Bollinger Band Width** | Bbw | - | - | - | ❔ |