The Triangular Moving Average (TRIMA) places the majority of its weight on the middle of the data window, tapering off linearly towards the ends. This creates a triangular weight distribution (hence the name). It is mathematically equivalent to a double-smoothed SMA.
## Historical Context
TRIMA has been a staple in cycle analysis. By double-smoothing the data, it effectively removes high-frequency noise, making it ideal for identifying dominant market cycles. However, this smoothness comes at the cost of significant lag.
## Architecture & Physics
TRIMA is implemented as a cascade of two Simple Moving Averages.
$$ TRIMA = SMA(SMA(Price, P_1), P_2) $$
Where $P_1$ and $P_2$ are roughly half the total period.
### The Weight Distribution
An SMA has a rectangular weight distribution (all weights equal). A WMA has a linear distribution (heaviest at the end). TRIMA has a triangular distribution (heaviest in the center).
## Mathematical Foundation
### 1. Period Splitting
$$ P_1 = \lfloor \frac{N}{2} \rfloor + 1 $$
$$ P_2 = \lceil \frac{N+1}{2} \rceil $$
### 2. The Cascade
$$ TRIMA = SMA(SMA(Price, P_1), P_2) $$
## Performance Profile
### Operation Count (Streaming Mode, Scalar)
TRIMA chains two SMA instances. Each SMA is O(1) with ~17 cycles (see SMA.md).