n-dimensional correlated Brownian motions

Generate a matrix of increments from a multidimensional Brownian motion with a given vector of means and a Variance-Covariance matrix.
235 descargas
Actualizado 19 sep 2022
Functions generate a matrix of increments from a multidimensional Brownian motion with a given vector of means and a Variance-Covariance matrix.
Problem
Often when using for example multifactor models, the model requires correlated sources of noise. A popular choice is to use a multidimensional Brownian motion.
Solution
The proposed algorithm uses the fact that increments of a BM are normally distributed as well as the fact that assuming n independent BM's whose increments are generated from a standard normal distribution (denoted , a derived process has its increments distributed as where mu is the vector of desired means and L is the square root of the desired Variance-Covariance matrix (denoted E).
Inputs
  • Vector of means for each BM `mu`
  • Variance-Covariance matrix whose diagonal elements describe the volatility of each BM and the off-diagonal elements describe the covariance `E`
  • Number of samples needed `sampleSize`
Output
  • Matrix of samples where each column represents a BM and each row a new increment
Getting started
The user is interested in generating samples from 2 Brownian motions with a correlation of 0.8. Additionally, the first BM has a mean of 1 and a variance of 1.5. The second BM has a mean of 0 and a variance of 2. The user is interested in 480 samples.
Example of use
mu = [1; 0];
VarCovar = [1.5, 0.8; 0.8, 2];
sampleSize = 480;
CorBrownian(mu, VarCovar, sampleSize)

Citar como

Gregor Fabjan (2024). n-dimensional correlated Brownian motions (https://github.com/qnity/correlated_brownian_motion_matlab), GitHub. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2021b
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

No se pueden descargar versiones que utilicen la rama predeterminada de GitHub

Versión Publicado Notas de la versión
1.0.2

Project now has a website

1.0.1

Link to GitHub

1.0.0

Para consultar o notificar algún problema sobre este complemento de GitHub, visite el repositorio de GitHub.
Para consultar o notificar algún problema sobre este complemento de GitHub, visite el repositorio de GitHub.