22 jul 2014

El Proceso Browniano con Matlab

1. Proceso de Wiener o movimiento Browniano en Matlab

Una definición teórica del proceso de puede encontrar en: http://pendientedemigracion.ucm.es/info/jmas/mon/28.pdf

El movimiento representa por:

Que se genera y gráfica por el código:
-----------------------------------------------------------------------------------------------------
%Generando procesos de Wiener
format short
   B0=0; N=200; M=100; mu=0.1; sigma=0.4; T=2; DeltaT=T/N;

X = randn(M,N);    %X~N(0,1)
Bt = cumsum([B0*ones(M,1) (mu*DeltaT*sigma*sqrt(DeltaT)*X)],2);
 
  figure(1); plot(0:DeltaT:T, Bt', '-' ),
      title ('Representación de 200 trayectorias de Wiener');           
      xlabel('Tiempo');


2.   Modelo de Black-Scholes, movimiento Browniano geométrico en Matlab

Una definición teórica del proceso de puede encontrar en: 
http://es.wikipedia.org/wiki/Movimiento_browniano

El movimiento se representa por:


Que se genera y gráfica por el código:
------------------------------------------------------------------------------------------------------
%Generando procesos Browniano Geométrico
format short
S0 = 100.0; N = 1e2; M = 1e3; mu = 0.5; sigma = 0.4; T = 2; dT = T/N;

   X = randn(M,N);
  St = cumprod([S0*ones(M,1) exp((mu-0.5*sigma^2)*dT+sigma*sqrt(dT)*X)],2);

   figure(2); plot(0:dT:T, St')
hold on; plot(0:dT:T, mean(St),'k','linewidth',4); hold off
    title ('Representación de 200 trayectorias Browniano Geométrico');           
    xlabel('Tiempo');








Recodificación de variables usando dplyr en R

Una base de datos suele tener diversos tipos de variables del tipo cualitativo y cuantitativo. En función del tipo de variables aplicamos di...