Skip to main content

A Python powered library for statistical analysis and visualization of state transition phenomena

Project description


transitionMatrix is a Python powered library for the statistical analysis and visualization of state transition phenomena. It can be used to analyze any dataset that captures timestamped transitions in a discrete state space. Use cases include credit rating transitions, system state event logs and more.


You can use transitionMatrix to

  • Estimate transition matrices from historical event data using a variety of estimators
  • Visualize event data and transition matrices
  • Characterise transition matrices
  • Manipulate transition matrices (derive generators, perform comparisons, stress transition rates etc.)
  • Access standardized datasets for testing

NB: transitionMatrix is still in active development. If you encounter issues please raise them in our github repository


  • transitioMatrix supports file input/output in json and csv formats
  • it has a powerful API for handling event data (based on pandas)
  • provides intuitive objects for handling transition matrices individually and as sets (based on numpy)
  • supports visualization using matplotlib


You can install and use the transitionMatrix package in any system that supports the Scipy ecosystem of tools


  • TransitionMatrix requires Python 3
  • It depends on numerical and data processing Python libraries (Numpy, Scipy, Pandas)
  • The Visualization API depends on Matplotlib
  • The precise dependencies are listed in the requirements.txt file.
  • TransitionMatrix may work with earlier versions of these packages but this has not been tested.

From PyPi

pip3 install pandas
pip3 install matplotlib
pip3 install transitionMatrix

From sources

Download the sources to your preferred directory:

git clone

Using virtualenv

It is advisable to install the package in a virtualenv so as not to interfere with your system’s python distribution

virtualenv -p python3 tm_test
source tm_test/bin/activate

If you do not have pandas already installed make sure you install it first (will also install numpy)

pip3 install pandas
pip3 install matplotlib
pip3 install -r requirements.txt

Finally issue the install command and you are ready to go!

python3 install

File structure

The distribution has the following structure:

transitionMatrix The library source code Main data structures
estimators Estimator methods
utils Helper classes and methods
thresholds Algorithms for calibrating AR(n) process thresholds to input transition rates
portfolio_model_lib Collection of portfolio analytic solutions
examples Usage examples
datasets Contains a variety of datasets useful for getting started with transitionMatrix
tests Testing suite


It is a good idea to run the test-suite. Before you get started:

  • Adjust the source directory path in transitionMatrix/__init__ and then issue the following in at the root of the distribution
  • Unzip the data files in the datasets directory

Getting Started

Check the Usage pages in this documentation

Look at the examples directory for a variety of typical workflows.

For more in depth study, the Open Risk Academy has courses elaborating on the use of the library

Project details

Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
transitionMatrix-0.4.0-py3.4.egg (4.1 MB) Copy SHA256 hash SHA256 Egg 3.4
transitionMatrix-0.4.0.tar.gz (4.5 MB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page