Skip to main content

Build Status

Screenshot

PyCopula is an easy-to-use Python library that allows you to study random variables dependencies with copulas. It comes with useful tools and features to plot, estimate or simulate on copulas.

Installation

Installation via pip always offers you the last stable version of the package.

pip install pycopula

However, if you are looking for latest updates, consider installation directly from sources.

git clone https://github.com/MaximeJumelle/pycopula.git
cd pycopula
python setup.py install

Features

PyCopula natively handle various families of copulas including :

  • Archimean Copulas
    • Clayton
    • Gumbel
    • Joe
    • Frank
    • Ali-Mikhail-Haq
  • Elliptic Copulas
    • Gaussian
    • Student

Estimation

Three methods of estimation, based on SciPy numerical optimization routines, are available to provide high flexibility during fitting process.

  • Moments estimation on particular copulas
  • Maximum Likelihood Estimation (MLE)
  • Inference For Margins (IFM)
  • Canonical Maximum Likelihood Estimation (CMLE)

Usage

PyCopula was designed to provide an easy-to-use interface that does not require a lot in both programming and computing. As a result, only a few lines are needed to properly fit any copulas, as demonstrated in the following code snippet.

import pandas as pd
from pycopula.copula import ArchimedeanCopula

data = pd.read_csv("data/classic.csv").values[:,1:]

archimedean = ArchimedeanCopula(family="gumbel", dim=2)
archimedean.fit(data, method="cmle")
Archimedean Copula (gumbel) :
*	Parameter : 1.605037

Visualization

3D PDF and CDF

Screenshot

Concentration Functions

Screenshot

Estimation

Simulation

Screenshot

Development

Currently, there are only a few features implemented in the library, which are the basics components for copula handling :

  • Creating Archimedean, Gaussian and Student copulas
  • 3D plot of PDF and CDF
  • Concentration functions and visualization
  • Estimation of copulas parameters (CMLE, MLE, IFM)

In the future, I plan to release the following features :

  • Goodness-of-fit
  • Copula selection with criterions and statistical testing
  • Examples of applications in real world with open data

Also, if you are interested in the project, I would be happy to collaborate with you since there are still quite a lot of improvements needed (computation, estimation methods, visualization) and that I don't have enough time on my hands to do it quickly.

Release files for pycopula 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pycopula 0.1.5
File Size Uploaded
pycopula-0.1.5.linux-x86_64.tar.gz 34.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pycopula 0.1.5
File Interpreter ABI Platform
pycopula-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 56.1 kB

Release files / pycopula-0.1.5.linux-x86_64.tar.gz

Download URL pycopula-0.1.5.linux-x86_64.tar.gz
Size 34.3 kB
Tags Source
SHA-256 checksum
How to use checksums
68fad62f254707aae037d34832785f7322272aa193e5ccc7318a1aa3ad714e6a
BLAKE2b-256 checksum
How to use checksums
ad85f8539e7338592522f8a5bef9b89a2cde009c93b4f38959d7e1d23635e70d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

Release files / pycopula-0.1.5-py3-none-any.whl

Download URL pycopula-0.1.5-py3-none-any.whl
Size 21.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2270c82e4198597acd36cc17b2e4b4e70ba03c3055cb98c1bd0ddf8e47157f9d
BLAKE2b-256 checksum
How to use checksums
965be275588c5aad08daa1a85517c3500b0ab20a948a2a3495300c1366ce5c3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page