【正文】
c knowledge of Option, Option profit and loss, and Option fixed price boundary. Chapter three discusses the Binomial model. It probes into European Option pricing formula during the different periods of stock price movement from the simplest to more plex. In chapter four, the writer analyzes the BlackScholes model. And the BlackScholes formula () is got by solving the BlackScholes equation. Then the relation between the BlackScholes model and the Binomial model, that is to say, Volatility is studied. In chapter five, the writer solves the question about European option pricing with two numerical methods: Binary Tree Chart and Finite Difference method, which includes containing finite difference, extrapolation finite difference and CrankNicolson finite difference. Both numerical methods demand the option prices of the end to pute the option price of the beginning. The writer analysis some examples using puter language to describe the math knowledge and introduces its application. In chapter five, Some conclusions are drawn from the contents discussed above. The thesis mainly talks about investigation for option pricing and its numerical methods, then gives prominence to its application by examples, but what’s not enough is that the theory has little breakthrough. Key words: European Option Pricing Binomial Model BlackScholes Model Finite Difference Binary Tree附 錄:includeincludemain(){printf(\n本程序解決這樣一個問題:\n)。printf(有一期權(quán)到期時間為t的股價及期權(quán)價二叉樹,\n)。printf(x表示執(zhí)行價,r表示利率,u表示上升比例,d表示下降比例,\n)。printf(s[0][0]表示0時刻的股價,s[i][j](i=1,2,...,t。j=0,1,...,i)表示二叉樹上各節(jié)點(diǎn)的股價,\n)。printf(c[0][0]表示0時刻的期權(quán)價,c[i][j](i=1,2,...,t。j=0,1,...,i)表示二叉樹上各節(jié)點(diǎn)的期權(quán)價。\n)。printf(現(xiàn)已知t,x,r,u,d以及s[0][0],求解二叉樹上所有節(jié)點(diǎn)的股價s與期權(quán)c\n\n\n)。//以下初始化各數(shù)據(jù)int t,i,j。float x,r,u,d,q。//i和j用于循環(huán)控制;q表示上升概率,可按公式由r,u,d求出 printf(現(xiàn)請按順序輸入t,x,r,u,d,s[0][0](用空格隔開):\n)。scanf(%d %f %f %f %f,amp。t,amp。x,amp。r,amp。u,amp。d)。float s[t+1][t+1],c[t+1][t+1]。//如上述,s[i][j]與c[i][j]分別為二叉樹各節(jié)點(diǎn)的股價與期權(quán)價(i=0,1,...,t。j=0,1,...,i) scanf(%f,amp。s[0][0])。//以下求解 for(i=1。i=t。i++)for(j=0。j=t。j++)s[i][j]=pow(u,ij)*pow(d,j)*s[0][0]。//由s[0][0]求出所有節(jié)點(diǎn)的股價for(j=0。j=t。j++)if(s[t][j]x0)c[t][j]=s[t][j]x。else c[t][j]=0。//先求t時刻的各期權(quán)價c[t][j](j=0,1,...,t) q=(1+rd)/(ud)。//按公式求qfor(i=t1。i=0。i)for(j=0。j=i。j++)c[i][j]=1/(1+r)*(q*c[i+1][j]+(1q)*c[i+1][j+1])。//求剩下節(jié)點(diǎn)的期權(quán)價c//以下輸出結(jié)果 for(i=0。i=t。i++){for(j=0。j=i。j++)printf(s[%d][%d]=%f,c[%d][%d]=%f\n,i,j,s[i][j],i,j,c[i][j])。 }printf(\n因此在0時刻該期權(quán)的價格為c[0][0]=%f\n,c[0][0])。getch()。}:includeincludemain(){printf(\n本程序解決這樣一個問題:\n)。printf(有一期權(quán)到期時間為t的股價及期權(quán)價二叉樹,\n)。printf(x表示執(zhí)行價,r表示利率\n)。printf(s[0][0]表示0時刻的股價,s[i][j](i=1,2,...,t。j=0,1,...,i)表示二叉樹上各節(jié)點(diǎn)的股價,\n)。printf(c[0][0]表示0時刻的期權(quán)價,c[i][j](i=1,2,...,t。j=0,1,...,i)表示二叉樹上各節(jié)點(diǎn)的期權(quán)價。\n)。printf(現(xiàn)已知t,x,r,k及s[0][0],求解二叉樹上所有節(jié)點(diǎn)的股價s與期權(quán)c\n\n\n)。//以下初始化各數(shù)據(jù)int t,i,j。double x,r,k,u,d,q,bigt,a。//i和j用于循環(huán)控制;q表示上升概率,可按公式由r,u,d求出 printf(現(xiàn)請按順序輸入t,x,r, k, T,s[0][0](用空格隔開):\n)。scanf(%d %lf %lf %lf %lf,amp。t,amp。x,amp。r,amp。k,amp。bigt)。double s[t+1][t+1],c[t+1][t+1]。//如上述,s[i][j]與c[i][j]分別為二叉樹各節(jié)點(diǎn)的股價與期權(quán)價(i=0,1,...,t。j=0,1,...,i) scanf(%lf,amp。s[0][0])。//以下求解 u=exp(k*sqrt(bigt/t))。d=exp(k*sqrt(bigt/t))。a=exp(r*bigt/t)。q=(ad)/(ud)。//按公式求qfor(i=1。i=t。i++)for(j=0。j=t。j++)s[i][j]=pow(u,ij)*pow(d,j)*s[0][0]。//由s[0][0]求出所有節(jié)點(diǎn)的股價for(j=0。j=t。j++)if(s[t][j]x0)c[t][j]=xs[t][j]。else c[t][j]=0。//先求t時刻的各期權(quán)價c[t][j](j=0,1,...,t) for(i=t1。i=0。i)for(j=0。j=i。j++)c[i][j]=exp(r*bigt/t)*(q*c[i+1][j]+(1q)*c[i+1][j+1])。//求剩下節(jié)點(diǎn)的期權(quán)價c//以下輸出結(jié)果 for(i=0。i=t。i++){for(j=0。j=i。j++)printf(s[%d][%d]=%f,c[%d][%d]=%f\n,i,j,s[i][j],i,j,c[i][j])。 }printf(\n因此在0時刻該期權(quán)的價格為c[0][0]=%f\n,c[0][0])。getch()。}:function C=heatord(c1,c2,T,detaS,r,sigma,N,M) %Input c1=C(i,1) and c2=C(i,M) X% Q and SMAX right endpoints of [0,Q] and [0,SMAX]% r the contest% N and M number of grid points over [0,Q] and [0,SMAX]%Output C solution matrix。 analogous to Table %Initialize parameters and C X = c1。detat=T/N。SMAX=detaS*Mfor j=1:M1a(j)=1/2*r*j*detat1/2*sigma*sigma*j*j*detat。b(j)=1+sigma*sigma*j*j*detat+r*detat。c(j)=1/2*r*j*detat1/2*sigma*sigma*j*j*detat。end C=zeros(N,M)。 %Boundary conditions for i=1:N+1C(i,1)=c1。C(i,M+1)=c2。end for j=1:M+1C(N+1,j)=max(X(j1)*detaS,0)。end %Generate columes of C A=zeros(M+1,M+1)。A(1,1)=1。A(M+1,M+1)=1。 for j=1:M1 A(j+1,j)=a(j)。 A(j+1,j+1)=b(j)。 A(j+1,j+2)=c(j)。end%C(N+1,:) %B(1,1) = X。%B(M+1,1) = 0。 % for j=2:M% B(j,1) = C(N+1,j)。% end%B,A%qq = inv(A) * B for i=N:1:1 B(1,1) = X。 B(M+1,1) = 0。 for j=2:M B(j,1) = C(i+1,j)。 end C(i,:) = inv(A) * B。end繪圖程序如下:C=heatord(50,0,5,10,20)。x=0::。y=0:100/20:100。[X,Y]=meshgrid(x,y)。mesh(X,Y,C39。)