damar-wicaksono / uqtestfuns

A Python3 library of test functions from the uncertainty quantification community with a common interface for validation and benchmarking purposes.
https://uqtestfuns.readthedocs.io/en/latest/
MIT License
8 stars 0 forks source link

Add the simple portfolio model from Saltelli et al. (2004) #319

Closed damar-wicaksono closed 8 months ago

damar-wicaksono commented 9 months ago

The simple portfolio model was used in the opening of Saltelli et al.'s book[^book] to introduce sensitivity analysis of a computational model. The model is a three-dimensional model that reads:

$$ Y = C_s P_s + C_t P_t + C_j P_j, $$

where $Y$ is the estimated risk (in Euro)[^return], $C_i$ is the quantities per item (assumed to be constant), and $P_i$ is the hedged portfolio (in Euro). The input variables of the model is the hedged portfolio. The average return per portfolio is zero.

$$ \begin{align} P_s & \sim \mathcal{N}(\bar{p}_s = 0, \sigma_s = 4) \ P_t & \sim \mathcal{N}(\bar{p}_t = 0, \sigma_t = 2) \ P_j & \sim \mathcal{N}(\bar{p}_j = 0, \sigma_j = 1) \end{align} $$

A hedged portfolio with a larger $\sigma_i$ indicates a more volatile portfolio. The uncertain hedged portfolio is assumed to be independent.

The moment and the mean of the model is analytical:

$$ \begin{align} Y & \sim \mathcal{N}(\bar{y}, \sigma_y) \ \bar{y} & = C_s \bar{p}_s + C_t \bar{p}_t + C_j \bar{p}_j = 0 \ \sigma_y & = \left( C_s^2 \sigma_s^2 + C_tˆ2 \sigma_t^2 + C_jˆ2 \sigma_j^2 \right)^{0.5} \end{align} $$

The choice for the values of $C_i$'s indicate the "scenario" of investment. The book has the following three scenarios:

[^book]: A. Saltelli, S. Tarantola, F. Campolongo, and M. Ratto, Sensitivity analysis in practice: a guide to assessing scientific models. Hoboken, NJ: Wiley, 2004. [^return]: strictly speaking, it's the return of investment. It is called a risk because the value may be negative.

damar-wicaksono commented 8 months ago

This issue has been resolved by PR #321.