pyvallocation.utils.functions module
Portfolio Value-at-Risk (VaR) and Conditional VaR (CVaR) functions.
- pyvallocation.utils.functions.portfolio_cvar(w: np.ndarray, R: np.ndarray | pd.DataFrame, p: np.ndarray | None = None, alpha: float | None = None, demean: bool | None = None) float | np.ndarray[source]
Computes portfolio Conditional Value-at-Risk (CVaR or Expected Shortfall).
- Parameters:
w – Portfolio weights matrix (N, M). N=instruments, M=portfolios.
R – Instrument P&L or returns matrix (T, N). T=scenarios.
p – Scenario probability vector (T, 1). Defaults to uniform.
alpha – Confidence level for CVaR. Defaults to 0.95.
demean – If True, uses demeaned P&L. Defaults to False.
- Returns:
The portfolio’s alpha-CVaR, returned as a positive float or a 1xM array.
- pyvallocation.utils.functions.portfolio_var(w: np.ndarray, R: np.ndarray | pd.DataFrame, p: np.ndarray | None = None, alpha: float | None = None, demean: bool | None = None) float | np.ndarray[source]
Computes portfolio Value-at-Risk (VaR).
- Parameters:
w – Portfolio weights matrix (N, M). N=instruments, M=portfolios.
R – Instrument P&L or returns matrix (T, N). T=scenarios.
p – Scenario probability vector (T, 1). Defaults to uniform.
alpha – Confidence level for VaR. Defaults to 0.95.
demean – If True, uses demeaned P&L. Defaults to False.
- Returns:
The portfolio’s alpha-VaR, returned as a positive float or a 1xM array.