Skip to content

TimeDataFrames

MichelJuillard edited this page May 12, 2022 · 1 revision

TimeDataFrames.jl

  • There is a widespread need for manipulating timeseries data with the ease provided by DataFrames.jl
  • In time series, an observation is indexed by the period it refers to.
  • It is easier to work with continuous timeseries where all periods are stored in the DataFrames (including some Missing observation)
  • In a few cases, observation are so irregular that it makes more sense to store only available observations in discontionuous manner (particularily true for daily data)
  • In macroeconomics, there are no intraday observations, contrarily to finance. Intraday observation most likely need a different package.
  • A given TimeDataFrame collects data at a uniform frequency

Dynare

  • Time series appear at many places in Dynare
    • Observations for estimation and smoothing
    • Simulations of deterministic and stochastic models
    • Impulse response functions (IRF)
    • Forecasts
  • It is better to store time series as such and extract appropriate vectors and matrices to pass them to various algorithms, rather than store the data as vector and matrices and build timeseries for input out operations because then the time indices must be kept separately
  • Most time series correspond to determined historical periods, but some such as IRFs maybe undated. It is best to have undated periods indexed with integers and be able to use the same as for other time series.
  • Time series must be loaded and saved from files in the usual formats (CSV, ...)
  • There is no Dynare specific syntax. The Dynare user handles time series with the functions defined in TimeDataFrames.jl
  • The following period frequencies must be available: day, week, month, quarter, semester, year, undated (see ExtendedDates.jl)
  • Univariate functions and bivariate functions/operators must interact simply with the vectors underlying a time series (as in DataFrames column transformations)
  • There as some functions specific to time series:
    • align time series spanning different time intervals (of the same frequency)
    • time aggreation and time interpolation to transform a time series of a given frequency in another one
    • lag and lead functions
    • time difference and growth rate
    • cumulating a time series
    • filtering and trend extraction (could be part of another package providing statistical methods for time series)
    • seasonal adjustment (such as X13 US Census program)
  • Simple functions for table representation and time series plots.
Clone this wiki locally