| ²é¿´: 2106 | »Ø¸´: 8 | |||
| µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû | |||
dax071124гæ (³õÈëÎÄ̳)
|
[ÇóÖú]
matlabÖÐÓöµ½µÄ»Í¼Ð¡ÎÊÌ⣬³ÌÐòûÎÊÌâ¡£±êÌâÒª³¤@@@@@@@@@@@@@@@@@@@@@@ ÒÑÓÐ1È˲ÎÓë
|
||
|
function [imv,lowerimv,upperimv] = basket(stockprice,sigma,corr,weight,T,nsimula,r,strikes) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %compute the price of the basket option using monte carlo method %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% number=size(stockprice,2); %Number of stocks A=chol(corr); %Cholesky decomposition of correlation B=zeros(nsimula,number); %Application for data space for i=1:nsimula B(i, = stockprice.*exp((r - (sigma.^2)/2)*T+sigma.*(A*randn(number,1))'*sqrt(T));end C=B*weight'; D=max(-C*ones(size(strikes,1),size(strikes,2))+ones(size(C,1),size(C,2))*strikes,0); callprice=exp(-r*T)*mean(D); lowercallprice=exp(-r*T)*(mean(D)-2*sqrt(var(D)/nsimula)); S0=stockprice*weight'; imv=blsimpv(S0,strikes,r,T,callprice,[],[],[],false); lowerimv=blsimpv(S0,strikes,r,T,max(0,lowercallprice),[],[],[],false); uppercallprice=exp(-r*T)*(mean(D)+2*sqrt(var(D)/nsimula)); upperimv=blsimpv(S0,strikes,r,T,uppercallprice,[],[],[],false); ÕâÊÇMº¯Êý£¬Õâ¸ö³ÌÐòÀÏʦ°ïÎҸĹýÁË£¬Ó¦¸ÃûÎÊÌâ¡£ for strike=40:5:200 x(strike)=strike; [y(strike),n(strike),q(strike)]=basket([120 100],[0.1 0.9],[1 -0.5;-0.5 1],[0.4 0.6],1,1000,0.05,strike); end figure; plot(x,y,'s',x,n,'s',x,q,'s'); Õâ¸öÊDzâÊÔº¯Êý£¬Ö®Ç°ÀÏʦÔÚËûµÄ»ú×ÓÉϸ͝ÁËһϻͼÃüÁîÃ²ËÆ£¬»³öÀ´µÄͼËäÊÇÉ¢µã£¬µ«ÊǼä¾àÔ½À´Ô½Ð¡£¬¿´ÆðÀ´Êǽ¥½üµÄͼ£¬¶øÇÒÔËÐÐËÙ¶ÈÒ²ºÜ¿ì£¬µ«ÊÇÎÒµ¥ÓÃplot»³öÀ´µÄͼÊǵȼä¾àµÄ£¬²»Ì«ºÃ¿´£¬ÇëÎÊÉÔÉԸ͝ÏÂÄĸöÃüÁ¿ÉÒÔ´ïµ½¼ä¾àÔ½À´Ô½Ð¡µÄЧ¹û£¿²»ºÃÒâ˼ÎÊÀÏʦÁË£¬ÒòΪËûÒѾ°ïÎÒ¸ÄÁ˳ÌÐò¡£Ð»Ð»´ó¼ÒÁË¡£ [ Last edited by dax071124 on 2012-10-17 at 20:32 ] |
» ²ÂÄãϲ»¶
½ñÈÕ²»·Å°ñ£¿Íø´«¹ú×ÔȻԤ¼Æ 8 Ô 27 Èտɲé½á¹û
ÒѾÓÐ21È˻ظ´
ÄÜ·ñÍ˳ö²ÎÓëµÄÃæÉÏÏîÄ¿½â³ýÏÞÏî
ÒѾÓÐ17È˻ظ´
¹À¼ÆÊÇÖÜËÄ
ÒѾÓÐ4È˻ظ´
ÎÒÃæÉÏÍêµ°ÁË
ÒѾÓÐ9È˻ظ´
2026¹ú×ÔÈ»º¯ÆÀ·Ñµ½ÕË
ÒѾÓÐ18È˻ظ´
½¨Òé»ù½ð·¢²¼Ìáǰ¸ø³öÃ÷È·µÄʱ¼äµã
ÒѾÓÐ15È˻ظ´
·¶½øÖоÙÒ»ÎĵÄÖÐÐÄ˼Ïë
ÒѾÓÐ7È˻ظ´
ÅóÓÑȦ¿´µ½µÄ
ÒѾÓÐ9È˻ظ´
ÈÃÎÒÖÐÒ»¸öÃæÉϰɣ¡
ÒѾÓÐ16È˻ظ´
·Å°ñǰµÄ²»µ¶¨
ÒѾÓÐ17È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
matlab»Í¼ÇóÖú
ÒѾÓÐ11È˻ظ´
matlab»Í¼±ê×¢ÎÊÌâ
ÒѾÓÐ5È˻ظ´
¼ÌÐøÇóÖúMatlab»æÍ¼£¡
ÒѾÓÐ8È˻ظ´
¹ØÓÚMatlab×÷ͼµÄÎÊÌâ
ÒѾÓÐ14È˻ظ´
Matlab»Í¼ÇóÖú? (ÓÐÈË˵, ±êÌâÒ»¶¨Òª³¤------------------------->)
ÒѾÓÐ5È˻ظ´
MATLAB »Í¼Ð¡ÎÊÌâ
ÒѾÓÐ11È˻ظ´
ÇóÖú£ºË»áÓÃmatlab»Í¼£¿
ÒѾÓÐ13È˻ظ´
ÈçºÎÔÚmatlabÖлæÖÆÈýάÁ¢Ìåͼ
ÒѾÓÐ13È˻ظ´
¡¾ÇóÖú¡¿MATLAB¶à¸ömatÖÐ Êý¾Ý»Í¼ÎÊÌâ
ÒѾÓÐ7È˻ظ´
¡¾ÇóÖú¡¿Çë½Ì³æÓѹØÓÚmatlab²î·Ö·½³ÌµÄÇó½âºÍ»Í¼³ÌÐò
ÒѾÓÐ4È˻ظ´
¡¾ÇóÖú¡¿matlab ÒÅ´«Ëã·¨¹¤¾ßÏä»æÍ¼ÃüÁîÊÇʲô£¿
ÒѾÓÐ6È˻ظ´
csgt0
ÈÙÓþ°æÖ÷ (ÖøÃûдÊÖ)
²ÊÉ«¹Òͼ
-

ר¼Ò¾Ñé: +2 - Ó¦Öú: 367 (˶ʿ)
- ¹ó±ö: 0.457
- ½ð±Ò: 7812
- É¢½ð: 8897
- ºì»¨: 20
- ɳ·¢: 7
- Ìû×Ó: 2810
- ÔÚÏß: 515.9Сʱ
- ³æºÅ: 449046
- ×¢²á: 2007-11-02
- רҵ: ½ðÊô·Ç¾§Ì¬¡¢×¼¾§ºÍÄÉÃ×¾§
- ¹ÜϽ: ¼ÆËãÄ£Äâ

5Â¥2012-10-18 16:14:34
dax071124
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 63.1
- Ìû×Ó: 32
- ÔÚÏß: 30.7Сʱ
- ³æºÅ: 1806325
- ×¢²á: 2012-05-09
- רҵ: ¸ÅÂÊÂÛÓëËæ»ú·ÖÎö
2Â¥2012-10-17 20:33:40
dax071124
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 63.1
- Ìû×Ó: 32
- ÔÚÏß: 30.7Сʱ
- ³æºÅ: 1806325
- ×¢²á: 2012-05-09
- רҵ: ¸ÅÂÊÂÛÓëËæ»ú·ÖÎö
4Â¥2012-10-18 16:07:32
liuzhishfd
ľ³æ (ÖøÃûдÊÖ)
- Ó¦Öú: 82 (³õÖÐÉú)
- ½ð±Ò: 5120.6
- É¢½ð: 203
- ºì»¨: 34
- Ìû×Ó: 2335
- ÔÚÏß: 153.6Сʱ
- ³æºÅ: 1518267
- ×¢²á: 2011-12-01
- רҵ: ¿ØÖÆÀíÂÛÓë·½·¨
6Â¥2012-10-18 16:28:08









= stockprice.*exp((r - (sigma.^2)/2)*T+sigma.*(A*randn(number,1))'*sqrt(T));
»Ø¸´´ËÂ¥
20