TimeDag.jl

A computational graph for time-series processing.
Author tpgillam
Popularity
17 Stars
Updated Last
1 Month Ago
Started In
August 2021

TimeDag

Stable Dev Build Status Coverage Code Style: Blue ColPrac: Contributor's Guide on Collaborative Practices for Community Packages

A computational graph for time-series processing.

using Dates
using Statistics
using TimeDag

# Create nodes — lazy generators of time-series data.
x = rand(pulse(Hour(2)))
y = rand(pulse(Hour(3)))

# Apply functions to nodes to make new nodes.
z = cov(x, lag(y, 2))

# Evaluate nodes over a time range to pull data through the graph.
evaluate(z, DateTime(2021, 1, 1, 0), DateTime(2021, 1, 1, 15))
Block{Float64}(5 knots)
|                time |      value |
|            DateTime |    Float64 |
|---------------------|------------|
| 2021-01-01T08:00:00 |        0.0 |
| 2021-01-01T09:00:00 |  0.0245348 |
| 2021-01-01T10:00:00 |  0.0100269 |
| 2021-01-01T12:00:00 | 0.00183812 |
| 2021-01-01T14:00:00 | 0.00559926 |

For more information and examples, see the documentation.