Scilab code to estimate Asian call option using the control variates method
Hello everyone,
I need to estimate Asian call option based on the arithmetic mean by using the control variates method. Since we have the exacte value of the option with geometric mean (BlackScholes formula), i choosed the geometric mean as a control variates for the arithmetic mean.
The problem is that i'm getting the same values (graph) for the confidence interval limits and the estimate values.
Please help me to fix it.
Thanks in advance.
clear;
clc;
K = 120;
S0 = 100;
r = 0.04;
sigma = 0.4;
sigma2 = sigma^2;
T = 1;
n = 52;
dt = T/n;
t = 0:dt:T;
Nmax = 100;
z = 1.96;
sigman=(sigma/n)*sqrt(((n+1)*(2*n+1))/6);
sigman2=sigman^2;
rn=(r0.5*sigma2)*(0.5*(n+1)/n)+0.5*sigman2;
d1 = (log(S0/K)+(rn+0.5*sigman2)*T)/(sigman*sqrt(T));
d2 = d1sigman*sqrt(T);
ECg = exp(r*T)*(S0*exp(rn*T)*cdfnor("PQ",d1,0,1)K*cdfnor("PQ",d2,0,1));
function S=f(x)
S = ones(1,n);
for i = 1:n
u = exp((r0.5*sigma2)*t(i+1)+sigma*x*sqrt(t(i+1)));
S(i)= u;
end
endfunction
function [CI_low, CI_up, CV]=integralCV(N)
S1 = 0;
S2 = 0;
for i = 1:N
u = grand(Nmax,1,"nor",0,1);
St = S0 * f(u(1));
ht1 = max(mean(St)K,0);
ht2 = max((prod(St))^(1/n)K,0);
ht = ht1ht2;
S1 = S1 + exp(r*T)*ht;
S2 = S2 + (exp(r*T)*ht)^2;
end
CV = S1 / N + ECg;
stdev = sqrt((1 / (N1))*( S2  N*CV^2 ));
CI_low = CV  z * stdev / sqrt(N) ;
CI_up = CV + z * stdev / sqrt(N) ;
endfunction
D = 10:1:Nmax9;
for i=1:length(D)
[CI_lowerCV(i), CI_upperCV(i), CV(i)] = integralCV(D(i));
clf();
plot2d(log10(D)', [ CI_lowerCV CI_upperCV CV], [ 3 5 2 ]);
legend([ "Lower Bound (CV)" "Upper Bound (CV)" "CV"]);
title("Estimation of E[Ca] by the control variates method");
 unanswered
 218 views
 Pro Bono
Related Questions
 One Way Anova
 Stats project
 Probability and Statistics question please help
 Bivariate Normality questions

Rolling dice statistics, probability of rolling a straight
 [Combinatorics] Selections, Distributions, and Arrangements with Multiple Restrictions
 Introductory statistics, probability (standard distribution, binomial distribution)
 Hypothesis Testing, Probabilities
This is a very advanced problem...