[原创]欧式看涨期权作图-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 考研考博>>

考研

>>

[原创]欧式看涨期权作图

[原创]欧式看涨期权作图

发布:fantuanxiaot | 分类:考研

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

经管之家新媒体交易平台

提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

提供微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

fantuanxiaot出品主程序Call_Option_Pricing_Plot(10,12,1,0.03,0.16,8)或者Call_Option_Pricing_Plot(10,12,1,0.03,0.16,3)函数代码如下[hide]functionCall_Option_Pricing_Plot(varargin)%copyrightbyfantuanxiaot ...
坛友互助群


扫码加入各岗位、行业、专业交流群


fantuanxiaot出品





主程序


Call_Option_Pricing_Plot(10,12,1,0.03,0.16,8)

或者

Call_Option_Pricing_Plot(10,12,1,0.03,0.16,3)


函数代码如下


[hide]


  1. function Call_Option_Pricing_Plot(varargin)
  2. % copyright by fantuanxiaot
  3. % 关注fantuanxiaot的量化分析新浪博客:http://blog.sina.com.cn/u/2029278253
  4. % 期权定价作图的帽子图和三角图
  5. % Rate年无风险收益率,K是执行价格,T是到期时间(以年计量)
  6. % Sigma是年波动率,S是基期价格
  7. % N是划分的时间段数
  8. % 基于二叉树的期权定价作图
  9. %% Call_Option_Pricing is begin
  10. % 参数的输入
  11. S=varargin{1};
  12. K=varargin{2};
  13. T=varargin{3};
  14. Rate=varargin{4};
  15. Sigma=varargin{5};
  16. N=varargin{6};
  17. % 单期收益率
  18. r=Rate*T/360/N;
  19. DeltaT=T/N;
  20. % 初始化期权价格矩阵
  21. Call_Option_Pricing_Matrix=zeros(N+1);
  22. % 在Q测度下的风险中性概率
  23. U=exp(Sigma*sqrt(DeltaT));
  24. D=1/U;
  25. P=(exp(r*DeltaT)-D)/(U-D);
  26. % 最后一列的期权价值
  27. for i=1:N+1
  28. Call_Option_Pricing_Matrix(i,N+1)=max(0,S*D^(i-1)*U^(N+1-i)-K);
  29. end
  30. % 期权价值向前推移
  31. % Call_Option_Pricing_Matrix形成了期权价格递归矩阵
  32. for j=N:-1:1
  33. for i=1:j
  34. Call_Option_Pricing_Matrix(i,j)=exp(-DeltaT*r)*...
  35. (Call_Option_Pricing_Matrix(i,j+1)*P+Call_Option_Pricing_Matrix(i+1,j+1)*(1-P));
  36. end
  37. end
  38. %% Call_Option_Pricing_Hat_Plot is begin
  39. % 期权定价的帽子作图
  40. % 形成元胞位置矩阵:position_matrix
  41. figure(1)
  42. set(figure(1),'color','w')
  43. hold on
  44. xlim([-0.1 1.1])
  45. ylim([-0.1 1.1])
  46. for i=1:(N+1)
  47. position_matrix{i,N+1}=[1 (N+1-i)/N];
  48. end
  49. for i=1:N
  50. for j=1:i
  51. position_matrix{j,i}=[(i-1)/N (i+1-j)/(i+1)];
  52. end
  53. end
  54. % 形成二叉树基础图
  55. hold on
  56. for i=1:N
  57. for j=1:i
  58. position_1=[position_matrix{j,i};position_matrix{j,i+1}];
  59. [arrowx,arrowy]=arrow_plot(gca,position_1(:,1),position_1(:,2));
  60. annotation('textarrow',arrowx,arrowy,'headwidth',10,'color','m')
  61. position_2=[position_matrix{j,i};position_matrix{j+1,i+1}];
  62. [arrowx,arrowy]=arrow_plot(gca,position_2(:,1),position_2(:,2));
  63. annotation('textarrow',arrowx,arrowy,'headwidth',10,'color','r')
  64. end
  65. end
  66. hold on
  67. % 基于Call_Option_Pricing_Matrix来标注期权价值
  68. for i=1:(N+1)
  69. for j=1:i
  70. index=num2str(Call_Option_Pricing_Matrix(j,i));
  71. pos=position_matrix{j,i};
  72. text(pos(1),pos(2)+0.02,index,'fontsize',12,'fontname','Times New Roman');
  73. end
  74. end
  75. title('欧式看涨期权定价的尖尖帽子图','fontsize',16,'fontname','楷体')
  76. ylabel('Call Options Value','fontsize',16,'fontname','Times New Roman')
  77. xlabel('时间分段','fontsize',16,'fontname','楷体')
  78. hold off
  79. %% Call_Option_Pricing_Triangle_Plot is begin
  80. % 期权定价的三角形作图
  81. clear position_matrix
  82. figure(2)
  83. set(figure(2),'color','w')
  84. hold on
  85. xlim([-0.1 1.1])
  86. ylim([-0.1 1.1])
  87. % 形成元胞位置矩阵:position_matrix
  88. for i=1:(N+1)
  89. position_matrix{i,N+1}=[1 (N+1-i)/N];
  90. end
  91. for i=1:N
  92. high=0.5-(i-1)/N*0.5;
  93. if i==1
  94. delta=0;
  95. else
  96. delta=(1-2*high)/(i-1);
  97. end
  98. for j=1:i
  99. position_matrix{j,i}=[(i-1)/N 1-high-(j-1)*delta];
  100. end
  101. end
  102. % 形成二叉树基础图
  103. hold on
  104. for i=1:N
  105. for j=1:i
  106. position_1=[position_matrix{j,i};position_matrix{j,i+1}];
  107. [arrowx,arrowy]=arrow_plot(gca,position_1(:,1),position_1(:,2));
  108. annotation('textarrow',arrowx,arrowy,'headwidth',10,'color','g')
  109. position_2=[position_matrix{j,i};position_matrix{j+1,i+1}];
  110. [arrowx,arrowy]=arrow_plot(gca,position_2(:,1),position_2(:,2));
  111. annotation('textarrow',arrowx,arrowy,'headwidth',10,'color','c')
  112. end
  113. end
  114. hold on
  115. % 基于Call_Option_Pricing_Matrix来标注期权价值
  116. for i=1:(N+1)
  117. for j=1:i
  118. index=num2str(Call_Option_Pricing_Matrix(j,i));
  119. pos=position_matrix{j,i};
  120. text(pos(1),pos(2)+0.02,index,'fontsize',12,'fontname','Times New Roman');
  121. end
  122. end
  123. title('欧式看涨期权定价的三角图','fontsize',16,'fontname','楷体')
  124. ylabel('Call Options Value','fontsize',16,'fontname','Times New Roman')
  125. xlabel('时间分段','fontsize',16,'fontname','楷体')
  126. hold off
  127. end
  128. % 标注箭头函数
  129. function varargout=arrow_plot(varargin)
  130. if length(varargin{1})== 1 && ishandle(varargin{1}) && ...
  131. strcmp(get(varargin{1},'type'),'axes')
  132. hAx=varargin{1};
  133. varargin=varargin(2:end);
  134. else
  135. hAx = gca;
  136. end;
  137. if length(varargin)==1
  138. pos = varargin{1};
  139. else
  140. [x,y] = deal(varargin{:});
  141. end
  142. %%Get limits
  143. axun = get(hAx,'Units');
  144. set(hAx,'Units','normalized');
  145. axpos = get(hAx,'Position');
  146. axlim = axis(hAx);
  147. axwidth = diff(axlim(1:2));
  148. axheight = diff(axlim(3:4));
  149. if exist('x','var')
  150. varargout{1} = (x-axlim(1))*axpos(3)/axwidth + axpos(1);
  151. varargout{2} = (y-axlim(3))*axpos(4)/axheight + axpos(2);
  152. else
  153. pos(1) = (pos(1)-axlim(1))/axwidth*axpos(3) + axpos(1);
  154. pos(2) = (pos(2)-axlim(3))/axheight*axpos(4) + axpos(2);
  155. pos(3) = pos(3)*axpos(3)/axwidth;
  156. pos(4) = pos(4)*axpos(4)/axheight;
  157. varargout{1} = pos;
  158. end
  159. set(hAx,'Units',axun)
  160. end
复制代码

[/hide]


扫码或添加微信号:坛友素质互助


「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-3436967-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。