Metadata-Version: 2.4
Name: econometron
Version: 0.0.3
Summary: Econometron is a Python library for advanced econometric analysis and time series forecasting,combining statistical rigor with modern computational methods. It offers a precise,extensible framework for exploring complex economic and financial dynamics.
Home-page: https://econometron.netlify.app
Author: Mohamed Amine Ouerfelli
Author-email: mohamedamine.ouerfelli@outlook.com
License: MIT
Project-URL: Source, https://github.com/AmineOuerfellii/econometron
Project-URL: Documentation, https://econometron.netlify.app
Project-URL: Tracker, https://github.com/AmineOuerfellii/econometron/issues
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.23.5
Requires-Dist: pandas>=1.5.3
Requires-Dist: scipy>=1.13.0
Requires-Dist: matplotlib>=3.8.4
Requires-Dist: statsmodels>=0.14.1
Requires-Dist: sympy>=1.13.0
Requires-Dist: torch>=1.13.1
Requires-Dist: scikit-learn>=1.0.2
Requires-Dist: torchinfo>=1.7.2
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary


![Econometron Logo](/econometron.png)

# Econometron: A Python package for Econometric and Time Series Analysis

## Introduction

Econometron is a Python library designed for econometric modeling, time series analysis, and dynamic stochastic general equilibrium (DSGE) model solving and estimation. It provides a wide range of tools for researchers, economists, and data scientists to build, estimate, and analyze complex multivariate time series models and non-linear DSGE models. With a focus on flexibility and performance, Econometron supports both classical and modern approaches, including state-of-the-art neural network-based forecasting and robust statistical methods.

Whether you're modeling economic time series, performing impulse response function (IRF) analysis, or solving non-linear DSGE models, Econometron offers a unified and efficient framework to streamline your workflow.

## Key Features

### Multivariate Statistical Time Series Models
- **VAR (Vector Autoregression):** Model the dynamic relationships between multiple time series.  
- **SVAR (Structural Vector Autoregression):** Incorporate structural restrictions for causal inference and policy analysis.  
- **VARMA (Vector Autoregressive Moving Average):** Combine autoregressive and moving average components for enhanced flexibility.  
- **VARIMA (Vector Autoregressive Integrated Moving Average):** Handle non-stationary time series with differencing.  

### VARMA Identification
- **Echelon Form Identification:** Implements the echelon form approach for identifying VARMA models, ensuring robust and unique parameter estimation in Python.

### Neural Network-Based Forecasting
- **N-BEATS (Neural Basis Expansion Analysis for Time Series):** A state-of-the-art deep learning model for univariate and multivariate time series forecasting.  
- **N-BEATS + RevIN:** Enhances N-BEATS with Reversible Instance Normalization (RevIN) for improved generalization and robustness.

### State Space Models
- Flexible framework for modeling complex dynamic systems using state space representations, suitable for both linear and non-linear systems.

### Estimation Methods
- **Bayesian Estimation:** Leverage Bayesian techniques for parameter estimation, incorporating prior knowledge and uncertainty quantification.  
- **Maximum Likelihood Estimation (MLE):** Optimize model parameters using likelihood-based methods for precise inference.

### Impulse Response Functions (IRF)
- **Local Projection IRF:** Compute impulse response functions using local projection methods, ideal for non-linear and robust analysis.

### Non-Linear DSGE Model Solving
- **Projection Methods:** Solve non-linear DSGE models using advanced numerical techniques:  
  - Galerkin Method: Project solutions onto a basis of functions for accurate approximation.  
  - Collocation Method: Solve at specific points to approximate the policy function.  
  - Least Squares Method: Minimize residuals to find optimal solutions.


## Getting Started
To use Econometron, install it via pip:

```bash
pip install econometron
````

### Example: Fitting a VAR Model

```python
from econometron.Models.VectorAutoReg import VAR

# Load your time series data
data = ...  # Your multivariate time series data
model = VAR(data,maxp=2)
results = model.fit()
```

For detailed documentation, tutorials, and examples, visit the [Econometron Documentation](https://econometron.netlify.app).



## Why Econometron?

* **Comprehensive:** Covers a wide range of econometric models, from classical VAR to cutting-edge neural network approaches.
* **Flexible:** Supports both statistical and machine learning-based methods for time series analysis.
* **Robust:** Implements state-of-the-art estimation and identification techniques for reliable results.
* **User-Friendly:** Designed with Python's ecosystem in mind, integrating seamlessly with libraries like NumPy, Pandas, and PyTorch.



## Code of Conduct

We are committed to fostering a welcoming and inclusive community. All participants are expected to:

* Be respectful and considerate in interactions.
* Avoid harassment or discriminatory behavior.
* Use constructive feedback and maintain professionalism.
* Respect the community and project’s guidelines.

Violations may result in removal from the project or community channels. Please read the full [Code of Conduct](/CODE_OF_CONDUCT.md) for details.



## Contributing

Contributions are highly valued. To contribute:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Implement your changes with clear, well-documented code.
4. Run all tests to ensure stability.
5. Submit a pull request describing your changes in detail.

For more information, see the full [Contributing Guide](/CONTRIBUTING.md).



## License

Econometron is licensed under the MIT License. See the LICENSE file for more information.
