public static function exponentialMovingAverage(array $numbers, int $n) : array
{
$m = count($numbers);
$α = 2 / ($n + 1);
$EMA = [];
// Start off by seeding with the first data point
$EMA[] = $numbers[0];
// Each day after: EMAtoday = α⋅xtoday + (1-α)EMAyesterday
for ($i = 1; $i < $m; $i++) {
$EMA[] = $α * $numbers[$i] + (1 - $α) * $EMA[$i - 1];
}
return $EMA;
}