Skip to content

Igor0Pires/Econo-BoxJenkins-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EconoDelta Box-Jenkins Lab

A training environment for visualizing and identifying Box-Jenkins models in economic time series analysis.

Overview

This project provides tools for generating and analyzing time series models:

  • Generate AR, MA, and ARMA processes with customizable parameters
  • Visualize ACF/PACF and statistical properties
  • Practice Box-Jenkins model identification
  • Compare and estimate ARIMA models

Target audience: Economics students, macro research analysts, and finance professionals.

Project Structure

EconoDelta-BoxJenkins-Lab/
├── README.md
├── requirements.txt
├── src/
│   ├── __init__.py
│   └── generator.py          # DGP generation classes
└── notebooks/
    └── analytics.ipynb       # Analysis examples

Main Components

DGPBuilder: Fluent interface for building model specifications

  • Configure AR(p) and MA(q) processes
  • Set sample size and error parameters
  • Combine AR and MA components

DGPGenerator: Simulates time series from specifications

  • Supports arbitrary lag structures
  • Reproducible with seed control

DGPSpec: Immutable model specification containing structure, parameters, and metadata

Quick Start

Installation

git clone https://github.com/Igor0Pires/Econo-BoxJenkins-lab.git
cd Econo-BoxJenkins-lab
pip install -r requirements.txt

Usage Examples

Generate an AR(1) process:

from src import generator as gen

spec = gen.DGPBuilder()\
    .with_ar(p=1, ar_params=[0.7])\
    .with_size(200)\
    .build()

series = gen.DGPGenerator(spec).simulate(seed=42)

Generate an ARMA(1,1) process:

spec = gen.DGPBuilder()\
    .with_ar(p=1, ar_params=[0.5])\
    .with_ma(q=1, ma_params=[0.3])\
    .with_size(300)\
    .build()

series = gen.DGPGenerator(spec).simulate()

Seasonal AR with lags [1, 12]:

spec = gen.DGPBuilder()\
    .with_ar(p=[1, 12], ar_params=[0.6, 0.4])\
    .with_size(500)\
    .build()

series = gen.DGPGenerator(spec).simulate()

Box-Jenkins Methodology

The project follows the classic three-step approach:

  1. Identification: ACF/PACF analysis and model order selection
  2. Estimation: Parameter estimation using MLE with AIC/BIC comparison
  3. Diagnostic: Residual analysis and model validation

Technologies

  • pandas - Time series manipulation
  • numpy - Numerical operations
  • matplotlib/seaborn - Visualizations
  • statsmodels - ARIMA modeling
  • jupyter - Interactive analysis

Developed by Igor Pires 🚀

About

A training environment for visualizing and identifying Box-Jenkins models in economic time series analysis.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors