File:BrownFractionalH15.svg
| Uploaded by | Shiyu Ji |
|---|---|
| Upload date | 2016-11-21T10:29:37Z |
| MIME type | image/svg+xml |
| Dimensions | 720 × 540 px |
| File size | 409.9 KB |
Summary
| Description |
English: Fractional Brownian Motion with H = 0.15. |
| Date | |
| Source | Own work |
| Author | Shiyu Ji |
| SVG development |
Python/Matplotlib Code
# A realization of 1D Fractional Brownian motion with time step dt = .5
import matplotlib.pyplot as pl
import numpy as np
t0 = 0.0
dt = 0.5
t_final = 1000.0
T = np.arange(t0, t_final+dt, dt)
H = .15
ax = pl.figure().add_subplot(111)
ax.set_xlabel('t')
ax.set_ylabel('X')
np.random.seed(0)
Gamma = [[0.0 for _ in T] for _ in T]
for i in range(len(T)):
for j in range(len(T)):
Gamma[i][j] = 0.5*(T[i]**(2*H) + T[j]**(2*H) - abs(T[j]-T[i])**(2*H))
eigens, P = np.linalg.eig(Gamma)
Lambda = [[0.0 for _ in T] for _ in T]
for i in range(len(Lambda)):
Lambda[i][i] = eigens[i]**0.5
Sigma = np.matmul(np.matmul(P, Lambda), np.matrix.transpose(P))
path = [np.random.normal(0, 1) for _ in T]
path = np.matmul(Sigma, path)
for i in range(1, len(T)):
ax.plot([T[i-1], T[i]], [path[i-1], path[i]], 'k-', linewidth=0.5)
pl.show()
Licensing
Shiyu Ji, the copyright holder of this work, hereby publishes it under the following license:
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
Attribution:
- You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
- Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.