Skip to content

Repository files navigation

Unit root tests in Rust

Build

Description

Stationarity tests for time-series data in Rust.

At the moment: Dickey-Fuller test and Augmented Dickey-Fuller test with no constan no trend, constant or constant and trend.

License

This project is licensed under the terms of the Apache License 2.0.

Usage

Augmented Dickey-Fuller test:

use unit_root::prelude::distrib::{AlphaLevel,Regression};use unit_root::prelude::nalgebra::DVector;use unit_root::prelude::*;fnmain(){let y = DVector::from_row_slice(&[
-0.89642362,0.3222552,
-1.96581989,
-1.10012936,
-1.3682928,1.17239875,2.19561259,2.54295031,2.05530587,1.13212955,
-0.42968979,]);let lag = 2;// compute the test statisticlet regression = Regression::Constant;let report = tools::adf_test(&y, lag, regression).unwrap();// critical values for the model with a constant but no trend:let critical_value:f32 = distrib::dickeyfuller::get_critical_value(
regression,
report.size,AlphaLevel::OnePercent,).unwrap();assert_eq!(report.size,8);// comparisonlet t_stat = report.test_statistic;println!("t-statistic: {}", t_stat);println!("critical value: {}", critical_value);}

See examples for more.

Used by

Contributors

Languages