%
% Desenha o gráfico de um caminho aleatórios para os
% Modelos de Taxas de Juro de Vasicek e de Cox, Ingersoll e Ross
% (Aula 17 de Matemática Financeira).
%
% L. Nunes Vicente, Maio de 2006.
%
clf;
clear;
%
a     = 0.1;
b     = 0.1;
r0    = 0.05; % r0 (valor do activo em t0)
sigma = 0.02; % sigma (volatilidade)
t0    = 0;    % t0 (instante inicial)
T     = 100;  % T (instante final)
%
Delta_t = 0.1; % Delta_t (incremento temporal)
%
N     = round( (T-t0)/Delta_t );
tvals = [t0:Delta_t:t0+N*Delta_t];
r     = zeros(N+1,1);
r(1)  = r0;
%
for i=1:10
%
    for i=1:N
        %aux = 1;   % Vasicek
        aux = r(i); % Cox, Ingersoll e Ross
        r(i+1) = a*b*Delta_t + (1-a*Delta_t)*r(i) ...
                             + sigma*randn*sqrt(aux*Delta_t) ;
    end
%
    hold on
    plot(tvals,r);
%
end
%
title('CIR com a = b = 0.1 e sigma = 0.02'); 
xlabel('t'); ylabel('r(t)');
%
% Fim - r_caminho aleatório.
