scikit-learn interface

The following models are implemented in skwdro

Linear Models

Logistic Regression

LogisticRegression(rho, l2_reg, ...[, solver])

A Wasserstein Distributionally Robust logistic regression classifier.

Linear Regression

LinearRegression([rho, l2_reg, ...])

A Wasserstein Distributionally Robust linear regression.

Operations Research

NewsVendor

NewsVendor(rho, k, u, cost, l2_reg, ...)

A NewsVendor Wasserstein Distributionally Robust Estimator.

Portfolio Selection

Portfolio([rho, eta, alpha, C, d, ...])

A Wasserstein Distributionally Robust Mean-Risk Portfolio estimator.

Represents the Mean-Risk Portfolio model.

The stochastic optimisation problem associated with the optimal decision to be taken is

\underset{\theta \in \Theta}{\inf} \mathbb{E}^{\mathbb{P}}(- \langle \theta, \xi \rangle) + \eta \mathbb{P}\text{-CVaR}_{\alpha}(- \langle \theta, \xi \rangle)

where \eta \geq 0 and \alpha \in (0,1] are the risk aversion parameters, and \mathbb{P} \mathrm{-CVaR}_{\alpha} is the Conditional Value at Risk relative to the unknown probability distribution \mathbb{P} and confidence level \alpha. CVaR is a measure of risk used in financial mathematics. One of the most common definitions for a random variable X governed by a continuous probability distribution is as follows:

\text{CVaR}_{\alpha}(X) = \mathbb{E}[X | \ X \geq \text{VaR}_{\alpha}(X)]

where \mathrm{VaR}_{\alpha} is the Value at Risk of order \alpha, which corresponds exactly to the quantile of order \alpha. The CVaR is therefore the average expected value for the portfolio following the returns on investments, given that this value is greater than the Value at Risk.