doc headers

This commit is contained in:
Miha Kralj
2026-02-27 07:48:12 -08:00
parent 8a1ba95173
commit 4ab3a7fb53
389 changed files with 6682 additions and 468 deletions
+18 -1
View File
@@ -1,5 +1,22 @@
# FRAMA: Ehlers Fractal Adaptive Moving Average
| Property | Value |
| ---------------- | -------------------------------- |
| **Category** | Trend (IIR MA) |
| **Inputs** | OHLCV bar (TBar) |
| **Parameters** | `period` |
| **Outputs** | Single series (Frama) |
| **Output range** | Tracks input |
| **Warmup** | `pe` bars |
### TL;DR
- FRAMA is John Ehlers' fractal adaptive moving average.
- Parameterized by `period`.
- Output range: Tracks input.
- Requires `pe` bars of warmup before first valid output (IsHot = true).
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
> "Markets do not move at one speed. FRAMA listens to the roughness and adjusts the filter."
FRAMA is John Ehlers' fractal adaptive moving average. It estimates a fractal dimension from high and low ranges, then converts that dimension into a dynamic EMA alpha. The result is a moving average that tightens in trends and relaxes in noise.
@@ -207,4 +224,4 @@ This approach is simple and cache-friendly for typical periods (10-50). Monotoni
1. **Period parity**: The algorithm requires even `N`. Odd values are rounded up.
2. **Warmup**: Outputs are `NaN` until `N` bars are available.
3. **Range source**: FRAMA uses High and Low ranges. Feeding Close-only data collapses the ranges.
4. **Bar correction**: Use `isNew=false` for corrections so the last bar is recomputed safely.
4. **Bar correction**: Use `isNew=false` for corrections so the last bar is recomputed safely.