내가 로컬 변동성 모델의 몬테카를로 시뮬레이션을 위해 노력하고 있어요.지역의 변동성 모델 matlab에
이런 이유로 나는 Euler-Mayurama 방법으로이 SDE를 수동으로 시뮬레이션하고 있습니다. 더 구체적으로 내가 로그 프로세스 Xt=log(St)
dXt = -1/2 sigma^2(exp(Xt),t) dt + sigma(exp(Xt),t) dWt
이의 코드에 대한 SDE를 얻기 위해 이토의 공식을 사용 않습니다 :
이 코드는 시그마 그러나, 작은 시그마 오히려 좋은 일
function [S]=geom_bb(sigma,T,N,m)
% T.. Time horizon, sigma.. standard deviation, N.. timesteps, m.. dimensions
X=zeros(N+1,m);
dt=T/N;
t=(0:N)'*dt;
dW=randn(N,m);
for j=1:N
X(j+1,:)=X(j,:) - 1/2* sigma(exp(X(j,:)),t(j))^2 * sqrt(dt) + sigma(exp(X(j,:)),t(j))*dW(j,:);
end
S=exp(X*sqrt(dt));
end
약 10 프로세스는 항상 0이됩니다. 이것은 S가 마틴 게일이기 때문에 발생해서는 안되며, 따라서 expectation = 1 (적어도 상수 시그마의 경우)입니다. 그러나 평균은 정확하므로 X를 올바르게 시뮬레이션해야합니다.
누구든지이 문제를 해결할 수 있습니까? 이는 수치 반올림 오류로 인한 것입니까? 이 문제를 해결하기 위해 선호되는 다른 시뮬레이션 방법이 있습니까?