HMath.TimeSeries¶
Module index · Numerical conventions
Description
Timestamped observations, bounded CPU forecasting, decomposition and diagnostics. See the individual modules for missing-data, fit and error contracts.
On this page¶
| API | Purpose |
|---|---|
| difference | Apply (1-B^lag)^order. |
| autocorrelation | Biased covariance divided by lag-zero covariance, global sample mean. |
| resample | Linear samples require brackets (or an exact timestamp). |
| crossCorrelation | Corr(x_t,y_(t+lag)), global means and full lag-zero energy normalization. |
| Series | Opaque, validated timestamps paired with optional observations. |
| series | Preserve order and missing values; reject duplicate or nonfinite times. |
| regularSeries | Sample times start+i*step. |
| observations | Extract time-ordered (timestamp,Maybe value) observations from a validated Series. |
| seriesValues | Complete-data conversion never silently drops a missing observation. |
| isRegular | Relative spacing tolerance; fewer than three observations are regular. |
| Alignment | Time-series timestamp join policy: Inner intersection or Outer union,with missing values explicit. |
| Inner | Declaration and type contract below. |
| Outer | Declaration and type contract below. |
| LeftAligned | Declaration and type contract below. |
| align | Exact timestamp equality. |
| Fill | Missing-value strategy selecting forward fill,backward fill,or linear interpolation under the checked boundary rules. |
| ForwardFill | Declaration and type contract below. |
| BackwardFill | Declaration and type contract below. |
| LinearFill | Declaration and type contract below. |
| fillMissing | Directional filling leaves the unavailable leading/trailing end missing. |
| Resampling | Series resampling policy selecting bin means,last-bin values,or linear point samples. |
| LinearSamples | Declaration and type contract below. |
| BinMean | Declaration and type contract below. |
| BinLast | Declaration and type contract below. |
| Rolling | Rolling-window statistic selector for mean,variance,standard deviation,minimum,or maximum. |
| MovingMean | Declaration and type contract below. |
| MovingVariance | Declaration and type contract below. |
| MovingSD | Declaration and type contract below. |
| MovingMinimum | Declaration and type contract below. |
| MovingMaximum | Declaration and type contract below. |
| rolling | Full trailing windows only; variance is population variance (ddof=0). |
| exponentialAverage | Recursive EMA, initialized at the first observation; 0<alpha<=1. |
| weightedAverage | Nonnegative chronological weights: first weight multiplies oldest sample. |
| cumulativeReturns | Cumulative simple return relative to the first strictly positive price. |
| logarithmicReturns | Consecutive log returns, using log prices to avoid ratio overflow. |
| durbinLevinson | Levinson recursion for a positive definite Toeplitz covariance. |
| yuleWalker | Biased sample autocovariances with centered data; returns mean separately. |
| partialAutocorrelation | Given maximum lag then samples, compute ACF and Durbin-Levinson partial correlations, returning lag zero (1) followed by requested PACF lags. |
Documentation
difference
difference :: Int -> Int -> [Double] -> Either MathError [Double] Source #
Apply (1-B^lag)^order. Zero order preserves data; at least one output is required.
autocorrelation
autocorrelation :: Int -> [Double] -> Either MathError [Double] Source #
Biased covariance divided by lag-zero covariance, global sample mean.
resample
resample :: Resampling -> Double -> Double -> Int -> Series -> Either MathError Series Source #
Linear samples require brackets (or an exact timestamp). Bins are [start+i*step,start+(i+1)*step); the final right endpoint is excluded.
crossCorrelation
crossCorrelation :: Int -> [Double] -> [Double] -> Either MathError Double Source #
Corr(x_t,y_(t+lag)), global means and full lag-zero energy normalization.
Series
Opaque, validated timestamps paired with optional observations.
series
series :: [(Double, Maybe Double)] -> Either MathError Series Source #
Preserve order and missing values; reject duplicate or nonfinite times.
regularSeries
regularSeries :: Double -> Double -> [Maybe Double] -> Either MathError Series Source #
Sample times start+i*step. Rounded duplicate times are rejected as well.
observations
observations :: Series -> [(Double, Maybe Double)] Source #
Extract time-ordered (timestamp,Maybe value) observations from a validated Series. Missing values remain Nothing.
seriesValues
seriesValues :: Series -> Either MathError [Double] Source #
Complete-data conversion never silently drops a missing observation.
isRegular
isRegular :: Double -> Series -> Either MathError Bool Source #
Relative spacing tolerance; fewer than three observations are regular.
Alignment
Time-series timestamp join policy: Inner intersection or Outer union,with missing values explicit.
Constructors
| Inner | |
| Outer | |
| LeftAligned |
align
align :: Alignment -> Series -> Series -> Either MathError (Series, Series) Source #
Exact timestamp equality. Missing alignment positions are explicit Nothing.
Fill
Missing-value strategy selecting forward fill,backward fill,or linear interpolation under the checked boundary rules.
Constructors
| ForwardFill | |
| BackwardFill | |
| LinearFill |
fillMissing
fillMissing :: Fill -> Series -> Either MathError Series Source #
Directional filling leaves the unavailable leading/trailing end missing. Linear filling interpolates between finite anchors and never extrapolates.
Resampling
data Resampling Source #
Series resampling policy selecting bin means,last-bin values,or linear point samples.
Constructors
| LinearSamples | |
| BinMean | |
| BinLast |
Instances
| Show Resampling Source # | |
Defined in HMath.TimeSeries.Core Methods showsPrec :: Int -> Resampling -> ShowS # show :: Resampling -> String # showList :: [Resampling] -> ShowS # | |
| Eq Resampling Source # | |
Defined in HMath.TimeSeries.Core | |
Rolling
Rolling-window statistic selector for mean,variance,standard deviation,minimum,or maximum.
Constructors
| MovingMean | |
| MovingVariance | |
| MovingSD | |
| MovingMinimum | |
| MovingMaximum |
Instances
rolling
rolling :: Rolling -> Int -> [Double] -> Either MathError [Double] Source #
Full trailing windows only; variance is population variance (ddof=0).
exponentialAverage
exponentialAverage :: Double -> [Double] -> Either MathError [Double] Source #
Recursive EMA, initialized at the first observation; 0<alpha<=1.
weightedAverage
weightedAverage :: [Double] -> [Double] -> Either MathError [Double] Source #
Nonnegative chronological weights: first weight multiplies oldest sample.
cumulativeReturns
cumulativeReturns :: [Double] -> Either MathError [Double] Source #
Cumulative simple return relative to the first strictly positive price.
logarithmicReturns
logarithmicReturns :: [Double] -> Either MathError [Double] Source #
Consecutive log returns, using log prices to avoid ratio overflow.
durbinLevinson
durbinLevinson :: [Double] -> Either MathError ([Double], Double, [Double]) Source #
Levinson recursion for a positive definite Toeplitz covariance. Returns AR coefficients, innovation variance, and PACF (without the lag-zero one).
yuleWalker
yuleWalker :: Int -> [Double] -> Either MathError ([Double], Double, Double) Source #
Biased sample autocovariances with centered data; returns mean separately.
partialAutocorrelation
partialAutocorrelation :: Int -> [Double] -> Either MathError [Double] Source #
Given maximum lag then samples, compute ACF and Durbin-Levinson partial correlations, returning lag zero (1) followed by requested PACF lags. Invalid lag/data or singular covariance recurrence returns Left MathError.
module HMath.TimeSeries.Models
module HMath.TimeSeries.Diagnostics