㈠ 如何在matlab中用蒙特卡洛模擬計算歐式期權價格
function [c,p]=ucoption(S,X,sigma,r,T,M)
sig2=sigma^2;
srT=sqrt(T);
srTa=sigma*srT;
c=0;
p=0;
for i=1:M
ST=S*exp((r-0.5*sig2)*T+srTa*randn);
c=c+max(ST-X,0);
p=p+max(X-ST,0);
end
c=c/M;
p=p/M;
[Call,Put] = blsprice(S, X, r, T, sigma);
error=[c,p]-[Call,Put]
%可以試試 [c,p]=ucoption(10,10,0.3,0.05,0.5,10^4*100);
㈡ 用蒙特卡洛方法用matlab編程
l=1;
n=50000;
m=0;
fork=1:n
x=unifrnd(0,2);
y=unifrnd(0,2);
ifabs(y-x)<=1
m=m+1;
end
end
m/n
㈢ 如何用matlab實現這個蒙特卡洛模擬
Monte Carlo 模擬設計
一.Monte Carlo模擬方法的基本思想及其特點
Monte Carlo模擬方法又稱統計試驗法,它是一種採用統計抽樣理論近似地求解數學、物理及工程問題的方法。它解決問題的基本思想是,首先建立與描述該問題有相似性的概率模型,然後對模型進行隨機模擬或統計抽樣,再利用所得的結果求出特徵量的統計值作為原問題的近似解,並對解的精度作出某些估計。Monte Carlo模擬方法的主要理論基礎是概率論中的大數定律,要主要手段為隨機變數的抽樣分析。
Monte Carlo模擬方法的特點如下:
(1)Monte Carlo模擬分析是通過大量而簡單的重復抽樣實現的,故計算方法和程序結構都很簡單;
(2)收斂的概率性和收斂速度與問題的維數無關;
(3)適應性強,受問題條件限制的影響較小;
(4)收斂速度較慢,不宜用來解決精度要求很高的實際問題。
Monte Carlo模擬方法在實際中能否應用的關鍵問題之一,是能否有簡便、經濟和可靠的隨機數產生方法。
二.隨機數的產生方法
隨機數的產生方法主要有三類:第一類是利用專門的隨機數表;第二類為物理方法,即用物理裝置產生隨機數;第三類為數學方法,即用專門的運算程序在計算機上產生隨機數。前兩種方法由於其固有的缺陷而降低了其使用價值。最後一種數學方法是目前使用較廣、發展較快的方法。下面簡單介紹幾種產生隨機數的常用數學方法。
㈣ 利用matlab 用蒙特卡洛計算
S(i+1)=S(i)*(1+U*DT+D*R*0.1)...
中R都沒定義
㈤ 對歷史股票價格做蒙特卡洛模擬
你先用5年前的數據模擬一下現在股票的價格,看準不準再說吧
㈥ 怎樣用matlab實現蒙特卡洛模擬
貼一個蒙特卡洛方法的matlab程序,供大家使用。
{3 x& K/ i1 i( D8 C0 c$ O
% Example Monte Carlo Simulation in Matlab 0 O5 \; P" t# t7 v8 c& @
% Function: y = x2^2/x1 5 Z0 W4 e9 q, d5 B+ c
%
% Generate n samples from a normal distribution 4 s! c6 y, I6 H" d) K+ v. Y; X: Q
% r = ( randn(n,1) * sd ) + mu 4 U F* Q) t, T# q* w/ K' Q
% mu : mean / E( P8 U" c* o! G8 s/ x
% sd : standard deviation
%
% Generate n samples from a uniform distribution 2 u# ^& K. [0 z% F) @1 y
% r = a + rand(n,1) * (b-a) - D+ }& U$ w- M9 @& Q9 W, Z
% a : minimum
% b : maximum
n = 100000; % The number of function evaluations 7 x5 a" @- F& O- Z; w5 j
% --- Generate vectors of random inputs ! K& x0 ^# X+ q( V6 {
% x1 ~ Normal distribution N(mean=100,sd=5)
% x2 ~ Uniform distribution U(a=5,b=15)
x1 = ( randn(n,1) * 5 ) + 100; 2 B' l3 n) V) D$ ~
x2 = 5 + rand(n,1) * ( 15 - 5 ); \: O: Y( w3 [9 d: V4 r( k4 {
% --- Run the simulation
% Note the use of element-wise multiplication - ~% x$ `7 A6 v9 R* F
y = x2.^2 ./ x1; ' g$ O7 U; R* F% `
% --- Create a histogram of the results (50 bins)
hist(y,50); / M9 m+ s( [* w" J2 I% s/ X
% --- Calculate summary statistics
y_mean = mean(y)
y_std = std(y) ; R7 A2 y M/ T" p, h* m
y_median = median(y)
㈦ matlab投資組合
我認為Eviews更好一些。spss也可,但分析起來不夠專業,MATLAB是更數學化一些。只有Eviews簡單實用,而且專業。
㈧ 如何用matlab做風險投資組合
風險最小或者預期收益最大利用3隻股票都可以計算出來, 但是你得到風險最小的股票後, 直接將1000塊一次性投資這個股票, 應該收益就是最大的!
有什麼其他的演算法么?
㈨ 如何使用matlab實現Black-Scholes期權定價模型
參考論文 期權定價理論是現代金融學中最為重要的理論之一,也是衍生金融工具定價中最復雜的。本文給出了歐式期權定價過程的一個簡單推導,並利用Matlab對定價公式給出了數值算例及比較靜態分析,以使讀者能更直觀地理解期權定價理論。 關鍵詞:Matlab;教學實踐 基金項目:國家自然科學基金項目(70971037);教育部人文社科青年項目(12YJCZH128) 中圖分類號:F83文獻標識碼:A 收錄日期:2012年4月17日 現代金融學與傳統金融學最主要的區別在於其研究由定性分析向定量分析的轉變。數理金融學即可認為是現代金融學定量分析分支中最具代表性的一門學科。定量分析必然離不開相應計算軟體的應用,Matlab就是一款最為流行的數值計算軟體,它將高性能的數值計算和數據圖形可視化集成在一起,並提供了大量內置函數,近年來得到了廣泛的應用,也為金融定量分析提供了強有力的數學工具。 一、Black-Scholes-Merton期權定價模型 本節先給出B-S-M期權定價模型的簡單推導,下節給出B-S-M期權定價模型的Matlab的實現。設股票在時刻t的價格過程S(t)遵循如下的幾何Brown運動: dS(t)=mS(t)dt+sS(t)dW(t)(1) 無風險資產價格R(t)服從如下方程: dR(t)=rR(t)dt(2) 其中,r,m,s>0為常量,m為股票的期望回報率,s為股票價格波動率,r為無風險資產收益率且有0<r<m;dW(t)是標准Brown運動。由式(1)可得: lnS(T):F[lnS(t)+(m-s2/2)(T-t),s■](3) 歐式看漲期權是一種合約,它給予合約持有者以預定的價格(敲定價格)在未來某個確定的時間T(到期日)購買一種資產(標的資產)的權力。在風險中性世界裡,標的資產為由式(1)所刻畫股票,不付紅利的歐式看漲期權到期日的期望價值為:■[max(S(T)-X,0)],其中■表示風險中性條件下的期望值。根據風險中性定價原理,不付紅利歐式看漲期權價格c等於將此期望值按無風險利率進行貼現後的現值,即: c=e-r(T-1)■[max{S(T)-X,0}](4) 在風險中性世界裡,任何資產將只能獲得無風險收益率。因此,lnS(T)的分布只要將m換成r即可: lnS(T):F[lnS(t)+(r-s2/2)(T-t),s■](5) 由式(3)-(4)可得歐式看漲期權價格: c=S(t)N(d1)-Xe-r(T-1)N(d2)(6) 這里: d1=■(7) d2=■=d1-s■(8) N(x)為均值為0標准差為1的標准正態分布變數的累積概率分布函數。S(t)為t時刻股票的價格,X為敲定價格,r為無風險利率,T為到期時間。歐式看跌期權也是一種合約,它給予期權持有者以敲定價格X,在到期日賣出標的股票的權力。 下面推導歐式看漲期權c與歐式看跌期權p的聯系。考慮兩個組合,組合1包括一個看漲期權加上Xe-r(T-1)資金,組合2包含一個看跌期權加上一股股票。於是,在到期時兩個組合的價值必然都是: max{X,S(T)}(9) 歐式期權在到期日之前是不允許提前執行的,所以當前兩個組合的價值也必相等,於是可得歐式看漲期權與看跌期權之間的平價關系(put-call parity): c+Xe-r(T-t)=p+S(t)(10) 由式(10)可得,不付紅利歐式看跌期權的價格為: p=Xe-r(T-t)N(-d2)-S(t)N(-d1)(11) 二、Black-Scholes-Merton模型的Matlab實現 1、歐式期權價格的計算。由式(6)可知,若各參數具體數值都已知,計算不付紅利的歐式看漲期權的價格一般可以分為三個步驟:先算出d1,d2,涉及對數函數;其次計算N(d1),N(d2),需要查正態分布表;最後再代入式(6)及式(11)即可得歐式期權價格,涉及指數函數。不過,歐式期權價格的計算可利用Matlab中專有blsprice函數實現,顯然更為簡單: [call,put]=blsprice(Price,Strike,Rate,Time,Volatility)(12) 只需要將各參數值直接輸入即可,下面給出一個算例:設股票t時刻的價格S(t)=20元,敲定價格X=25,無風險利率r=3%,股票的波動率s=10%,到期期限為T-t=1年,則不付紅利的歐式看漲及看跌期權價格計算的Matlab實現過程為: 輸入命令為:[call,put]= blsprice(20,25,0.03,0.1,1) 輸出結果為:call=1.0083put=5.9334 即購買一份標的股票價格過程滿足式(1)的不付紅利的歐式看漲和看跌期權價格分別為1.0083元和5.9334元。 2、歐式期權價格的比較靜態分析。也許純粹計算歐式期權價格還可以不利用Matlab軟體,不過在授課中,教師要講解期權價格隨個參數的變化規律,只看定價公式無法給學生一個直觀的感受,此時可利用Matlab數值計算功能及作圖功能就能很方便地展示出期權價格的變動規律。下面筆者基於Matlab展示歐式看漲期權價格隨各參數變動規律: (1)看漲期權價格股票價格變化規律 輸入命令:s=(10∶1∶40);x=25;r=0.03;t=1;v=0.1; c=blsprice(s,x,r,t,v); plot(s,c,'r-.') title('圖1看漲期權價格股票價格變化規律'); xlabel('股票價格');ylabel('期權價值');grid on (2)看漲期權價格隨時間變化規律 輸入命令:s=20;x=25;r=0.03;t=(0.1∶0.1∶2);v=0.1;c=blsprice(s,x,r,t,v); plot(t,c,'r-.') title('圖2看漲期權價格隨時間變化規律'); xlabel('到期時間');ylabel('期權價值');grid on (3)看漲期權價格隨無風險利率變化規律 s=20;x=25;r=(0.01∶0.01∶0.5);t=1;v=0.1;c=blsprice(s,x,r,t,v); plot(r,c,'r-.') title('圖3看漲期權價格隨無風險利率變化規律'); xlabel('無風險利率');ylabel('期權價值');grid on (4)看漲期權價格隨波動率變化規律 s=20;x=25;r=0.03;t=1;v=(0.1∶0.1∶1);c=blsprice(s,x,r,t,v); plot(v,c,'r-.') title('圖4看漲期權價格隨波動率變化規律'); xlabel('波動率');ylabel('期權價值');grid on (作者單位:南京審計學院數學與統計學院) 主要參考文獻: [1]羅琰,楊招軍,張維.非完備市場歐式期權無差別定價研究[J].湖南大學學報(自科版),2011.9. [2]羅琰,覃展輝.隨機收益流的效用無差別定價[J].重慶工商大學學報(自科版),2011. [3]鄧留寶,李柏年,楊桂元.Matlab與金融模型分析[M].合肥工業大學出版社,2007.
㈩ 如何用matlab計算期權價格
參考論文
期權定價理論是現代金融學中最為重要的理論之一,也是衍生金融工具定價中最復雜的。本文給出了歐式期權定價過程的一個簡單推導,並利用Matlab對定價公式給出了數值算例及比較靜態分析,以使讀者能更直觀地理解期權定價理論。
關鍵詞:Matlab;教學實踐
基金項目:國家自然科學基金項目(70971037);教育部人文社科青年項目(12YJCZH128)
中圖分類號:F83文獻標識碼:A
收錄日期:2012年4月17日
現代金融學與傳統金融學最主要的區別在於其研究由定性分析向定量分析的轉變。數理金融學即可認為是現代金融學定量分析分支中最具代表性的一門學科。定量分析必然離不開相應計算軟體的應用,Matlab就是一款最為流行的數值計算軟體,它將高性能的數值計算和數據圖形可視化集成在一起,並提供了大量內置函數,近年來得到了廣泛的應用,也為金融定量分析提供了強有力的數學工具。
一、Black-Scholes-Merton期權定價模型
本節先給出B-S-M期權定價模型的簡單推導,下節給出B-S-M期權定價模型的Matlab的實現。設股票在時刻t的價格過程S(t)遵循如下的幾何Brown運動:
dS(t)=mS(t)dt+sS(t)dW(t)(1)
無風險資產價格R(t)服從如下方程:
dR(t)=rR(t)dt(2)
其中,r,m,s>0為常量,m為股票的期望回報率,s為股票價格波動率,r為無風險資產收益率且有0<r<m;dW(t)是標准Brown運動。由式(1)可得:
lnS(T):F[lnS(t)+(m-s2/2)(T-t),s■](3)
歐式看漲期權是一種合約,它給予合約持有者以預定的價格(敲定價格)在未來某個確定的時間T(到期日)購買一種資產(標的資產)的權力。在風險中性世界裡,標的資產為由式(1)所刻畫股票,不付紅利的歐式看漲期權到期日的期望價值為:■[max(S(T)-X,0)],其中■表示風險中性條件下的期望值。根據風險中性定價原理,不付紅利歐式看漲期權價格c等於將此期望值按無風險利率進行貼現後的現值,即:
c=e-r(T-1)■[max{S(T)-X,0}](4)
在風險中性世界裡,任何資產將只能獲得無風險收益率。因此,lnS(T)的分布只要將m換成r即可:
lnS(T):F[lnS(t)+(r-s2/2)(T-t),s■](5)
由式(3)-(4)可得歐式看漲期權價格:
c=S(t)N(d1)-Xe-r(T-1)N(d2)(6)
這里:
d1=■(7)
d2=■=d1-s■(8)
N(x)為均值為0標准差為1的標准正態分布變數的累積概率分布函數。S(t)為t時刻股票的價格,X為敲定價格,r為無風險利率,T為到期時間。歐式看跌期權也是一種合約,它給予期權持有者以敲定價格X,在到期日賣出標的股票的權力。
下面推導歐式看漲期權c與歐式看跌期權p的聯系。考慮兩個組合,組合1包括一個看漲期權加上Xe-r(T-1)資金,組合2包含一個看跌期權加上一股股票。於是,在到期時兩個組合的價值必然都是:
max{X,S(T)}(9)
歐式期權在到期日之前是不允許提前執行的,所以當前兩個組合的價值也必相等,於是可得歐式看漲期權與看跌期權之間的平價關系(put-call parity):
c+Xe-r(T-t)=p+S(t)(10)
由式(10)可得,不付紅利歐式看跌期權的價格為:
p=Xe-r(T-t)N(-d2)-S(t)N(-d1)(11)
二、Black-Scholes-Merton模型的Matlab實現
1、歐式期權價格的計算。由式(6)可知,若各參數具體數值都已知,計算不付紅利的歐式看漲期權的價格一般可以分為三個步驟:先算出d1,d2,涉及對數函數;其次計算N(d1),N(d2),需要查正態分布表;最後再代入式(6)及式(11)即可得歐式期權價格,涉及指數函數。不過,歐式期權價格的計算可利用Matlab中專有blsprice函數實現,顯然更為簡單:
[call,put]=blsprice(Price,Strike,Rate,Time,Volatility)(12)
只需要將各參數值直接輸入即可,下面給出一個算例:設股票t時刻的價格S(t)=20元,敲定價格X=25,無風險利率r=3%,股票的波動率s=10%,到期期限為T-t=1年,則不付紅利的歐式看漲及看跌期權價格計算的Matlab實現過程為:
輸入命令為:[call,put]= blsprice(20,25,0.03,0.1,1)
輸出結果為:call=1.0083put=5.9334
即購買一份標的股票價格過程滿足式(1)的不付紅利的歐式看漲和看跌期權價格分別為1.0083元和5.9334元。
2、歐式期權價格的比較靜態分析。也許純粹計算歐式期權價格還可以不利用Matlab軟體,不過在授課中,教師要講解期權價格隨個參數的變化規律,只看定價公式無法給學生一個直觀的感受,此時可利用Matlab數值計算功能及作圖功能就能很方便地展示出期權價格的變動規律。下面筆者基於Matlab展示歐式看漲期權價格隨各參數變動規律:
(1)看漲期權價格股票價格變化規律
輸入命令:s=(10∶1∶40);x=25;r=0.03;t=1;v=0.1;
c=blsprice(s,x,r,t,v);
plot(s,c,'r-.')
title('圖1看漲期權價格股票價格變化規律');
xlabel('股票價格');ylabel('期權價值');grid on
(2)看漲期權價格隨時間變化規律
輸入命令:s=20;x=25;r=0.03;t=(0.1∶0.1∶2);v=0.1;c=blsprice(s,x,r,t,v);
plot(t,c,'r-.')
title('圖2看漲期權價格隨時間變化規律');
xlabel('到期時間');ylabel('期權價值');grid on
(3)看漲期權價格隨無風險利率變化規律
s=20;x=25;r=(0.01∶0.01∶0.5);t=1;v=0.1;c=blsprice(s,x,r,t,v);
plot(r,c,'r-.')
title('圖3看漲期權價格隨無風險利率變化規律');
xlabel('無風險利率');ylabel('期權價值');grid on
(4)看漲期權價格隨波動率變化規律
s=20;x=25;r=0.03;t=1;v=(0.1∶0.1∶1);c=blsprice(s,x,r,t,v);
plot(v,c,'r-.')
title('圖4看漲期權價格隨波動率變化規律');
xlabel('波動率');ylabel('期權價值');grid on
(作者單位:南京審計學院數學與統計學院)
主要參考文獻:
[1]羅琰,楊招軍,張維.非完備市場歐式期權無差別定價研究[J].湖南大學學報(自科版),2011.9.
[2]羅琰,覃展輝.隨機收益流的效用無差別定價[J].重慶工商大學學報(自科版),2011.
[3]鄧留寶,李柏年,楊桂元.Matlab與金融模型分析[M].合肥工業大學出版社,2007.