State Space Models in Python
Project description
State Space
State Space is a Python package that permits the symbolic specification of linear state space models with normally distributed innovations and measurement errors. Coefficients are defined via SymPy matrices which are then compiled into a numerical statsmodels implementation. These unobserved state is inferred via Kalman filtering and model parameters are estimated via maximum likelihood using statsmodels as the numerical backend.
Stochastic Process
A linear state space model consists of a state evolution equation and an observation equation. The state is not directly observed, instead a linear transformation of the state with added Gaussian noise is observed. In a linear state space model, the state evolves according to
,
where the coefficients T, c, and R may depend on exogenous variables but not on the state itself. They may involve parameters that must be estimated from the data. The state innovation \eta_t has a multivariate normal distribution with zero mean and covariance matrix Q, which may depend on exogenous variables but not the state itself.
The observation equation maps the unobserved state according to
.
The observation noise \epsilon_t has a multivariate normal distribution with zero mean and covariance matrix H. The coefficients Z, d, as well as H may depend on exogeneous data and involve unknown parameters that are estimated via MLE.
State Space adopts the following terminology:
T: transition matrix
c: state intercept vector
R: selection matrix
Q: state covariance matrix
Z: design matrix
d: observation intercept
H: observation covariance matrix
The coefficients T,c, R, Q, Z, d, H are specified as SymPy matrices and may involve unknown parameters and exogenous data.
Examples
State Space includes two examples in Jupyter notebooks:
1.) A conditional linear factor model for returns of the Ford motor corporation with S&P 500 returns as the factor.
2.) A model of time-variation in the equity premium applied to S&P 500 index data.
Installation
pip install state_space
or
pip3 install state_space
if not using Anaconda.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for state_space-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e585de451f750e93fe0da2e3295bf3f1a3cbc75154a51fa7e3f92365d20eae78 |
|
MD5 | cbb1c8f3fec74fb5c762942047f98207 |
|
BLAKE2b-256 | ee37ee7ee401167c3534a6c46c5c74ce650c8f2a789eb0ee62574e6c74fbf550 |