I have been looking for Time Series models over in SO, but I figured this place was the best site to actually ask the question.
I am wondering what is the "best" way to handle Time Series in .Net.
First, I would define a Time Series as a mapping of different DateTime with a single value of type T.
The value can possibly be null.
Several methods should be available so that the series can be manipulated easily. For example, you want to be able to Filter the data (based on criteria on dates and/or on values). You would also like to have an Apply method, which applies a given function to all the values. Ideally, you would be willing to run some of these functions in parallel to increase performance.
Several data structures already implement such features, such as a Dictionary<DateTime,T>, possibly even a SortedDictionary<DateTime,T>. However, these are mutable structures, which can be an issue if there are some closure effects.
Which model would/did you use?
Do you know an existing library already widely used for this matter?