(* ::Package:: *) BeginPackage["timeseries`"]; autoCorrelation::usage = "auto correlation"; autoCovariance::usage = "covariance against a time shifted version"; Begin["`Private`"]; (* ::Input:: *) (**) autoCorrelation[data0_, h0_, t0_]:= Module[{data = data0, h =h0, t =t0,datatimet,datatimetplush,cov1h, cov10}, datatimet = data[[t;;Length[data]-h]]; datatimetplush = data[[t+h;;Length[data]]]; cov1h=Covariance[datatimet,datatimetplush]; h=0; datatimet = data[[t;;Length[data]-h]]; datatimetplush = data[[t+h;;Length[data]]]; cov10=Covariance[datatimet,datatimetplush]; (cov1h/cov10)//N ]; (* Covariace of the same signal between t+h0 and t+h1 shifts *) autoCovariance[data0_, h0_,h1_, t0_]:= Module[{data = data0, hh0 =h0, hh1= h1,t =t0,datatimet,datatimetplush,cov1h,h}, h = Abs[hh0-hh1]; datatimet = data[[t;;Length[data]-h]]; datatimetplush = data[[t+h;;Length[data]]]; cov1h=Covariance[datatimet,datatimetplush]; cov1h//N ]; End[]; EndPackage[];