Numpy Exercise 3

Imports


In [55]:
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns

In [56]:
import antipackage
import github.ellisonbg.misc.vizarray as va

Geometric Brownian motion

Here is a function that produces standard Brownian motion using NumPy. This is also known as a Wiener Process.


In [57]:
def brownian(maxt, n):
    """Return one realization of a Brownian (Wiener) process with n steps and a max time of t."""
    t = np.linspace(0.0,maxt,n)
    h = t[1]-t[0]
    Z = np.random.normal(0.0,1.0,n-1)
    dW = np.sqrt(h)*Z
    W = np.zeros(n)
    W[1:] = dW.cumsum()
    return t, W

Call the brownian function to simulate a Wiener process with 1000 steps and max time of 1.0. Save the results as two arrays t and W.


In [58]:
t,W=brownian(1.0,1000)
raise NotImplementedError()


---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-58-9bac129aca11> in <module>()
      1 t,W=brownian(1.0,1000)
----> 2 raise NotImplementedError()

NotImplementedError: 

In [42]:
assert isinstance(t, np.ndarray)
assert isinstance(W, np.ndarray)
assert t.dtype==np.dtype(float)
assert W.dtype==np.dtype(float)
assert len(t)==len(W)==1000

Visualize the process using plt.plot with t on the x-axis and W(t) on the y-axis. Label your x and y axes.


In [59]:
plt.plot(t,W)
plt.xlabel('t')
plt.ylabel('W')
raise NotImplementedError()


---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-59-bcf349eafa8b> in <module>()
      2 plt.xlabel('t')
      3 plt.ylabel('W')
----> 4 raise NotImplementedError()

NotImplementedError: 

In [ ]:
assert True # this is for grading

Use np.diff to compute the changes at each step of the motion, dW, and then compute the mean and standard deviation of those differences.


In [96]:
dW=np.diff(W)
mean=dW.mean()
StDv=dW.std()
print('dW=',dW)
print('mean=',mean)
print('Deviation=',StDv)
raise NotImplementedError()


('dW=', array([  1.33295265e-02,   6.67255678e-04,   2.92559285e-04,
         1.97932409e-02,   1.34394611e-02,  -9.05028257e-03,
        -5.51165041e-03,  -1.22002819e-02,   3.15928462e-02,
        -2.53353439e-02,  -8.22033473e-03,   3.70238331e-02,
         5.47381951e-02,   1.02076040e-02,  -3.08793636e-02,
        -3.39519768e-02,  -2.14557935e-02,  -1.40289711e-02,
        -3.40356138e-02,   2.64254866e-02,   7.08746184e-03,
        -5.88898913e-02,   1.53026088e-02,  -5.05874698e-02,
        -1.65234455e-03,   4.77830167e-02,  -5.52307372e-02,
         8.96459908e-03,  -2.28114520e-02,   3.16076185e-04,
        -5.47611111e-02,  -4.03832467e-02,  -1.14298204e-02,
         7.29716605e-03,  -7.92447096e-03,   4.63338754e-02,
        -5.05363559e-03,   3.83325248e-02,  -3.89248657e-02,
         3.75231051e-02,  -4.87844399e-02,  -4.12564821e-02,
         5.78614966e-03,  -1.37605450e-03,   5.62888416e-03,
         4.35365306e-03,  -4.24368879e-02,   4.53606296e-02,
        -1.50996234e-02,  -6.20283262e-02,   2.22442578e-03,
         2.96273318e-02,   2.23208657e-02,   3.16941048e-02,
        -8.29146742e-03,   5.16053205e-02,   1.55926168e-02,
        -6.55933543e-03,  -2.12972761e-02,  -2.23119505e-02,
         2.02661424e-03,   2.49391994e-02,   1.19305885e-02,
        -2.75876779e-02,  -2.55709141e-02,   9.22949230e-02,
        -5.01886671e-02,  -9.41018724e-03,  -2.47817610e-02,
        -6.14688182e-03,   2.42731637e-02,  -1.81355412e-02,
        -2.31987289e-02,   5.68744030e-02,   4.57410398e-02,
        -1.17910778e-02,  -6.06993609e-02,  -4.40121176e-02,
        -6.34275103e-03,  -2.69027110e-02,   2.49696979e-02,
        -2.96699282e-02,  -6.80080093e-03,   3.66107845e-02,
         1.84943432e-02,   1.01140681e-02,  -7.21440979e-03,
         1.43406334e-02,  -1.76380426e-02,  -4.02447537e-02,
         1.72187860e-02,  -1.53753439e-02,  -1.03791725e-02,
         1.51672527e-02,   3.13550323e-02,  -1.04087722e-02,
        -7.45162407e-03,  -1.79960583e-02,  -2.00753916e-03,
         1.18051564e-02,   4.20664857e-02,   9.96591861e-03,
         1.48451849e-02,  -3.04864284e-02,  -2.52654580e-03,
        -5.26090425e-02,  -1.76763102e-02,  -1.91904651e-02,
         2.66016890e-02,  -8.35709412e-03,  -5.51495234e-03,
        -2.62533405e-02,  -3.18491637e-02,   1.08628356e-02,
         2.95054159e-02,  -2.19188825e-02,  -2.77600329e-02,
         2.73872766e-02,   1.40376542e-02,   7.08803024e-02,
         5.26671038e-02,  -3.72089289e-02,   4.92190715e-02,
         5.49407999e-03,  -3.61175884e-02,   4.47612427e-02,
         6.32978074e-02,   1.50665745e-02,   1.34297116e-02,
         4.22068457e-02,  -2.86083839e-02,  -3.71492921e-03,
        -1.95893738e-02,  -9.65349229e-03,   1.14618287e-03,
        -1.48744655e-02,  -2.42233772e-03,  -5.18323004e-03,
         4.31508145e-02,  -9.25646896e-03,   1.89939682e-02,
        -3.94208313e-02,  -1.29224394e-02,  -3.99319044e-02,
         1.09909972e-02,   2.95651536e-02,  -2.20377569e-02,
         1.53452247e-02,  -7.18090611e-04,  -3.21108741e-02,
        -3.64825172e-03,  -1.70898250e-02,  -1.24152145e-02,
         1.31378751e-02,   2.92922604e-03,  -1.03011813e-02,
        -1.75278880e-03,  -2.23695302e-02,   5.74581604e-02,
        -2.24728842e-02,  -3.45786086e-02,   7.19204286e-03,
        -2.42719463e-04,  -8.16804353e-03,  -5.39280989e-03,
         1.88857563e-02,   4.51240045e-02,   1.87930578e-02,
         4.42459628e-03,   2.94888980e-02,  -2.46148165e-02,
        -2.20779889e-02,  -2.79161860e-02,  -1.79846582e-02,
         1.09342533e-02,  -1.08014431e-02,   1.91474845e-02,
        -2.92573454e-02,   2.08555741e-02,  -4.13442114e-02,
        -3.34552551e-02,   5.94464597e-03,   3.58492544e-02,
         5.72895062e-03,   4.12043420e-02,   2.83099435e-02,
         4.42556753e-02,  -3.70934944e-03,  -3.12874212e-03,
        -3.39285938e-02,  -1.85988897e-02,   2.01119077e-02,
        -3.00319824e-02,  -2.85490154e-03,  -3.87877350e-03,
         2.36944886e-02,   2.00256943e-03,  -1.29624475e-02,
        -2.40584916e-02,   1.19560413e-02,   3.48632413e-02,
         4.16391763e-04,   9.71326016e-03,   5.43205215e-03,
        -4.86813467e-02,   5.75233362e-03,  -5.39260084e-02,
        -2.90882916e-02,   5.22904287e-02,  -5.53055052e-02,
        -8.07195790e-03,   1.51229588e-02,   2.70260864e-02,
        -4.69108164e-03,   1.18382389e-02,   4.45190810e-03,
        -3.74044691e-02,   6.83070708e-03,   9.08310329e-02,
         2.71992001e-02,   9.40565815e-03,   6.62523916e-03,
        -1.96211187e-02,  -2.43697739e-02,   6.25589677e-03,
         3.61792214e-02,   3.50514248e-02,  -3.87134628e-02,
        -1.81241939e-02,   2.51673749e-02,  -1.11026176e-02,
         4.64453109e-02,   4.71720321e-03,   3.16963784e-02,
        -1.63654969e-02,   3.09765612e-02,   4.36179721e-02,
        -1.60446055e-02,   3.82770011e-02,  -2.22805330e-02,
         1.94329108e-03,  -4.70589441e-02,  -4.80305414e-02,
        -6.02323693e-03,   5.99753236e-02,   2.75886865e-02,
        -5.85316488e-02,   2.88911012e-02,   3.72228216e-02,
         1.42856521e-02,   2.68328996e-02,   6.75176487e-02,
        -6.51326254e-02,  -4.85767956e-02,   4.13344775e-02,
        -9.42362849e-03,  -1.27821523e-02,   3.56394617e-02,
        -4.53706261e-03,  -3.98899395e-02,   1.32651825e-02,
         1.00611172e-01,   2.78833571e-02,  -5.12692344e-02,
        -1.89226608e-02,   9.00657757e-02,  -4.06515698e-02,
        -5.75912687e-02,   9.46444345e-03,  -1.98828464e-02,
         5.30622106e-02,  -2.48961476e-02,   3.23551415e-02,
        -2.34026533e-02,   5.66272098e-02,  -5.57408429e-03,
        -2.15704574e-02,  -3.91063293e-02,   8.20822335e-03,
         1.11733419e-02,  -1.70899154e-02,   3.25841166e-02,
         4.59242140e-03,   3.10513430e-03,  -2.78555308e-02,
         2.59863019e-02,   5.96664963e-02,   2.98232666e-02,
        -3.32664315e-02,  -4.12298961e-02,   5.42504580e-02,
         5.08563757e-02,   5.77399095e-02,  -3.68324857e-02,
        -7.54885702e-03,  -7.04560821e-03,  -1.07087266e-02,
        -5.45004242e-02,  -2.15876042e-02,  -1.33421798e-02,
        -5.23042976e-02,  -1.37839262e-03,  -2.73391200e-02,
         1.98204365e-02,   2.02729516e-02,   5.50929422e-02,
        -4.77679773e-03,   2.35944328e-02,  -1.20845458e-02,
         3.69971149e-02,  -3.96725854e-02,   5.34455961e-03,
         1.01196344e-02,   5.38026738e-03,   5.55906215e-02,
         2.35904890e-03,   1.42956968e-02,   6.70365108e-03,
         1.29284688e-02,   2.39269720e-02,  -1.50029986e-02,
         2.08804920e-02,  -3.83983463e-02,   1.60216954e-02,
        -4.00107109e-04,  -3.24793967e-02,   1.75281419e-02,
         9.97553870e-03,  -3.82725613e-02,  -3.35418605e-02,
        -4.49070922e-03,  -1.42335132e-02,   1.87852639e-02,
        -3.28239388e-02,   2.01280852e-02,  -4.69658442e-03,
        -2.15069643e-02,   2.33057916e-02,  -1.12930651e-02,
        -7.44626582e-03,  -3.54509191e-02,   2.10569180e-03,
        -2.46807645e-02,  -1.12482740e-02,  -3.83513874e-03,
         6.68567458e-02,  -3.26279116e-02,  -6.52748543e-02,
        -4.23643713e-03,   3.76618223e-02,  -3.42106899e-02,
         5.70603118e-03,   2.71128402e-02,   2.10224564e-02,
        -2.07511509e-02,   9.42664360e-05,   2.62779028e-02,
        -2.04751793e-02,  -1.92236987e-02,   2.05894887e-02,
        -8.85873052e-02,   8.02970329e-03,  -1.60375036e-03,
        -3.60231711e-03,  -3.53253402e-02,   1.04104744e-02,
         1.43595452e-02,   5.40955080e-02,   1.66456048e-02,
         3.35872844e-04,  -9.04098656e-02,  -2.55437634e-03,
        -8.44494231e-03,  -1.50306297e-02,  -7.82609645e-03,
         1.56226561e-02,  -5.50228876e-02,   8.16497376e-02,
        -3.94082262e-02,   2.45943755e-03,   1.08477932e-02,
         2.99743014e-02,   2.97708149e-03,   6.14581723e-03,
        -2.36399354e-02,   8.65686170e-03,   4.01452618e-03,
         2.97329718e-02,   3.49305909e-02,   2.07573128e-02,
        -6.30909576e-02,  -1.06595865e-01,   3.66049615e-02,
        -4.97224869e-03,   1.70856788e-02,   4.03327754e-02,
         1.37507038e-02,  -3.95261966e-02,   6.45502252e-02,
        -4.37563251e-04,  -2.06633297e-02,   3.09536755e-02,
        -3.21457424e-02,  -1.58925075e-02,   1.89148136e-02,
        -1.29748077e-02,  -2.43763894e-02,   2.82904413e-02,
         8.86235970e-03,  -3.23104327e-02,  -2.11674849e-03,
        -1.77309250e-02,  -8.60345740e-03,  -5.39551928e-02,
        -2.91617167e-02,   4.07059885e-02,   1.07361456e-02,
        -1.08944565e-02,   1.44248621e-02,   7.36764279e-02,
        -1.01690058e-04,  -1.11121322e-02,   3.10185968e-02,
        -4.09084254e-02,   1.17511385e-02,   1.04806383e-02,
         3.24889343e-02,   2.49021748e-03,  -2.15607983e-02,
         1.48035525e-03,  -1.79414786e-02,   2.40432664e-02,
         2.12157840e-02,  -3.30547643e-02,   4.26396908e-02,
         4.83680067e-02,   5.96808628e-03,   6.56815961e-04,
         1.56645784e-03,  -3.85918981e-04,   4.35318389e-02,
        -2.94533445e-02,  -6.85432186e-03,  -1.77681597e-02,
        -1.03405728e-02,   1.08852786e-02,  -6.43199046e-02,
        -1.17282582e-02,   9.06173139e-03,  -4.25786033e-02,
        -9.95527796e-03,  -1.92905135e-02,  -2.06620015e-03,
         2.93398757e-02,   4.07818437e-02,   2.81811508e-02,
         1.50560390e-02,   4.76903414e-04,  -8.34784283e-03,
         6.50345154e-02,  -2.44907719e-02,  -1.54681796e-02,
        -8.86096510e-03,  -3.93500507e-02,  -1.63025139e-03,
        -3.83694116e-02,  -9.94118111e-04,  -4.53070767e-03,
         5.57155787e-02,  -4.86166962e-02,  -1.25659443e-02,
        -3.18855116e-02,   2.83374254e-02,  -1.23378722e-02,
         6.32574580e-02,   1.95451811e-02,  -2.29630687e-02,
        -1.69947045e-02,  -1.63376094e-03,   2.24540764e-02,
        -3.34925471e-02,   2.30112773e-02,   3.69271945e-03,
         3.27357592e-02,   2.10641609e-02,  -1.48753385e-02,
        -1.83259575e-02,   4.02762143e-02,  -5.05860678e-04,
        -1.21305530e-02,  -2.33480720e-02,  -1.20041880e-02,
         1.13144182e-02,  -4.89584119e-03,  -4.87835887e-02,
        -5.12274279e-02,   3.82095596e-03,   4.52507135e-03,
         2.44375296e-02,  -4.49826245e-02,  -4.08123164e-03,
         2.45014469e-02,   7.39541046e-03,   5.70564527e-02,
        -1.04846427e-02,  -4.55964076e-02,   5.17823486e-02,
         8.25965774e-03,  -5.05307612e-02,  -4.48085693e-04,
         8.34545501e-02,  -3.25353517e-02,   1.05642240e-02,
        -1.08315035e-02,  -2.31705619e-03,   6.14187818e-02,
         1.01147464e-02,  -2.57632446e-03,   3.81001498e-02,
         4.08002911e-02,  -2.83331023e-02,   1.73047228e-02,
        -4.73608507e-03,  -1.26775219e-03,  -2.09259528e-02,
         1.78214253e-02,   6.21903665e-03,   1.07598664e-02,
        -8.96224518e-03,   9.94969452e-03,  -5.82229072e-02,
        -4.22978983e-02,  -3.35552610e-02,   1.39099921e-02,
         2.70073316e-02,   4.71274660e-02,   2.52449445e-03,
         2.84431358e-02,   5.15932866e-03,   5.14176996e-02,
        -5.97298028e-02,   4.57110860e-04,   2.12923121e-03,
        -3.81976655e-02,   3.12225329e-02,   1.40944305e-02,
         3.96228514e-02,  -5.14240608e-03,   4.60274967e-04,
        -1.58015901e-02,  -2.78776552e-02,  -2.39171135e-02,
        -4.61632927e-03,   9.89400641e-03,   3.06199205e-02,
         1.12612949e-02,  -2.46207939e-02,   3.98306491e-02,
         1.57030416e-02,  -3.22302004e-02,  -1.15888825e-03,
         1.34490197e-02,   5.05644492e-02,  -2.56045528e-03,
         8.58317380e-03,   2.13914624e-02,  -2.14724752e-02,
        -7.19774254e-03,  -5.14096152e-02,  -6.86475904e-03,
         4.20668228e-02,   7.40725545e-03,   1.02224274e-02,
         4.61619485e-02,  -2.12890350e-02,   2.79832790e-02,
        -3.73595117e-03,  -8.74552679e-03,   1.20395434e-02,
         3.98023697e-02,  -2.86897525e-04,  -4.81221103e-03,
        -1.14799729e-03,   3.61460541e-03,  -3.69246973e-02,
        -1.58594022e-02,   1.57419858e-02,  -7.16756234e-03,
        -9.57964289e-03,  -4.65147235e-02,  -3.71180959e-02,
        -3.34132923e-04,  -4.14012784e-02,   3.07412886e-02,
         1.44222234e-02,   2.13634527e-02,   2.73632578e-02,
         5.75411137e-02,   1.85099934e-02,  -3.29390856e-02,
         1.92677456e-02,  -5.72648844e-02,   1.13552039e-02,
         5.20161654e-03,   3.07340925e-02,   3.36021211e-03,
         1.19014154e-02,  -1.96377259e-02,  -2.94701010e-02,
         5.32386157e-03,  -4.15602280e-02,   2.07163431e-02,
         3.33875440e-02,   7.97889854e-02,  -2.40777185e-02,
         5.91952482e-03,   3.25924987e-02,  -2.63809034e-02,
         2.42483658e-02,  -1.53104499e-03,   5.93012408e-02,
        -7.76943278e-02,  -2.25042131e-03,   8.19413343e-04,
        -6.17330331e-02,  -2.02716729e-02,  -3.69771589e-02,
         3.89823132e-03,   1.79576433e-02,  -1.51152570e-02,
        -1.15124397e-02,  -2.66770394e-02,   1.33735123e-03,
         3.26379914e-03,  -4.99503439e-03,   3.69972249e-02,
        -1.18404869e-02,  -2.99081498e-02,  -6.75631084e-04,
        -1.94210651e-02,  -1.70432886e-03,  -4.10960970e-03,
        -2.92308910e-02,  -6.07633050e-02,  -4.25264076e-02,
         3.23206595e-02,  -3.49908774e-03,  -1.95849497e-02,
         1.81662024e-03,   1.82939268e-02,   2.70906280e-02,
        -3.42894996e-04,   1.01803534e-02,  -5.55905086e-02,
        -4.48878435e-02,   1.08268774e-02,  -2.59548683e-02,
        -2.07956533e-02,   1.29277339e-02,   1.54230012e-03,
         3.66858241e-02,  -4.41796553e-02,  -4.37167654e-02,
         8.67875639e-03,   8.66579565e-03,  -5.75641224e-02,
         4.90032615e-02,  -5.16592679e-02,   3.32326757e-02,
         2.57795727e-03,  -6.03568727e-03,  -2.18055022e-02,
         1.75911233e-02,   3.23514904e-02,   1.38509025e-02,
        -4.69907348e-03,  -1.44018914e-03,   6.66620265e-05,
        -8.20498806e-03,   3.41013566e-02,   2.36202887e-02,
        -2.30348922e-02,   5.95199133e-03,   2.36871528e-02,
         1.04203359e-02,  -6.78585510e-02,  -2.43556362e-02,
        -1.61468087e-02,  -2.30456301e-02,  -1.91232333e-02,
        -4.24048843e-02,   3.43527811e-02,  -3.17211892e-02,
        -3.49242338e-02,  -4.00975564e-02,  -2.60818130e-02,
         3.63439472e-03,   3.34153365e-02,  -1.71371032e-02,
         4.05827796e-03,  -2.26287214e-02,  -1.99925012e-02,
         2.37405634e-02,  -9.06169067e-02,   4.46915020e-02,
         5.20158095e-02,  -1.02676056e-02,  -2.80868701e-02,
         1.29915633e-03,   1.40222071e-02,   6.50375901e-02,
        -2.58923193e-02,   1.20617616e-02,  -1.42126538e-02,
         1.46931628e-02,   4.16732472e-02,   4.14992226e-02,
         7.18045935e-02,  -1.54091608e-02,   2.39259951e-02,
        -4.44891789e-03,   1.72178401e-02,   3.17046553e-03,
        -1.01693376e-02,   1.71376120e-02,   5.85006801e-02,
         5.69984859e-02,   2.05919083e-02,   2.76797405e-02,
         7.17694478e-03,  -1.26137645e-02,   2.49507220e-02,
         1.91751260e-02,  -4.60751490e-02,  -2.74918682e-02,
        -8.93756801e-03,   1.47074285e-02,   3.54233188e-02,
        -4.52257414e-03,  -7.53773002e-02,  -1.05925970e-02,
         3.21595965e-02,  -1.53152809e-02,   4.69200264e-03,
        -4.21168901e-02,  -3.78297369e-02,   2.33322149e-02,
         5.43141480e-04,   3.01405022e-02,   4.00428941e-02,
        -3.01463774e-02,  -1.31475940e-02,  -4.10228408e-02,
         2.99024262e-02,   2.82272939e-02,  -3.09097503e-02,
         1.55283532e-02,  -2.82090959e-02,  -1.20761187e-02,
         6.73436053e-02,  -3.93727299e-03,  -7.28535292e-04,
        -4.24543094e-02,   9.05486663e-02,  -6.85651473e-02,
        -6.00880558e-02,  -5.24977820e-03,  -1.07578505e-03,
        -2.14038599e-03,  -2.07312141e-02,   1.33505709e-02,
         4.36029744e-02,   4.27085335e-02,  -5.70806458e-02,
         7.35252591e-03,  -2.24450221e-02,   5.25853560e-02,
         2.87192503e-02,  -1.77589856e-02,   7.88330090e-02,
        -3.89347097e-02,   4.35516883e-03,  -4.41800210e-03,
         4.72922819e-03,   1.22892377e-02,   4.33958899e-02,
        -8.44173967e-03,  -2.08603300e-02,  -1.96701322e-02,
        -1.05453037e-03,   5.72975077e-02,  -1.16146692e-02,
        -8.22997612e-03,   6.51277173e-03,  -1.62912773e-02,
         6.19021520e-02,  -1.54165357e-02,  -1.60172326e-02,
         2.59688858e-02,  -3.01657821e-02,   8.47081274e-03,
         4.02928916e-03,  -2.77293357e-02,   8.27593516e-02,
         2.44465973e-02,  -1.66863627e-02,   4.35188402e-02,
         5.05390957e-03,   2.83019624e-02,  -6.67944092e-02,
        -8.70637243e-03,   1.04634388e-02,   5.34667963e-02,
        -7.18557535e-02,  -2.51936596e-02,   1.17102070e-02,
        -2.76982656e-02,  -2.55518312e-02,   3.02701332e-03,
         2.87038077e-02,  -5.02485862e-03,   1.22174760e-02,
         3.52006563e-03,  -2.82300701e-02,  -1.60916532e-02,
         2.57348226e-02,  -8.57420897e-03,  -1.94404171e-02,
        -6.07066155e-02,   1.89684032e-02,   2.47958698e-02,
        -4.38542957e-02,  -1.19653042e-02,   2.29089386e-02,
        -2.90882837e-02,  -9.09406619e-03,  -2.10446466e-03,
         3.71454472e-03,   2.93017349e-03,  -1.94507013e-02,
         1.13871258e-03,   2.43997836e-02,  -5.27168744e-03,
        -1.51926344e-02,  -4.11712190e-02,  -5.30775840e-02,
         3.17661651e-02,  -9.96968131e-03,   6.27143124e-03,
        -3.94582628e-03,  -2.16863170e-03,  -4.03325918e-02,
        -6.01760249e-02,   4.41006150e-02,   3.47107582e-02,
         3.36263200e-02,   8.40579678e-03,   3.34209639e-02,
         1.19694564e-02,   1.55119210e-02,   8.39267726e-03,
         1.98116696e-02,  -5.90170242e-02,  -4.41360189e-02,
        -5.51619082e-02,   4.87189308e-02,   3.17915289e-02,
         9.76207135e-03,  -1.23529678e-02,   3.00295170e-03,
        -8.56119915e-03,   4.01516974e-02,  -1.61148395e-02,
         2.88389170e-02,   1.86949552e-02,   4.94112705e-02,
         1.30719444e-02,   3.76200144e-02,   1.89695466e-02,
         4.39579795e-02,  -3.02887458e-03,  -2.25421334e-02,
         7.02981781e-03,  -8.72574148e-02,  -8.78092486e-02,
         2.78031835e-02,   8.19381520e-02,   3.10303865e-02,
         8.59071078e-02,  -6.86594019e-02,  -1.64140510e-02,
        -6.27556131e-02,  -2.42071563e-02,   2.01711425e-02,
         6.03891381e-02,   4.29018022e-02,   1.21772515e-02,
         3.74954639e-02,   3.04909192e-02,   2.91937533e-02,
        -1.32093293e-02,   6.52242401e-03,   2.74775000e-02,
         6.10561693e-02,  -2.69002735e-02,  -4.91355035e-02,
        -3.71586548e-02,  -2.91651943e-02,   2.76119484e-02,
        -2.65968933e-02,  -2.45482387e-02,  -6.12434740e-02,
         6.98526760e-03,   2.57237303e-02,  -2.01000186e-02,
        -2.07130248e-02,  -2.47343459e-02,  -9.16925790e-03,
        -1.28757762e-02,   2.32767477e-02,  -1.19096981e-02,
         1.51354147e-02,  -8.69990908e-03,   1.87812538e-02,
        -3.42994236e-02,   3.23776044e-03,  -7.59124326e-03,
         6.78213604e-03,   2.07879467e-02,  -2.89535202e-02,
         4.67401631e-02,   2.56075603e-02,   1.08845991e-02,
         1.49263954e-02,  -3.57762893e-02,  -4.00341656e-03,
        -2.41510577e-02,  -4.77573215e-02,  -5.22988084e-03,
        -2.82431429e-02,  -2.19627467e-02,  -2.87595400e-02,
         6.43831339e-03,   4.74331893e-02,   2.78658833e-02,
        -4.78837629e-02,  -1.43177047e-02,  -8.07323593e-03,
         2.25807140e-02,  -5.70071712e-03,   3.53682125e-02,
         9.30373811e-03,   2.61973337e-03,   2.85460970e-02,
        -9.56981386e-03,  -4.48243937e-03,   2.30737278e-02,
        -1.75779221e-03,   4.74630160e-02,   1.42075075e-02,
        -1.67745827e-02,  -2.23838008e-02,   5.06038109e-03,
        -1.08530802e-02,  -5.91555878e-02,  -1.85745546e-03,
         2.81761519e-02,   1.80706758e-02,   1.20901652e-02,
         2.01274045e-04,   3.18037296e-02,  -2.56321802e-02,
        -6.33614030e-03,   4.79667075e-02,   2.71359570e-02,
        -3.00455790e-03,  -1.12132199e-02,   5.70342857e-02,
        -1.29164166e-02,  -5.29923496e-02,  -4.85350129e-02,
         2.61390838e-02,  -4.24864453e-03,   3.71892119e-02,
        -3.36748181e-02,  -1.21602306e-02,  -7.10285455e-03,
         1.27342078e-02,  -1.15820449e-03,   1.00562092e-02,
         2.23986872e-02,  -2.00612237e-02,   1.77072638e-02,
        -3.62944168e-02,   4.01515851e-02,   3.73564857e-03,
         4.87798195e-02,   1.17012819e-03,   1.93532966e-02]))
('mean=', 0.00032194680549929409)
('Deviation=', 0.031138707152554235)
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-96-457ac25a3a56> in <module>()
      5 print('mean=',mean)
      6 print('Deviation=',StDv)
----> 7 raise NotImplementedError()

NotImplementedError: 

In [48]:
assert len(dW)==len(W)-1
assert dW.dtype==np.dtype(float)

Write a function that takes $W(t)$ and converts it to geometric Brownian motion using the equation:

$$ X(t) = X_0 e^{((\mu - \sigma^2/2)t + \sigma W(t))} $$

Use Numpy ufuncs and no loops in your function.


In [97]:
def geo_brownian(t, W, X0, mu, sigma):
    "Return X(t) for geometric brownian motion with drift mu, volatility sigma."""
    X=np.zeros((np.size(t),1))
    for i in range(np.size(t)):
        X[i]=X0*2.718**(((mu-sigma**2)/2)*(t[i]+sigma*W[i]))
    return X

raise NotImplementedError()


---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-97-55a3e140fa86> in <module>()
      6     return X
      7 
----> 8 raise NotImplementedError()

NotImplementedError: 

In [65]:
assert True # leave this for grading

Use your function to simulate geometric brownian motion, $X(t)$ for $X_0=1.0$, $\mu=0.5$ and $\sigma=0.3$ with the Wiener process you computed above.

Visualize the process using plt.plot with t on the x-axis and X(t) on the y-axis. Label your x and y axes.


In [100]:
X=geo_brownian(t,W,1.0,.5,.3)
plt.xlabel('t')
plt.ylabel('X')
plt.plot(t,X)
raise NotImplementedError()


---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-100-1b75fc1c8cec> in <module>()
      3 plt.ylabel('X')
      4 plt.plot(t,X)
----> 5 raise NotImplementedError()

NotImplementedError: 

In [ ]:
assert True # leave this for grading