Risk Measures
The risk module provides a set of risk metrics to measure the risk associated with a portfolio such as Value at Risk (VaR) and Conditional Value at Risk (CVaR).
import pandas as pd
import numpy as np
from quantmod.risk import (
RiskInputs,
ValueAtRisk,
ConditionalVaR,
VarBacktester
)
if __name__ == "__main__":
df = pd.read_csv("data.csv", index_col=0, parse_dates=True)['ICICIBANK']
log_returns = np.diff(np.log(df))
var = ValueAtRisk(inputs=RiskInputs(returns=log_returns, confidence_level=0.99), method='historical').var
es = ConditionalVaR(inputs=RiskInputs(returns=log_returns, confidence_level=0.99)).cvar
# Historical VaR and CVaR
print(f"Historical VaR: {var}")
print(f"Historical CVaR: {es} \n")
# VaR Backtest
backtest_results = VarBacktester(inputs=RiskInputs(returns=log_returns, confidence_level=0.99)).run
print(f"Backtested VaR Results: \n {backtest_results}")