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.
241 download
Aggiornato 19 set 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)

Cita come

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

Compatibilità della release di MATLAB
Creato con R2021b
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!

Le versioni che utilizzano il ramo predefinito di GitHub non possono essere scaricate

Versione Pubblicato Note della release
1.0.2

Project now has a website

1.0.1

Link to GitHub

1.0.0

Per visualizzare o segnalare problemi su questo componente aggiuntivo di GitHub, visita GitHub Repository.
Per visualizzare o segnalare problemi su questo componente aggiuntivo di GitHub, visita GitHub Repository.