From c6f03e47b7af53ddc54193ec054cb2a09ccfbec2 Mon Sep 17 00:00:00 2001 From: MariusGir <96572064+MariusGir@users.noreply.github.com> Date: Fri, 23 Dec 2022 21:24:49 +0100 Subject: [PATCH] Plot Confidence --- __pycache__/functions.cpython-39.pyc | Bin 9381 -> 9997 bytes main.py | 17 +++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/__pycache__/functions.cpython-39.pyc b/__pycache__/functions.cpython-39.pyc index d0a407a58b024ac88664123a5efe1a96f914c061..bd8991a332fbe874cdab4672954f9ae1681d4aa4 100644 GIT binary patch delta 1876 zcmbVMOKc-W5bd6y$DbL0)^VITi6@^8HWK+jfRIH*V$Fsu0R_TdqChm89(yeu+q7qY zp{+ga9=JriQA;4S5lSRJ;s6rzfdfK9NJtgt)U zdh@D2oLzs(v<)MGV4TxFTB(d|m_4S35h94-5?aKhcVluK_ig;#cv0P~Uqy2z!lYg&|;Sv6qo--qmrvdXU%-SNK^QR~4Mgi4LX5`Ro z$$FTXTiBHtVwi=Av@UOBjNTk}FNLB!NJ+Qwk1%xrw@e_Mvnju~+r;Vu19ez!Xk z&=;0hZI>3WHThj5lbaCth)dC_5DsAJUrko9juV&)&x#0TZ-`T2m|kcE6ebazLUn`d zrlmnFM&0BOn^w1{LZB?1L_}sr9HkIoqu3W3pZouo2CYXdvM^>H8dDb7q?pe;)G50~ zyTsGo9sH|Mtcy4$*S0bql-YoIW#>D%`V+%TC}@Pu9ZA^jc(eO?cFS-@Q?CNf&hq7I zGtkyZYk(Ipv*OaT3 ztJ&x-R*~3K!aoI~sd{+OGkiXgnk&Ojtp~(mFha*cnFjw6P#z!z!9a%h68mKMGGXL1)R5_Qs4eBmGln43oEO@h+3dmLj{q}~?HJDzB z zlk`JePZ?$mEEA@O&Ke&~WzW0N9$4t61ikHwZz9b|IqecEGX5`>AVks9gq%xOS8eq{o9}LLC8-jq%sh7bU9lW_qaq z3)rb8K%kBYHn9Rv4EWw|fZdqRHu|l1r4Fx@dk4W?@U4&)kD^utYpqc4?wa0R2X@y!Gbql&iT?ip70an# delta 1568 zcmb_cO^6&t6t3#-`S0%e+4dHYPa9)`s9+WS)q7Rd)$e;> zz1}!|GtdWM+0!~t5T zrQXN%1**F7S7Q|kW`oxEVj#WKI~SLv-n)S!r7Pl2a6Wp*YP1cf>TtUk4t-5&NqigL zAKVA=n^AE$`?z>2qGgicYVaI~r+p5W*H6BOE0rZu+Z8glKXpSEf zn_4s)esQgCIlOwIBtF#UR-S-8?F0ZBQE8YezeQyQ#w_Ky^3$*DKV13Z-j7e0b==}N zwDAKTfoH)GcT$Gb)x=)iNOiS5Nabp2GEN{u*T&cFnQY+J@hb7)6{g zD%D2Su?<$ORBUcH%C^5le6D5|hg(*;ZNFwTD~7Xf8_%?yYO`U?RccMkF{60ejs#KM z9L9W8N3P)z8-7hRQu+DQu-wKyB+U;4K0*gG;L&lwKsstyV-$qJw4*rbU>7LmiO(@d zTJhLXp?Y7r=V28Yip|^v zs&^}AWFJ(INuGkT#e4Bo?CDJJCZvLBJ-G9Sq@4cB1q{Aq( z85-8_ez5y;+hH8v?8`N~0q*&FKhSEvX>(KKMVRL+2q(nZ*|+Fz@!jk+Jtdwj6fP+o zFFcnKJPwOsng3;0e&_^K>jxU=>#d8!@G$MXfRIA){yX^7@G6XF@$&Jb2&hY6@ltY1 kd|D_R!brjj89*Wis*z5RL4pPc>V!XL{W16FsN?#~@9UpqQ~&?~ diff --git a/main.py b/main.py index 8ba14e2..76563c7 100644 --- a/main.py +++ b/main.py @@ -80,6 +80,18 @@ maturity=maturity, rho=rho, kappa=kappa, theta=theta, sigma=sigma, nb_steps=nb_steps, nb_simuls=nb_simuls, seed=seed)) +#Interval Confidence +confidenceinterval = [] +for simulations in range(1,1000): + S_test = GeneratePathsHestonEuler(S0=S0, v0=v0, risk_free_rate=risk_free_rate, maturity=maturity, rho=rho, kappa=kappa, + theta=theta, sigma=sigma, nb_steps=nb_steps, nb_simuls=simulations, seed=seed) + print(simulations) + payoffs = [] + for S in S_test: + payoffs.append(Payoff(strike=strike, barrier=barrier, S=S)) + up,down = StandardError(simulations,payoffs) + confidenceinterval.append(up-down) + # Fig 1: Pricing Function fig1, ax1 = plt.subplots(figsize=(15, 7.5)) ax1.scatter(X, Y, marker="+", color="grey", label='LSM samples') @@ -95,5 +107,10 @@ ax2.set_title('FD Greeks') ax2.legend() +# Fig 3: Confidence Interval +fig3, ax3 = plt.subplots(figsize=(15, 7.5)) +ax3.plot(np.linspace(1,1000,999),confidenceinterval,marker="o",label= "Taille des intervalles") +ax3.set_title('Confidence Interval') +ax3.legend() # Show Graphs plt.show()