In [1]:
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
In [2]:
import antipackage
import github.ellisonbg.misc.vizarray as va
Downloading: https://raw.githubusercontent.com/ellisonbg/misc/master/vizarray.py
Using existing version: github.ellisonbg.misc.vizarray
Here is a function that produces standard Brownian motion using NumPy. This is also known as a Wiener Process.
In [11]:
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 [15]:
c = np.array(brownian(1.0, 1000))
c
t = c[0,:]
W = c[1,:]
print t
print W
[ 0. 0.001001 0.002002 0.003003 0.004004 0.00500501
0.00600601 0.00700701 0.00800801 0.00900901 0.01001001 0.01101101
0.01201201 0.01301301 0.01401401 0.01501502 0.01601602 0.01701702
0.01801802 0.01901902 0.02002002 0.02102102 0.02202202 0.02302302
0.02402402 0.02502503 0.02602603 0.02702703 0.02802803 0.02902903
0.03003003 0.03103103 0.03203203 0.03303303 0.03403403 0.03503504
0.03603604 0.03703704 0.03803804 0.03903904 0.04004004 0.04104104
0.04204204 0.04304304 0.04404404 0.04504505 0.04604605 0.04704705
0.04804805 0.04904905 0.05005005 0.05105105 0.05205205 0.05305305
0.05405405 0.05505506 0.05605606 0.05705706 0.05805806 0.05905906
0.06006006 0.06106106 0.06206206 0.06306306 0.06406406 0.06506507
0.06606607 0.06706707 0.06806807 0.06906907 0.07007007 0.07107107
0.07207207 0.07307307 0.07407407 0.07507508 0.07607608 0.07707708
0.07807808 0.07907908 0.08008008 0.08108108 0.08208208 0.08308308
0.08408408 0.08508509 0.08608609 0.08708709 0.08808809 0.08908909
0.09009009 0.09109109 0.09209209 0.09309309 0.09409409 0.0950951
0.0960961 0.0970971 0.0980981 0.0990991 0.1001001 0.1011011
0.1021021 0.1031031 0.1041041 0.10510511 0.10610611 0.10710711
0.10810811 0.10910911 0.11011011 0.11111111 0.11211211 0.11311311
0.11411411 0.11511512 0.11611612 0.11711712 0.11811812 0.11911912
0.12012012 0.12112112 0.12212212 0.12312312 0.12412412 0.12512513
0.12612613 0.12712713 0.12812813 0.12912913 0.13013013 0.13113113
0.13213213 0.13313313 0.13413413 0.13513514 0.13613614 0.13713714
0.13813814 0.13913914 0.14014014 0.14114114 0.14214214 0.14314314
0.14414414 0.14514515 0.14614615 0.14714715 0.14814815 0.14914915
0.15015015 0.15115115 0.15215215 0.15315315 0.15415415 0.15515516
0.15615616 0.15715716 0.15815816 0.15915916 0.16016016 0.16116116
0.16216216 0.16316316 0.16416416 0.16516517 0.16616617 0.16716717
0.16816817 0.16916917 0.17017017 0.17117117 0.17217217 0.17317317
0.17417417 0.17517518 0.17617618 0.17717718 0.17817818 0.17917918
0.18018018 0.18118118 0.18218218 0.18318318 0.18418418 0.18518519
0.18618619 0.18718719 0.18818819 0.18918919 0.19019019 0.19119119
0.19219219 0.19319319 0.19419419 0.1951952 0.1961962 0.1971972
0.1981982 0.1991992 0.2002002 0.2012012 0.2022022 0.2032032
0.2042042 0.20520521 0.20620621 0.20720721 0.20820821 0.20920921
0.21021021 0.21121121 0.21221221 0.21321321 0.21421421 0.21521522
0.21621622 0.21721722 0.21821822 0.21921922 0.22022022 0.22122122
0.22222222 0.22322322 0.22422422 0.22522523 0.22622623 0.22722723
0.22822823 0.22922923 0.23023023 0.23123123 0.23223223 0.23323323
0.23423423 0.23523524 0.23623624 0.23723724 0.23823824 0.23923924
0.24024024 0.24124124 0.24224224 0.24324324 0.24424424 0.24524525
0.24624625 0.24724725 0.24824825 0.24924925 0.25025025 0.25125125
0.25225225 0.25325325 0.25425425 0.25525526 0.25625626 0.25725726
0.25825826 0.25925926 0.26026026 0.26126126 0.26226226 0.26326326
0.26426426 0.26526527 0.26626627 0.26726727 0.26826827 0.26926927
0.27027027 0.27127127 0.27227227 0.27327327 0.27427427 0.27527528
0.27627628 0.27727728 0.27827828 0.27927928 0.28028028 0.28128128
0.28228228 0.28328328 0.28428428 0.28528529 0.28628629 0.28728729
0.28828829 0.28928929 0.29029029 0.29129129 0.29229229 0.29329329
0.29429429 0.2952953 0.2962963 0.2972973 0.2982983 0.2992993
0.3003003 0.3013013 0.3023023 0.3033033 0.3043043 0.30530531
0.30630631 0.30730731 0.30830831 0.30930931 0.31031031 0.31131131
0.31231231 0.31331331 0.31431431 0.31531532 0.31631632 0.31731732
0.31831832 0.31931932 0.32032032 0.32132132 0.32232232 0.32332332
0.32432432 0.32532533 0.32632633 0.32732733 0.32832833 0.32932933
0.33033033 0.33133133 0.33233233 0.33333333 0.33433433 0.33533534
0.33633634 0.33733734 0.33833834 0.33933934 0.34034034 0.34134134
0.34234234 0.34334334 0.34434434 0.34534535 0.34634635 0.34734735
0.34834835 0.34934935 0.35035035 0.35135135 0.35235235 0.35335335
0.35435435 0.35535536 0.35635636 0.35735736 0.35835836 0.35935936
0.36036036 0.36136136 0.36236236 0.36336336 0.36436436 0.36536537
0.36636637 0.36736737 0.36836837 0.36936937 0.37037037 0.37137137
0.37237237 0.37337337 0.37437437 0.37537538 0.37637638 0.37737738
0.37837838 0.37937938 0.38038038 0.38138138 0.38238238 0.38338338
0.38438438 0.38538539 0.38638639 0.38738739 0.38838839 0.38938939
0.39039039 0.39139139 0.39239239 0.39339339 0.39439439 0.3953954
0.3963964 0.3973974 0.3983984 0.3993994 0.4004004 0.4014014
0.4024024 0.4034034 0.4044044 0.40540541 0.40640641 0.40740741
0.40840841 0.40940941 0.41041041 0.41141141 0.41241241 0.41341341
0.41441441 0.41541542 0.41641642 0.41741742 0.41841842 0.41941942
0.42042042 0.42142142 0.42242242 0.42342342 0.42442442 0.42542543
0.42642643 0.42742743 0.42842843 0.42942943 0.43043043 0.43143143
0.43243243 0.43343343 0.43443443 0.43543544 0.43643644 0.43743744
0.43843844 0.43943944 0.44044044 0.44144144 0.44244244 0.44344344
0.44444444 0.44544545 0.44644645 0.44744745 0.44844845 0.44944945
0.45045045 0.45145145 0.45245245 0.45345345 0.45445445 0.45545546
0.45645646 0.45745746 0.45845846 0.45945946 0.46046046 0.46146146
0.46246246 0.46346346 0.46446446 0.46546547 0.46646647 0.46746747
0.46846847 0.46946947 0.47047047 0.47147147 0.47247247 0.47347347
0.47447447 0.47547548 0.47647648 0.47747748 0.47847848 0.47947948
0.48048048 0.48148148 0.48248248 0.48348348 0.48448448 0.48548549
0.48648649 0.48748749 0.48848849 0.48948949 0.49049049 0.49149149
0.49249249 0.49349349 0.49449449 0.4954955 0.4964965 0.4974975
0.4984985 0.4994995 0.5005005 0.5015015 0.5025025 0.5035035
0.5045045 0.50550551 0.50650651 0.50750751 0.50850851 0.50950951
0.51051051 0.51151151 0.51251251 0.51351351 0.51451451 0.51551552
0.51651652 0.51751752 0.51851852 0.51951952 0.52052052 0.52152152
0.52252252 0.52352352 0.52452452 0.52552553 0.52652653 0.52752753
0.52852853 0.52952953 0.53053053 0.53153153 0.53253253 0.53353353
0.53453453 0.53553554 0.53653654 0.53753754 0.53853854 0.53953954
0.54054054 0.54154154 0.54254254 0.54354354 0.54454454 0.54554555
0.54654655 0.54754755 0.54854855 0.54954955 0.55055055 0.55155155
0.55255255 0.55355355 0.55455455 0.55555556 0.55655656 0.55755756
0.55855856 0.55955956 0.56056056 0.56156156 0.56256256 0.56356356
0.56456456 0.56556557 0.56656657 0.56756757 0.56856857 0.56956957
0.57057057 0.57157157 0.57257257 0.57357357 0.57457457 0.57557558
0.57657658 0.57757758 0.57857858 0.57957958 0.58058058 0.58158158
0.58258258 0.58358358 0.58458458 0.58558559 0.58658659 0.58758759
0.58858859 0.58958959 0.59059059 0.59159159 0.59259259 0.59359359
0.59459459 0.5955956 0.5965966 0.5975976 0.5985986 0.5995996
0.6006006 0.6016016 0.6026026 0.6036036 0.6046046 0.60560561
0.60660661 0.60760761 0.60860861 0.60960961 0.61061061 0.61161161
0.61261261 0.61361361 0.61461461 0.61561562 0.61661662 0.61761762
0.61861862 0.61961962 0.62062062 0.62162162 0.62262262 0.62362362
0.62462462 0.62562563 0.62662663 0.62762763 0.62862863 0.62962963
0.63063063 0.63163163 0.63263263 0.63363363 0.63463463 0.63563564
0.63663664 0.63763764 0.63863864 0.63963964 0.64064064 0.64164164
0.64264264 0.64364364 0.64464464 0.64564565 0.64664665 0.64764765
0.64864865 0.64964965 0.65065065 0.65165165 0.65265265 0.65365365
0.65465465 0.65565566 0.65665666 0.65765766 0.65865866 0.65965966
0.66066066 0.66166166 0.66266266 0.66366366 0.66466466 0.66566567
0.66666667 0.66766767 0.66866867 0.66966967 0.67067067 0.67167167
0.67267267 0.67367367 0.67467467 0.67567568 0.67667668 0.67767768
0.67867868 0.67967968 0.68068068 0.68168168 0.68268268 0.68368368
0.68468468 0.68568569 0.68668669 0.68768769 0.68868869 0.68968969
0.69069069 0.69169169 0.69269269 0.69369369 0.69469469 0.6956957
0.6966967 0.6976977 0.6986987 0.6996997 0.7007007 0.7017017
0.7027027 0.7037037 0.7047047 0.70570571 0.70670671 0.70770771
0.70870871 0.70970971 0.71071071 0.71171171 0.71271271 0.71371371
0.71471471 0.71571572 0.71671672 0.71771772 0.71871872 0.71971972
0.72072072 0.72172172 0.72272272 0.72372372 0.72472472 0.72572573
0.72672673 0.72772773 0.72872873 0.72972973 0.73073073 0.73173173
0.73273273 0.73373373 0.73473473 0.73573574 0.73673674 0.73773774
0.73873874 0.73973974 0.74074074 0.74174174 0.74274274 0.74374374
0.74474474 0.74574575 0.74674675 0.74774775 0.74874875 0.74974975
0.75075075 0.75175175 0.75275275 0.75375375 0.75475475 0.75575576
0.75675676 0.75775776 0.75875876 0.75975976 0.76076076 0.76176176
0.76276276 0.76376376 0.76476476 0.76576577 0.76676677 0.76776777
0.76876877 0.76976977 0.77077077 0.77177177 0.77277277 0.77377377
0.77477477 0.77577578 0.77677678 0.77777778 0.77877878 0.77977978
0.78078078 0.78178178 0.78278278 0.78378378 0.78478478 0.78578579
0.78678679 0.78778779 0.78878879 0.78978979 0.79079079 0.79179179
0.79279279 0.79379379 0.79479479 0.7957958 0.7967968 0.7977978
0.7987988 0.7997998 0.8008008 0.8018018 0.8028028 0.8038038
0.8048048 0.80580581 0.80680681 0.80780781 0.80880881 0.80980981
0.81081081 0.81181181 0.81281281 0.81381381 0.81481481 0.81581582
0.81681682 0.81781782 0.81881882 0.81981982 0.82082082 0.82182182
0.82282282 0.82382382 0.82482482 0.82582583 0.82682683 0.82782783
0.82882883 0.82982983 0.83083083 0.83183183 0.83283283 0.83383383
0.83483483 0.83583584 0.83683684 0.83783784 0.83883884 0.83983984
0.84084084 0.84184184 0.84284284 0.84384384 0.84484484 0.84584585
0.84684685 0.84784785 0.84884885 0.84984985 0.85085085 0.85185185
0.85285285 0.85385385 0.85485485 0.85585586 0.85685686 0.85785786
0.85885886 0.85985986 0.86086086 0.86186186 0.86286286 0.86386386
0.86486486 0.86586587 0.86686687 0.86786787 0.86886887 0.86986987
0.87087087 0.87187187 0.87287287 0.87387387 0.87487487 0.87587588
0.87687688 0.87787788 0.87887888 0.87987988 0.88088088 0.88188188
0.88288288 0.88388388 0.88488488 0.88588589 0.88688689 0.88788789
0.88888889 0.88988989 0.89089089 0.89189189 0.89289289 0.89389389
0.89489489 0.8958959 0.8968969 0.8978979 0.8988989 0.8998999
0.9009009 0.9019019 0.9029029 0.9039039 0.9049049 0.90590591
0.90690691 0.90790791 0.90890891 0.90990991 0.91091091 0.91191191
0.91291291 0.91391391 0.91491491 0.91591592 0.91691692 0.91791792
0.91891892 0.91991992 0.92092092 0.92192192 0.92292292 0.92392392
0.92492492 0.92592593 0.92692693 0.92792793 0.92892893 0.92992993
0.93093093 0.93193193 0.93293293 0.93393393 0.93493493 0.93593594
0.93693694 0.93793794 0.93893894 0.93993994 0.94094094 0.94194194
0.94294294 0.94394394 0.94494494 0.94594595 0.94694695 0.94794795
0.94894895 0.94994995 0.95095095 0.95195195 0.95295295 0.95395395
0.95495495 0.95595596 0.95695696 0.95795796 0.95895896 0.95995996
0.96096096 0.96196196 0.96296296 0.96396396 0.96496496 0.96596597
0.96696697 0.96796797 0.96896897 0.96996997 0.97097097 0.97197197
0.97297297 0.97397397 0.97497497 0.97597598 0.97697698 0.97797798
0.97897898 0.97997998 0.98098098 0.98198198 0.98298298 0.98398398
0.98498498 0.98598599 0.98698699 0.98798799 0.98898899 0.98998999
0.99099099 0.99199199 0.99299299 0.99399399 0.99499499 0.995996
0.996997 0.997998 0.998999 1. ]
[ 0.00000000e+00 2.63895322e-02 -2.14425969e-02 4.95618499e-02
-8.53770396e-03 -3.48121183e-02 -5.84571685e-02 -1.21808675e-01
-9.39000946e-02 -9.92656362e-02 -1.02946259e-01 -1.39151715e-01
-1.84744668e-01 -1.67362275e-01 -1.72634321e-01 -1.59122375e-01
-1.03300153e-01 -1.06082239e-01 -1.08281572e-01 -1.40922346e-01
-1.83072782e-01 -1.93301933e-01 -1.53199326e-01 -1.71429037e-01
-1.42375211e-01 -1.32597605e-01 -1.36203984e-01 -1.55043963e-01
-1.77757402e-01 -1.81314265e-01 -2.24383249e-01 -2.42902051e-01
-2.18837037e-01 -1.68870070e-01 -1.44738545e-01 -1.16969875e-01
-9.98689691e-02 -6.75124743e-02 -6.16310049e-02 -1.59629493e-02
-5.82223057e-04 7.54294711e-03 2.69183661e-02 5.97694619e-02
8.19214152e-02 2.32422637e-02 1.16276746e-02 8.15042137e-03
-7.57962202e-03 1.16303287e-02 -3.20261676e-02 -5.80389280e-02
-7.04604306e-02 -5.80236196e-02 -5.49125855e-02 -1.07458822e-01
-1.33178911e-01 -8.30505511e-02 -5.67450123e-02 -9.36679315e-03
2.20368646e-02 6.06998581e-02 4.56825453e-02 7.53085280e-03
-4.22702266e-02 -9.12016535e-02 -1.26282363e-01 -1.90635316e-01
-2.10706997e-01 -1.78641107e-01 -2.45569401e-01 -2.40669194e-01
-2.21276775e-01 -2.36427204e-01 -1.75248008e-01 -2.11077143e-01
-1.94414268e-01 -2.27773024e-01 -2.41812514e-01 -2.70648082e-01
-2.88253549e-01 -2.53884274e-01 -2.93968058e-01 -3.33123582e-01
-3.36713165e-01 -3.02604069e-01 -3.15523043e-01 -3.50082288e-01
-3.05364776e-01 -2.95870475e-01 -3.24851378e-01 -2.96122041e-01
-3.19693305e-01 -3.38622615e-01 -3.17078935e-01 -3.55730432e-01
-3.56365750e-01 -3.43336522e-01 -3.48626424e-01 -3.28191567e-01
-3.33769709e-01 -3.91770673e-01 -3.40128019e-01 -3.41993483e-01
-3.35011033e-01 -3.91225621e-01 -4.03961149e-01 -3.46438940e-01
-3.57469412e-01 -4.04163348e-01 -4.40797766e-01 -4.40495383e-01
-4.52866918e-01 -4.02034726e-01 -3.99321843e-01 -4.19192737e-01
-4.20711771e-01 -4.06863112e-01 -4.88321927e-01 -4.53662024e-01
-5.22242366e-01 -5.14808262e-01 -5.33909168e-01 -5.71784517e-01
-5.90312611e-01 -5.95593026e-01 -6.32783336e-01 -5.78155938e-01
-5.68370458e-01 -5.83536411e-01 -6.14098252e-01 -6.22460347e-01
-6.16940133e-01 -6.45263245e-01 -6.57450909e-01 -6.82422624e-01
-6.85882126e-01 -6.76448056e-01 -6.68022656e-01 -6.70573305e-01
-6.62643758e-01 -6.94553736e-01 -7.57270425e-01 -7.36334819e-01
-7.13029129e-01 -6.86081753e-01 -7.44075196e-01 -7.99921606e-01
-7.86384638e-01 -8.13666545e-01 -8.34295610e-01 -8.25299038e-01
-8.10148413e-01 -8.20047537e-01 -8.19448974e-01 -7.81651399e-01
-7.87241115e-01 -7.44786933e-01 -7.79529835e-01 -7.36269466e-01
-7.09418799e-01 -7.44834565e-01 -7.92648649e-01 -8.34432167e-01
-8.22065137e-01 -8.17809360e-01 -7.85519179e-01 -7.51346861e-01
-7.47644635e-01 -7.61294273e-01 -7.37667793e-01 -7.71867447e-01
-7.94378174e-01 -8.37913412e-01 -8.53625503e-01 -8.12687939e-01
-7.87193555e-01 -7.68090305e-01 -8.09262001e-01 -8.29066200e-01
-8.50040398e-01 -8.42882511e-01 -8.45232092e-01 -8.21605726e-01
-8.18569691e-01 -7.68001112e-01 -7.62973775e-01 -7.39330402e-01
-7.04738785e-01 -6.49395255e-01 -6.47789471e-01 -6.68282852e-01
-5.97006874e-01 -6.30214902e-01 -6.47464327e-01 -6.48747735e-01
-6.69021352e-01 -6.46557342e-01 -6.47836664e-01 -6.57817143e-01
-6.30589160e-01 -5.93577881e-01 -5.54217699e-01 -5.99789353e-01
-5.96566435e-01 -6.23984417e-01 -5.99326038e-01 -5.83360268e-01
-6.04087520e-01 -6.07988869e-01 -5.59611574e-01 -5.44682506e-01
-5.37361873e-01 -5.56985484e-01 -5.57628465e-01 -5.60246693e-01
-5.27208107e-01 -5.30969111e-01 -5.25679013e-01 -5.36421346e-01
-5.67429104e-01 -5.74267237e-01 -5.90629488e-01 -5.68966536e-01
-5.51301018e-01 -5.58845253e-01 -5.82452847e-01 -6.26133174e-01
-6.32114906e-01 -6.82323368e-01 -6.40151709e-01 -6.02018010e-01
-5.65236912e-01 -5.52149105e-01 -5.48349940e-01 -5.42726535e-01
-5.66651746e-01 -5.96012967e-01 -5.64222943e-01 -5.93537910e-01
-6.16208149e-01 -6.71509039e-01 -6.04636721e-01 -6.07771315e-01
-5.68667034e-01 -5.41176263e-01 -6.00062138e-01 -6.02176743e-01
-6.21289614e-01 -6.15437924e-01 -6.70837151e-01 -6.57217410e-01
-6.44576058e-01 -5.74064891e-01 -5.58389736e-01 -5.72980593e-01
-5.06472134e-01 -4.90968798e-01 -5.06218361e-01 -4.70570464e-01
-5.08194786e-01 -4.36670398e-01 -4.35226795e-01 -4.61137646e-01
-4.52857732e-01 -4.67399764e-01 -5.17529329e-01 -5.17205058e-01
-5.06818388e-01 -5.30277821e-01 -5.38495043e-01 -5.28323208e-01
-5.40242317e-01 -5.40612073e-01 -5.68882952e-01 -5.64196533e-01
-6.09324452e-01 -6.10719314e-01 -5.72882699e-01 -5.94180724e-01
-5.47170986e-01 -5.22260972e-01 -5.35891797e-01 -5.47358038e-01
-5.63192821e-01 -6.00342143e-01 -5.93635358e-01 -6.31967616e-01
-6.68309928e-01 -6.60423484e-01 -6.77168780e-01 -6.78701355e-01
-6.39035005e-01 -6.21744813e-01 -5.98098982e-01 -6.00962222e-01
-5.56788072e-01 -5.41734137e-01 -5.18305977e-01 -5.08944417e-01
-5.60157424e-01 -5.67497225e-01 -5.60079230e-01 -5.52925520e-01
-5.06339568e-01 -4.87953450e-01 -5.45262329e-01 -4.97850331e-01
-5.16221733e-01 -5.18363890e-01 -5.02900585e-01 -4.97212300e-01
-4.80880265e-01 -4.96372425e-01 -4.60680921e-01 -3.83057354e-01
-4.20390314e-01 -4.03794495e-01 -3.69111965e-01 -4.13681238e-01
-4.44301321e-01 -4.58860631e-01 -4.53992204e-01 -4.73263554e-01
-4.87896896e-01 -4.65418536e-01 -5.01459783e-01 -5.52490113e-01
-5.56452582e-01 -6.16572598e-01 -6.69055055e-01 -6.98335831e-01
-6.54216251e-01 -5.71786371e-01 -6.15255515e-01 -6.24864525e-01
-6.70989200e-01 -6.45089696e-01 -6.65687731e-01 -7.14682566e-01
-7.99824750e-01 -8.07754457e-01 -7.92894577e-01 -8.06218525e-01
-8.16895321e-01 -8.23253763e-01 -8.81367211e-01 -8.76575981e-01
-8.84293959e-01 -8.61545983e-01 -8.57618141e-01 -8.80612570e-01
-8.54332345e-01 -8.33237814e-01 -8.32033663e-01 -8.56863916e-01
-8.10502301e-01 -7.49560300e-01 -7.88678438e-01 -7.93132288e-01
-7.88243931e-01 -7.63453688e-01 -7.40199282e-01 -7.60579247e-01
-7.89557046e-01 -7.77086720e-01 -8.01216174e-01 -7.96888507e-01
-7.66018647e-01 -8.21434078e-01 -7.59903688e-01 -7.88890256e-01
-8.19031160e-01 -8.26028143e-01 -7.97190794e-01 -8.48516389e-01
-8.30339034e-01 -8.14734461e-01 -8.07738428e-01 -8.54272086e-01
-8.99286939e-01 -9.01818857e-01 -9.45147622e-01 -9.86474342e-01
-9.71997922e-01 -9.41675313e-01 -9.54185607e-01 -9.03882588e-01
-8.94306047e-01 -8.75150961e-01 -8.76450835e-01 -8.86558900e-01
-9.06857015e-01 -8.53601076e-01 -8.50241643e-01 -8.65590489e-01
-8.83371582e-01 -8.92690615e-01 -9.08873131e-01 -8.85173262e-01
-9.73059141e-01 -9.73897897e-01 -9.75148173e-01 -1.03020948e+00
-1.02334032e+00 -1.01272191e+00 -1.03967380e+00 -1.02728260e+00
-1.02069704e+00 -9.79961315e-01 -9.76267194e-01 -1.01307542e+00
-1.04547665e+00 -9.95694940e-01 -1.00788096e+00 -9.90235024e-01
-9.86434482e-01 -1.05476321e+00 -1.07318128e+00 -1.06822443e+00
-1.01028010e+00 -9.44702415e-01 -9.89101397e-01 -9.87621460e-01
-1.00835266e+00 -9.70723190e-01 -9.68783550e-01 -9.86681859e-01
-9.42831591e-01 -9.35869720e-01 -9.18318657e-01 -8.61027067e-01
-8.79107007e-01 -8.97160322e-01 -8.71023558e-01 -8.62890129e-01
-8.47205192e-01 -8.46632039e-01 -8.18509919e-01 -8.29776668e-01
-7.75379599e-01 -7.53708763e-01 -7.83699636e-01 -7.12953567e-01
-6.93152116e-01 -7.23177327e-01 -7.78811930e-01 -7.32242440e-01
-7.23712061e-01 -7.12116226e-01 -6.87951789e-01 -6.80739865e-01
-6.58597693e-01 -6.10525262e-01 -6.13382188e-01 -5.99274855e-01
-6.19628768e-01 -6.38149699e-01 -6.49077291e-01 -6.72434625e-01
-6.63565106e-01 -6.76177788e-01 -6.70233717e-01 -6.93032277e-01
-7.16008228e-01 -7.18436025e-01 -7.36271314e-01 -7.18363880e-01
-6.90976952e-01 -7.24858660e-01 -7.52817081e-01 -7.37674542e-01
-7.57248459e-01 -7.47027968e-01 -7.31079338e-01 -7.41251415e-01
-7.10349549e-01 -7.37039335e-01 -7.26240127e-01 -7.41972258e-01
-7.22689878e-01 -7.66288451e-01 -7.12712981e-01 -7.31062629e-01
-7.01538921e-01 -7.48105013e-01 -7.35346755e-01 -8.19581812e-01
-7.62892501e-01 -7.17178488e-01 -7.53696656e-01 -7.75193994e-01
-8.24808906e-01 -8.37023019e-01 -8.73418223e-01 -8.32959449e-01
-8.20900987e-01 -8.09918257e-01 -8.15415803e-01 -7.26276186e-01
-7.19124054e-01 -7.52580773e-01 -7.96968308e-01 -8.28041786e-01
-8.03754855e-01 -8.03085131e-01 -7.85805163e-01 -7.97292734e-01
-7.85752086e-01 -7.76425053e-01 -7.27494384e-01 -7.40404674e-01
-7.12279389e-01 -7.06703643e-01 -6.91181180e-01 -6.93946218e-01
-7.01602370e-01 -6.69140143e-01 -6.80130142e-01 -7.13124786e-01
-7.01440308e-01 -6.58533710e-01 -5.83486417e-01 -5.62055168e-01
-5.53123698e-01 -5.54155891e-01 -6.30572277e-01 -6.68760657e-01
-6.81244745e-01 -6.82251401e-01 -6.13308342e-01 -6.71236974e-01
-6.74171991e-01 -6.82212452e-01 -6.77730426e-01 -6.86511290e-01
-6.66893524e-01 -6.08969387e-01 -6.10005316e-01 -6.14808793e-01
-6.14316614e-01 -6.02243124e-01 -6.07406707e-01 -5.78358178e-01
-6.10500485e-01 -6.39978370e-01 -6.49916397e-01 -6.68097440e-01
-7.35436393e-01 -7.69858557e-01 -8.11595195e-01 -7.91786132e-01
-7.54819792e-01 -7.32043097e-01 -7.41423014e-01 -7.36376080e-01
-7.38515372e-01 -7.87296519e-01 -7.84168010e-01 -7.78336869e-01
-8.03607253e-01 -8.19971877e-01 -8.24458975e-01 -8.22761212e-01
-8.10951047e-01 -8.18440835e-01 -8.09744218e-01 -8.20178213e-01
-8.37836156e-01 -8.36710717e-01 -8.18333801e-01 -8.27597312e-01
-8.12716417e-01 -8.46214173e-01 -8.40339350e-01 -7.71383272e-01
-7.38307560e-01 -7.22355483e-01 -6.96878331e-01 -7.18958562e-01
-7.58582561e-01 -7.59910747e-01 -7.66673883e-01 -7.47774353e-01
-6.91078354e-01 -7.03029626e-01 -6.90737176e-01 -7.08657209e-01
-7.48719922e-01 -7.17961607e-01 -7.15080286e-01 -7.35805697e-01
-7.61354929e-01 -7.45246546e-01 -7.48110605e-01 -7.65532091e-01
-7.96047476e-01 -7.62054842e-01 -7.58439987e-01 -7.75430055e-01
-8.09966294e-01 -7.88512042e-01 -7.54986671e-01 -7.44809529e-01
-7.06195638e-01 -7.26618737e-01 -7.10315541e-01 -6.89545215e-01
-7.33788998e-01 -7.62220651e-01 -7.68994279e-01 -8.33489745e-01
-8.20040822e-01 -8.09670292e-01 -8.64922781e-01 -8.79426718e-01
-9.02801546e-01 -9.58997636e-01 -9.73787974e-01 -9.65379006e-01
-1.01914074e+00 -1.00664410e+00 -9.99082697e-01 -1.00988443e+00
-9.94908333e-01 -9.70870215e-01 -9.88059896e-01 -9.74021280e-01
-9.92180064e-01 -9.53658515e-01 -9.56348745e-01 -9.83342808e-01
-9.90851539e-01 -9.81708573e-01 -9.58788131e-01 -9.65362536e-01
-9.96787495e-01 -9.49110951e-01 -8.78662190e-01 -8.85395202e-01
-8.87650743e-01 -8.25329144e-01 -7.74287255e-01 -7.62701212e-01
-7.37891286e-01 -6.84881082e-01 -6.95482223e-01 -7.47544112e-01
-7.41132907e-01 -7.13657794e-01 -7.20298655e-01 -7.08815848e-01
-6.85322780e-01 -6.38344175e-01 -6.34766248e-01 -6.35727134e-01
-6.16381222e-01 -6.17612948e-01 -5.93135463e-01 -5.81114661e-01
-5.79909035e-01 -6.12489106e-01 -6.14077524e-01 -5.91460020e-01
-5.82591661e-01 -5.47260586e-01 -5.25667923e-01 -5.44186939e-01
-4.77239899e-01 -5.23999077e-01 -5.12063520e-01 -4.63506136e-01
-4.11859739e-01 -3.74438114e-01 -3.69010461e-01 -3.99962997e-01
-3.80450850e-01 -3.72432785e-01 -3.68961578e-01 -3.75075580e-01
-3.90746186e-01 -3.99916775e-01 -3.85625051e-01 -4.08450535e-01
-4.52882821e-01 -4.82393735e-01 -5.26591563e-01 -5.64492923e-01
-5.84586896e-01 -5.46013602e-01 -5.48152382e-01 -5.08114049e-01
-4.92115209e-01 -4.78392778e-01 -4.67007216e-01 -4.62788151e-01
-4.83246426e-01 -5.16499674e-01 -5.33829216e-01 -5.06235310e-01
-5.51246765e-01 -5.77229646e-01 -5.58816494e-01 -5.63285227e-01
-5.12887250e-01 -5.02221207e-01 -5.32979309e-01 -5.09823153e-01
-5.14759667e-01 -4.99505873e-01 -5.01874879e-01 -4.94691592e-01
-5.24731162e-01 -4.94194326e-01 -4.67484371e-01 -4.83434575e-01
-4.64941538e-01 -4.68303836e-01 -4.73500978e-01 -4.50635609e-01
-4.28528231e-01 -3.90409993e-01 -4.09287251e-01 -3.78165796e-01
-3.43551098e-01 -3.42138717e-01 -3.70832559e-01 -3.67413315e-01
-4.21644704e-01 -4.80497554e-01 -4.94671724e-01 -5.02871767e-01
-4.87112714e-01 -4.35482015e-01 -4.67880024e-01 -4.54216806e-01
-4.40303321e-01 -4.60131911e-01 -4.44988862e-01 -4.59965581e-01
-4.54827304e-01 -4.59831890e-01 -4.29953698e-01 -4.49050482e-01
-4.25367957e-01 -4.57614376e-01 -4.75068304e-01 -4.67352599e-01
-4.57575060e-01 -5.12947387e-01 -4.69852600e-01 -5.01400035e-01
-5.31234876e-01 -4.81432584e-01 -4.13323344e-01 -3.99908120e-01
-3.85579365e-01 -4.20853350e-01 -4.35451378e-01 -4.45289410e-01
-4.86704910e-01 -4.45988328e-01 -4.87738625e-01 -4.50866981e-01
-4.47739351e-01 -4.42730343e-01 -4.23470567e-01 -4.47142065e-01
-5.02985205e-01 -5.18855758e-01 -5.40224482e-01 -5.16830876e-01
-4.94622717e-01 -5.38120236e-01 -5.84411700e-01 -6.26382459e-01
-6.10963395e-01 -5.72372858e-01 -6.13030005e-01 -6.19292317e-01
-5.86464159e-01 -5.65650331e-01 -4.87349374e-01 -5.15014381e-01
-4.98822491e-01 -5.01123242e-01 -4.77778225e-01 -4.74559474e-01
-4.78844425e-01 -4.96244974e-01 -5.03244590e-01 -5.29443649e-01
-5.44175392e-01 -5.53346753e-01 -5.67504256e-01 -5.64188115e-01
-5.91784618e-01 -5.72316202e-01 -6.03043957e-01 -5.76582093e-01
-5.72324736e-01 -6.03825157e-01 -6.31087624e-01 -6.45005173e-01
-6.54211303e-01 -6.60832544e-01 -6.73481691e-01 -6.36185055e-01
-6.24775367e-01 -6.19707508e-01 -6.61525935e-01 -6.55045738e-01
-6.09843962e-01 -6.42472192e-01 -5.97223729e-01 -6.37660168e-01
-5.89570755e-01 -5.50010416e-01 -5.43725017e-01 -5.93221096e-01
-6.30805197e-01 -6.67045810e-01 -6.82639538e-01 -6.92641312e-01
-6.87758341e-01 -7.10894300e-01 -7.15420330e-01 -6.68139705e-01
-6.41004239e-01 -6.28993618e-01 -6.11845275e-01 -6.05398325e-01
-6.45423439e-01 -6.38724912e-01 -6.04362095e-01 -5.60885051e-01
-5.06461427e-01 -5.30193223e-01 -5.48938310e-01 -5.18744973e-01
-5.31965505e-01 -5.68455374e-01 -5.46317623e-01 -6.14113134e-01
-6.43765299e-01 -6.53911649e-01 -6.28573060e-01 -6.92569588e-01
-6.75090587e-01 -6.95229918e-01 -7.42213437e-01 -7.43558518e-01
-7.34320954e-01 -7.15623760e-01 -7.14323847e-01 -6.82040199e-01
-7.16704742e-01 -7.50635083e-01 -7.11792629e-01 -7.34583670e-01
-7.28092180e-01 -6.90005983e-01 -6.24847644e-01 -6.24281262e-01
-6.17223181e-01 -6.02761384e-01 -6.48323356e-01 -6.31818537e-01
-7.28413071e-01 -7.16900664e-01 -7.06313873e-01 -6.73731130e-01
-6.83122401e-01 -6.67107103e-01 -7.02061991e-01 -7.07225243e-01
-6.97548938e-01 -7.09658305e-01 -7.10003908e-01 -7.25154077e-01
-6.67453604e-01 -5.91729210e-01 -5.68423369e-01 -6.17424121e-01
-5.65424028e-01 -5.87765663e-01 -6.24577041e-01 -6.17537465e-01
-6.08861695e-01 -6.04589058e-01 -6.16216032e-01 -6.05363851e-01
-5.77354139e-01 -5.81298927e-01 -5.66894255e-01 -5.77727792e-01
-5.64212707e-01 -6.45645724e-01 -6.80399480e-01 -7.04282648e-01
-7.54656232e-01 -7.58282782e-01 -7.45538041e-01 -7.69180393e-01
-7.64581177e-01 -7.50948392e-01 -7.43913469e-01 -7.18684103e-01
-6.73125202e-01 -7.03940263e-01 -6.85362033e-01 -7.39978023e-01
-7.57009969e-01 -7.61249140e-01 -7.92427328e-01 -8.18068632e-01
-8.14873496e-01 -8.59500535e-01 -8.94608907e-01 -9.29134103e-01
-9.89700451e-01 -1.00559576e+00 -1.03119104e+00 -1.00463429e+00
-9.90447370e-01 -9.57255421e-01 -9.61694817e-01 -9.76267596e-01
-1.00151348e+00 -1.00662264e+00 -1.04715372e+00 -1.02417990e+00
-1.02019896e+00 -1.04752647e+00 -1.04332617e+00 -1.04334957e+00
-1.07792375e+00 -1.07070094e+00 -1.09751454e+00 -1.12095335e+00
-1.09869792e+00 -1.08193039e+00 -1.04100771e+00 -1.02387164e+00
-1.02556003e+00 -1.02617780e+00 -1.02066994e+00 -1.00321420e+00
-9.86721029e-01 -9.95145283e-01 -9.65749868e-01 -9.54616834e-01
-9.55416019e-01 -1.00373089e+00 -1.03058468e+00 -1.03567152e+00
-1.04326657e+00 -9.62765286e-01 -9.60226145e-01 -9.22822823e-01
-9.07313887e-01 -8.78887454e-01 -8.55722043e-01 -8.13755647e-01
-8.32058896e-01 -8.44610421e-01 -8.27824086e-01 -7.78570767e-01
-7.79862091e-01 -6.90213356e-01 -6.28977891e-01 -6.77015677e-01
-6.89504029e-01 -7.11341592e-01 -7.37377879e-01 -6.86690217e-01
-7.12689201e-01 -7.38238004e-01 -7.25614126e-01 -7.86874820e-01
-7.19543878e-01 -7.18382747e-01 -6.85995158e-01 -6.43030121e-01
-6.18527814e-01 -5.60879734e-01 -5.34825648e-01 -5.27746475e-01
-5.16651495e-01 -4.68647147e-01 -4.68380874e-01 -5.16143286e-01
-5.19976853e-01 -4.33498980e-01 -4.11641714e-01 -4.44374318e-01
-4.44549546e-01 -4.51263448e-01 -4.61589515e-01 -4.48767467e-01]
In [16]:
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 [18]:
plt.plot(t, W)
plt.xlabel('t')
plt.ylabel('W(t)')
Out[18]:
<matplotlib.text.Text at 0x7f9db276aad0>
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 [29]:
dW = np.diff(W)
y = dW.mean()
z = dW.std()
In [30]:
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 [35]:
def geo_brownian(t, W, X0, mu, sigma):
"Return X(t) for geometric brownian motion with drift mu, volatility sigma."""
X_t = X0 * np.exp((mu - sigma**2) * t + sigma * W)
return X_t
In [36]:
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 [37]:
plt.plot(t, geo_brownian(t, W, 1.0, 0.5, 0.3))
plt.xlabel('t')
plt.ylabel('X(t)')
Out[37]:
<matplotlib.text.Text at 0x7f9db2547bd0>
In [ ]:
assert True # leave this for grading
Content source: geoneill12/phys202-2015-work
Similar notebooks: