Me cuesta entender la conocida propiedad del modelo CIR de que no puede bajar de cero. La Wikipedia dice que esto se debe a que el choque aleatorio sobre la tasa crecerá muy pequeño a medida que r se acerque a cero, pero ¿no lo hará también el término de deriva? Especialmente si el término de volatilidad es alto, ¿no es posible que el choque aleatorio tenga un valor negativo mayor que el de la deriva sea positivo incluso cuando r se acerque a cero?
Actualmente estoy intentando implementar el método en matlab pero me ocurre que r se vuelve negativo si aumento la volatilidad. ¿Podría ser un problema con la discretización también, tal vez? El fragmento de código está abajo si es de interés.
theta=0.5; %Long run mean
sigma=14; %Volatility of drawdowns
k = 7.326; %Mean reversion constant
n = 100; %number of time steps, t.
dt = T/n; %time step
M=10^3; %Number of realizations
d0 = theta;
d=ones(M,1).*d0;%Starting value for d
for i = (j-1:n)
dW = sqrt(dt)*randn(M,1); % Wiener increments
d(:,i+1) = d(:,i) + k.*(theta-d(:,i)).*dt + sigma.*sqrt(d(:,i)).*dW; %drawdown rate
end
```