%% Impostazioni generali della simulazione n_sim = 20; % numero di simulazioni n_passi = 2000; % numero di passi per ogni simulazione dt = 0.01; % passo temporale T = dt * n_passi; % tempo finale di simulazione %% Definizione del processo: parametri e funzioni a e b %% Commentare o decommentare le parti relative a un certo tipo di processo % Moto browniano geometrico % parametri S0 = 100; % valore di partenza del processo mu = 0.1; sigma = 0.1; % funzioni a e b a = @(S, t) mu * S; b = @(S, t) sigma * S; % Modello di Vasicek % parametri %S0 = 0.01; %a = 0.03; %b = 0.02; %sigma = 0.05; % funzioni a e b %a = @(S, t) a * (b - S); %b = @(S, t) sigma * S; S = nan(n_sim, n_passi + 1); S(:,1) = S0*ones(n_sim, 1); dW = sqrt(dt) * randn(n_sim, n_passi); Tvec = linspace(dt, T, n_passi); for i = 1:n_passi S(:, i+1) = S(:, i) + a(S(:, i), Tvec(i)) * dt + b(S(:, i), Tvec(i)) .* dW(:, i); end plot(S'); axis ([0 n_passi]);