diff --git a/CPS1.2.ipynb b/CPS1.2.ipynb new file mode 100644 index 0000000..495ddbb --- /dev/null +++ b/CPS1.2.ipynb @@ -0,0 +1,379 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Simulation of the Brownian motion" + ] + }, + { + "cell_type": "code", + "execution_count": 302, + "metadata": {}, + "outputs": [], + "source": [ + "# Import\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### I- Forward simulation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### (a) - Justification (Voir le pdf associé)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### (b) - Draw a sample of 1000 copies of the discretized Brownian motion " + ] + }, + { + "cell_type": "code", + "execution_count": 303, + "metadata": {}, + "outputs": [], + "source": [ + "N = 1000 # number of itterations \n", + "T = 1\n", + "def brownian_T(n): # retourne un vecteur de N simulations de W_T, et une simulation d'un brownien W\n", + " delta_T = T/(2**(n))\n", + " W_T = np.zeros((N,2**(n)+1)) # vector of differents simulations of Brownian motion at T = 1, W_T\n", + " #W_T_2 = [] # vector of differents simulations of Brownian motion at T/2 = 0.5 \n", + " Z = np.random.randn(N,2**n)*np.sqrt(delta_T) # tirage independants de loi normal sur [0,1]\n", + " # W = [0] ## pour tracer la première marche du premier brownien simulé brownien\n", + "\n", + " # calcul et stockage de N simulation de brownien à l'instant T = 1\n", + " mid = 2**(n-1)\n", + " for i in range(N):\n", + " W_1 = 0\n", + " for j in range(1, 2**(n) + 1):\n", + " W_1 += Z[i][j-1]\n", + " W_T[i][j] = W_1\n", + "\n", + " return W_T\n" + ] + }, + { + "cell_type": "code", + "execution_count": 317, + "metadata": {}, + "outputs": [], + "source": [ + "W = brownian_T(9)" + ] + }, + { + "cell_type": "code", + "execution_count": 318, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# le tracer\n", + "\n", + "for i in range(N):\n", + " plt.plot(W[i], color = 'b', label = 'Brownian motion')\n", + "plt.axhline(0, color=\"r\", label=\"Esperance\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Pour une seule simulation du brownien" + ] + }, + { + "cell_type": "code", + "execution_count": 319, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(W[0], color = 'b', label = 'Brownian motion')\n", + "plt.axhline(0, color=\"r\", label=\"Esperance\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### (c) - Compute sample mean , variance of W_T and cov(W_T, W_T/2)" + ] + }, + { + "cell_type": "code", + "execution_count": 320, + "metadata": {}, + "outputs": [], + "source": [ + "nb_test = 13\n", + "\n", + "# liste de nb_test W_T\n", + "\n", + "W = [brownian_T(k) for k in range(1, nb_test)] \n", + "\n", + "# mean\n", + "M = [np.mean(W[i-1][:,2**i]) for i in range(1,nb_test)] # liste de moyenne pour différente valeurs de n\n", + "\n", + "# variance\n", + "Var = [np.var(W[i-1][:,2**i]) for i in range(1,nb_test)] # liste de variance pour différente valeurs de n\n", + "\n", + "# covariance\n", + "\n", + "Cov = [np.mean(np.multiply(W[i-1][:,2**i], W[i-1][:,2**(i-1)])) for i in range(1, nb_test)] # liste de covariance de cov(W_T, W_T/2) pour différente valeurs de n\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 321, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean [-0.010989761892885678, 0.06309834071621372, -0.04035663913802068, -0.04446267986750157, 0.010708883341641282, -0.013409226470164, 0.020909926179597457, -0.020050560811058434, -0.01084726432697189, -0.0017371937333856807, 0.015147949792328511, -0.05623051708073719] \n", + "\n", + "Variance: [0.9662532732726179, 1.0165167699821989, 1.002880275719841, 0.9092062445043972, 1.0195268415271828, 1.0428535021295477, 1.031188983317274, 1.0325662198133978, 0.9997859437041633, 0.9422009335722348, 1.0160661492567515, 0.96468169375375] \n", + "\n", + "Covariance [0.49081547120172514, 0.5079538212294892, 0.5207191421145405, 0.44927490276915016, 0.5009903035949553, 0.5744326804050224, 0.5419885277234897, 0.5290244266300982, 0.5224877162041139, 0.4688302246881709, 0.487216617780391, 0.5170464479256172] \n", + "\n" + ] + } + ], + "source": [ + "print(\"Mean\", M, \"\\n\")\n", + "\n", + "print(\"Variance: \", Var, \"\\n\")\n", + "\n", + "print(\"Covariance\", Cov,\"\\n\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + ">>> On constate que lorsque n devient grand (quand ont tend vers un temps continue) la moyenne se rapproche de 0, la variance de 1, et la covariance de 0.5, ce qui est le résultat attendu." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### II- Backward simulation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### (a), (b) voir le pdf associé." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### (c) - Use the last property to simulate backward the discretized Brownianmotion" + ] + }, + { + "cell_type": "code", + "execution_count": 340, + "metadata": {}, + "outputs": [], + "source": [ + "N = 1000\n", + "\n", + "W_T = np.random.normal(0,1, N)# N simulation de N(0,1)\n", + "def rec(deb, fin, W, index):\n", + " if (fin-deb)//2 > 0:\n", + " W[index][deb + (fin-deb)//2] = np.random.randn()*np.sqrt((fin-deb)/4) + (W[index][deb] + W[index][fin])/2\n", + " rec(deb, deb + (fin-deb)//2, W, index)\n", + " rec(deb + (fin-deb)//2, fin, W, index)\n", + "def backward(n):\n", + " W = np.zeros((N, 2**n + 1))\n", + " W[:,2**n] = W_T # initialisation \n", + " for i in range(N):\n", + " rec(0, 2**n, W, i)\n", + " return W\n" + ] + }, + { + "cell_type": "code", + "execution_count": 341, + "metadata": {}, + "outputs": [], + "source": [ + "W = backward(9)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### une simulation du brownien" + ] + }, + { + "cell_type": "code", + "execution_count": 337, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# le tracer\n", + "\n", + "plt.plot(W[1], color = 'b', label = 'Brownian motion')\n", + "plt.axhline(0, color=\"r\", label=\"Esperance\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### (c) - Compute sample mean , variance of W_T and cov(W_T, W_T/2)" + ] + }, + { + "cell_type": "code", + "execution_count": 342, + "metadata": {}, + "outputs": [], + "source": [ + "nb_test = 13\n", + "\n", + "# liste de nb_test W_T\n", + "\n", + "W = [backward(k) for k in range(1, nb_test)] \n", + "\n", + "# mean\n", + "M = [np.mean(W[i-1][:,2**i]) for i in range(1,nb_test)] # liste de moyenne pour différente valeurs de n\n", + "\n", + "# variance\n", + "Var = [np.var(W[i-1][:,2**i]) for i in range(1,nb_test)] # liste de variance pour différente valeurs de n\n", + "\n", + "# covariance\n", + "\n", + "Cov = [np.mean(np.multiply(W[i-1][:,2**i], W[i-1][:,2**(i-1)])) for i in range(1, nb_test)] # liste de covariance de cov(W_T, W_T/2) pour différente valeurs de n\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 343, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean [0.01754990619077721, 0.01754990619077721, 0.01754990619077721, 0.01754990619077721, 0.01754990619077721, 0.01754990619077721, 0.01754990619077721, 0.01754990619077721, 0.01754990619077721, 0.01754990619077721, 0.01754990619077721, 0.01754990619077721] \n", + "\n", + "Variance: [1.020767127702037, 1.020767127702037, 1.020767127702037, 1.020767127702037, 1.020767127702037, 1.020767127702037, 1.020767127702037, 1.020767127702037, 1.020767127702037, 1.020767127702037, 1.020767127702037, 1.020767127702037] \n", + "\n", + "Covariance [0.5498240085348407, 0.5470354355617255, 0.5179264107357802, 0.41805508021199855, 0.4378265164368219, 0.6338326610270298, 0.2908510842788122, 1.2143567032704268, 0.4974797433385382, 0.4099265203348698, -0.3612848709647003, 1.411639069216945] \n", + "\n" + ] + } + ], + "source": [ + "print(\"Mean\", M, \"\\n\")\n", + "\n", + "print(\"Variance: \", Var, \"\\n\")\n", + "\n", + "print(\"Covariance\", Cov,\"\\n\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + ">>> On constate que lorsque n devient grand (quand ont tend vers un temps continue) la moyenne se rapproche de 0, la variance de 1, et la covariance de 0.5, ce qui est le résultat attendu." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "interpreter": { + "hash": "d3352e7dbf92ea2582143fd42139626225c7b581f198b22d21c3070d414e8ab2" + }, + "kernelspec": { + "display_name": "Python 3.9.6 ('base')", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.6" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/CPS1.2.pdf b/CPS1.2.pdf new file mode 100644 index 0000000..05a45ff Binary files /dev/null and b/CPS1.2.pdf differ