feat: Add Cumulative Moving Average (CMA) implementation with detailed documentation

- Introduced Cma class for calculating the Cumulative Moving Average using Welford's algorithm with FMA for precision.
- Added methods for batch processing and streaming updates.
- Implemented a comprehensive markdown documentation for CMA, covering its mathematical foundation, performance profile, and use cases.
- Enhanced existing trend indicators (Bessel, Butter, Htit, Jma, Mama, Ssf, Vidya) with FMA for improved numerical stability and precision.
- Updated Adosc to utilize a single-pass algorithm for performance optimization.
- Fixed date initialization in benchmarks to ensure UTC consistency.
This commit is contained in:
Miha Kralj
2025-12-29 09:34:37 -08:00
parent 43ce6e63e4
commit 16a21a5b65
26 changed files with 1816 additions and 142 deletions
+2 -2
View File
@@ -100,7 +100,7 @@ public class IndicatorBenchmarks
{
_quotes.Add(new Quote
{
Date = new DateTime(_closeTseries.Times[i]),
Date = new DateTime(_closeTseries.Times[i], DateTimeKind.Utc),
Open = (decimal)bars.Open.Values[i],
High = (decimal)bars.High.Values[i],
Low = (decimal)bars.Low.Values[i],
@@ -115,7 +115,7 @@ public class IndicatorBenchmarks
{
_ooplesData.Add(new TickerData
{
Date = new DateTime(_closeTseries.Times[i]),
Date = new DateTime(_closeTseries.Times[i], DateTimeKind.Utc),
Open = bars.Open.Values[i],
High = bars.High.Values[i],
Low = bars.Low.Values[i],