You are on page 1of 4

7/13/22, 12:38 AM temp-165766909015055410

In [50]: import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

%matplotlib notebook

from numpy.ma.core import transpose

from scipy.stats import norm

import Casabourselib as cbl

Stocks & Poids & Montant


In [51]: stocks=["ADH","DWY","SNA"]

weights = np.array([0.049624,0.846531,0.103845])

initial_investment=10000

Import Data
In [52]: data=[]

for tic in stocks:

df=cbl.get_price(tic, '01/01/2021', '07/07/2022')['Close']

data.append(df)

https://htmtopdf.herokuapp.com/ipynbviewer/temp/60c340b9e6edaaa8934aca386513e472/Untitled13.html?t=1657669091589 1/4
7/13/22, 12:38 AM temp-165766909015055410

In [53]: data=pd.DataFrame(data)

data=transpose(data)

data=data.dropna()

data.columns = ['ADH','DWY','SNA']

data

Out[53]:
ADH DWY SNA

Date

2021-01-04 6.45 431.00 10.31

2021-01-05 6.57 427.05 10.62

2021-01-06 6.72 436.00 10.26

2021-01-07 6.70 441.00 10.65

2021-01-08 6.65 450.95 11.00

... ... ... ...

2022-07-01 7.47 778.00 12.80

2022-07-04 7.46 731.40 12.76

2022-07-05 7.38 730.00 12.10

2022-07-06 7.45 715.00 12.07

2022-07-07 7.37 720.00 12.63

349 rows × 3 columns

In [54]: log_returns=np.log(data/data.shift())

log_returns

Out[54]:
ADH DWY SNA

Date

2021-01-04 NaN NaN NaN

2021-01-05 0.018434 -0.009207 0.029625

2021-01-06 0.022574 0.020741 -0.034486

2021-01-07 -0.002981 0.011403 0.037307

2021-01-08 -0.007491 0.022312 0.032335

... ... ... ...

2022-07-01 -0.030325 0.000000 -0.015504

2022-07-04 -0.001340 -0.061766 -0.003130

2022-07-05 -0.010782 -0.001916 -0.053110

2022-07-06 0.009440 -0.020762 -0.002482

2022-07-07 -0.010796 0.006969 0.045352

349 rows × 3 columns

https://htmtopdf.herokuapp.com/ipynbviewer/temp/60c340b9e6edaaa8934aca386513e472/Untitled13.html?t=1657669091589 2/4
7/13/22, 12:38 AM temp-165766909015055410

Matrix & Mean & Variance


In [55]: cov_matrix= log_returns.cov()

cov_matrix

Out[55]:
ADH DWY SNA

ADH 0.000559 0.000020 0.000115

DWY 0.000020 0.000255 0.000001

SNA 0.000115 0.000001 0.000738

In [56]: average_returns= log_returns.mean()

average_returns

Out[56]: ADH 0.000383

DWY 0.001475

SNA 0.000583

dtype: float64

In [57]: Portf_mean =average_returns. dot(weights)

Portf_mean

Out[57]: 0.0013278297455735133

In [58]: Portf_stdev= round(np.sqrt(weights.T.dot(cov_matrix).dot(weights)),4)

Portf_stdev

Out[58]: 0.014

Value-at-Risk parametric
In [59]: Conf_level1 = 0.05

In [60]: Cutoff1 =norm.ppf(Conf_level1, Mean_investment, Stdev_investment)

VaR_1dl = initial_investment- Cutoff1

VaR_1dl # 1 day

Out[60]: 217.00120777320626

https://htmtopdf.herokuapp.com/ipynbviewer/temp/60c340b9e6edaaa8934aca386513e472/Untitled13.html?t=1657669091589 3/4
7/13/22, 12:38 AM temp-165766909015055410

In [61]: num_days = 30

for x in range(1, num_days+1):

print(str(x) + " day VaR @ 95% Confidence: " + str(np.round(VaR_1dl * np.


sqrt(x),2)))

1 day VaR @ 95% Confidence: 217.0

2 day VaR @ 95% Confidence: 306.89

3 day VaR @ 95% Confidence: 375.86

4 day VaR @ 95% Confidence: 434.0

5 day VaR @ 95% Confidence: 485.23

6 day VaR @ 95% Confidence: 531.54

7 day VaR @ 95% Confidence: 574.13

8 day VaR @ 95% Confidence: 613.77

9 day VaR @ 95% Confidence: 651.0

10 day VaR @ 95% Confidence: 686.22

11 day VaR @ 95% Confidence: 719.71

12 day VaR @ 95% Confidence: 751.71

13 day VaR @ 95% Confidence: 782.41

14 day VaR @ 95% Confidence: 811.94

15 day VaR @ 95% Confidence: 840.44

16 day VaR @ 95% Confidence: 868.0

17 day VaR @ 95% Confidence: 894.72

18 day VaR @ 95% Confidence: 920.66

19 day VaR @ 95% Confidence: 945.89

20 day VaR @ 95% Confidence: 970.46

21 day VaR @ 95% Confidence: 994.42

22 day VaR @ 95% Confidence: 1017.83

23 day VaR @ 95% Confidence: 1040.7

24 day VaR @ 95% Confidence: 1063.08

25 day VaR @ 95% Confidence: 1085.01

26 day VaR @ 95% Confidence: 1106.49

27 day VaR @ 95% Confidence: 1127.57

28 day VaR @ 95% Confidence: 1148.26

29 day VaR @ 95% Confidence: 1168.59

30 day VaR @ 95% Confidence: 1188.56

https://htmtopdf.herokuapp.com/ipynbviewer/temp/60c340b9e6edaaa8934aca386513e472/Untitled13.html?t=1657669091589 4/4

You might also like