TSFrames provides a convenient interface for performing standard manipulations of timeseries data. The package uses DataFrame at it’s core to allow powerful data manipulation functions while being lightweight. A lot of functionality/interfaces are inspired by the zoo and xts packages in the R ecosystem.
TSFrames.jl is registered in the general Julia repository, hence, can be added using Pkg.add("TSFrames").
Some of the design principles which were followed while building this package:
Handling of heterogeneous data types: most existing packages handles one type in the core data structure.
Easy maintenance: some main timeseries related packages are currently unmaintained.
Avoiding duplication of coding effort by using the core data structure of an existing widely used and well-tested package (DataFrames.jl).
Convenient syntax: most of the timeseries related data operations can be done using DataFrames but the syntax it isn’t really convenient or intuitive for such operations. The TSFrames interfaces are convenient for doing timeseries specific operations but under the hood most of them use DataFrames operations.
Can you send the link to your library? We (XKDR Forum) have also started work on some other finance-related packages which depend on TSFrames.jl. It would be good to know what each of us are doing to avoid overlap and collaborate, if possible.
Yes, we do plan to maintain the package going forward.
Just checked OnlineStats. Some of the methods which accept an array or <:Number as input just work by subsetting a TSFrame. Some others like Lag() which accept custom type are also able to store last N values of type TSFrame.