Skip to content

Instantly share code, notes, and snippets.

@alex-groshev
Created May 8, 2015 16:33
Show Gist options
  • Save alex-groshev/73deba021028ac6642c8 to your computer and use it in GitHub Desktop.
Save alex-groshev/73deba021028ac6642c8 to your computer and use it in GitHub Desktop.
Cumulative (or expanding) and moving averages in C# Deedle
// insert into the same Frame
f.AddColumn("Column_CMA", Stats.expandingMean(f.GetColumn<double>("Column")));
f.AddColumn("Column_MVA3", Stats.movingMean(3, f.GetColumn<double>("Column")));
f.AddColumn("Column_MVA7", Stats.movingMean(7, f.GetColumn<double>("Column")));
// or as extension method
public static void AddMovingAverage(this Frame<DateTime, string> source, string column, int length)
{
if (length < 1)
{
throw new ArgumentException("length");
}
if (string.IsNullOrEmpty(column))
{
throw new ArgumentException("column");
}
source.AddColumn(
string.Format("{0}_MVA{1}", column, length),
Stats.movingMean(length, source.GetColumn<double>(column)));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment