24小时热门版块排行榜    

查看: 395  |  回复: 1
当前主题已经存档。

zjun

[交流] 基于Web环境与Matlab技术进行期权价值分析

基于Web环境与Matlab技术进行期权价值分析

1  引言
Mat lab 是Math Works公司开发的“演算纸”式的程序计算语言,是一个跨平台的科学计算环境。它以其强大的计算和绘图功能、大量稳定可靠的算法库、简洁高效的编程语言以及庞大的用户群,成为数学计算工具方面事实上的标准。
在过去的20年中,投资者通过运用布莱克—斯克尔斯期权定价模型,将这一抽象的数字公式转变成了大量的财富。
本文利用MATLAB工具箱中的MATLAB Web Server 工具,使世界各地的用户通过Internet,利用布莱克—斯克尔斯期权定价模型进行期权价格分析,并借助于MATLAB强大的计算与图形展示功能,以图文并貌的方式返回到客户面前。
MATLAB Web Server 可运行于Solaris、Linux 和Windows NT 网络平台,并要求网络服务器软件能够运行公共网关程序(CGI) 。本文以Windows 2000 Server + IIS5. 0 为平台,介绍利用MATLAB 6.5 及其工具箱中的MATLAB Web Server 工具开发基于MATLAB 的Web 应用程序,实现布莱克—斯克尔斯期权定价模型进行期权价格分析的具体过程。
2  MATLAB Web Server工作原理
MATLAB 的Web 应用主要由两部分组成,一部分是MATLAB后台服务程序,它实际上是一个可执行的应用程序matlabserver.exe,是MATLAB应用程序运行的环境;另一部是matlabserver的TCP/IP客户程序,一个可执行程序matweb.exe,是MATLAB Web Server 的核心,负责解释客户机通过HTML页面发送请求,转换为运MATLAB应用程序,应用程序通过matweb.conf 文件找出MATLAB 程序路径,把参数传给该进程进行计算以及其参数传递给matlabserver.exe,matlabserver.exe负责进程进行计算,并将处理结果通过matweb.exe返回给客户。其原理图如图2-1。
由图2-1可知MATLAB Web 应用必须Web服务环境,浏览器客户通过TCP/ IP 协议,请求Web 服务器,它将所有对MATLAB 的请求重定向到进行处理。处理流程见图2-2。


3 MATLAB Web Server环境设置
3.1 系统环境
Windows server 2000
Internet 信息服务IIS 5.0
Mat lab 6.5(包含MATLAB Web Server组件)
3.2 环境配置
(1) 配置IIS
在IIS 管理器中新建Web站点,并在该Web站点建两个目录,一个名为“cgi_bin”,用来存放CGI文件(matlab.exe和matweb.conf),另一个名为“icons”,用于存放MATLAB文件生成的图片文件和应用程序所需的图片文件,其它的HTML文件和M文件放在根目录下。最后为各目录设置好目录属性。
(2) 建立并设置MATLAB 配置文件。
在新建Web 站点的根目录下,建立配置文件matweb. conf 和matlabserver. Conf,并对其进行配置。Matweb.conf 的内容如下:
[Black]
Mlserver=wasdf
Mldir=C:\Inetpub\wwwroot
且每增加一个MATLAB Web 应用,需在matweb.conf 中增加一项配置。
Matwebserver. conf 的内容如下:
-M 1
-P 80
MATLAB Web Server的演示程序需要生成图片,要求有一个\icons目录保存图片。
4 期权价格分析编程系统应用示例
从理论意义上讲,期权的理论可以说是20世纪经济学领域最伟大的发现之一。从金融问题的分析与决策,远远不至于证券投资领域。重大投资的决策分析,总是要有转化为财务指标等形式的信息的支撑。类似可行性研究的分析过程中,财务分析形成重要组成部分。由于传统企业投资分析手段的局限性,无法对投资的战略意义或间接价值量化,财务分析实际只能忽略对它的评价。布莱克—斯科尔斯模型依靠数学计算,对市场迅速反应以降低投资风险的特点,寻求投资的灵活度也能在一定程度制约所造成的危害。经济投资需要进行定量分析、科学预测分析,降低风险等措施。布莱克—斯科尔斯模型如下。
        (公式4-1)
其中:
Pc——买入期权价值
S——当前股票市价
K——施权价
T——距到期日时间长度
——年无风险利率
、 是参数 、 标准正态分布的概率,即



其中: 股票收益的方差、 股票收益的标准差
编制用于MATLAB Web server 的程序,关键在于解决两个问题:MATLAB 程序如何通过HTML 页面获取输入参数;MATLAB 程序如何生成包含输出数据和图片的HTML 文件。这两个问题的解决可以参考mat lab/ toolbox/ webserver/wsdemos 目录下的4 个模板文件(input_template.html、output_template.html、mfile_template.m、tmfile_template.m),其中要点如下。
4.1 HTML输入页面的设计
将文件input_template.html简化和注释删除之后帖在这里,并修改如下:


MATLAB Web Server --Black-Scholes option



Black-Scholes模型的期权资产价格分析系统


请输入系统参数:


%必备项

当前股票市价: %必备项

施权价:

距到期日时间长 度:

年无风险利率:

股票收益:




将其保存为blackscholes.html文件,放在目录C:\Inetpub\wwwroot下,通过 IE就可以浏览了,如图4-1所示:

图4-1 输入页面
可以看到,参数的提交是通过html页面中的表单来完成的。表单
的action 属性必须为"/cgi-bin/matweb.exe",这样才能在用户单击确定时调用mat web程序。
4.2编写MATLAB Web Server应用程序
Function rs = black (in, outfile)
mild = get field(in, 'mild');           % 获得唯一的标志
cd(in.mldir);                     % 设置存储图片的路径
wscleanup('ml*pic.jpeg', 1);        % 删除超出一个小时jpegs图片文件
SS = str2double(in.s_value);        % 从HTML文件取回s_value值
Rr = str2double (in.r_value);
XX = str2double (in.k_value);
TT = str2double (in.t_value);
Vv = str2double (in.v_value);
f = figure('visible','off');           % 创建空的图片文件
N=8                           % 期权价格计算
[TT, XX]=mesh grid (0.01:TT*1.6/N: TT*1.6,0.01:XX*1.6/N: XX*1.6)
For I = 1:N
    For j = 1:N
        d1(i, j)=(log (SS/XX (i,j))+(rr+vv^2/2)*TT (i,j))/(vv*sqrt(TT(i,j)));
        d2(i,j)=d1(i,j)-vv*sqrt(TT(i,j));
        zz(i,j)=SS*normcdf(d1(i,j))-XX(i,j)*exp(-rr*TT(i,j))*normcdf(d2(i,j))
    end
end
mesh(XX,TT,zz)                          % 显示需要生成的图形
xlabel('执行价格');
ylabel('时间(T)');
zlabel('买入期权的价值');
title('布莱克—斯克尔斯期权定价模型进行期权价格分析');
pos = get(gcf, 'position');                        % 设置生成的图形大小
pos(3) = 800;
pos(4) = 500;
set(gcf, 'Position', pos, 'PaperPosition', [.25 .25 16 16]);
drawnow;                     % 把生成的图形传递给图形文件
s_pic = sprintf('%s_pic.jpeg', mlid);
wsprintjpeg(f, s_pic);
close(f);
out.s_pic=s_pic;  
% Put name of graphic file into HTML template file.
tempfile = which('helix_out.html');             % 把图片文件传递给HTML输出文件
rs = htmlrep(out, tempfile, outfile);
4.3 HTML输出页面的设计
输出HTML文件是一个预先编制的文件,包含了事先设计好的页面布局、文字说明等信息,其中用到Mat lab程序输出变量的地方都用$var_name$的形式表示。
Htmlrep的工作就是将$var_name$形式的变量转换为实际数据,变量的数值则从输入的outstruct结构中获得。转换后html是一个纯文本文件,其内容通过restr以字符串的形式返回。
以下是例程的输出页面:



MATLAB Web Server测试程序-输出页面


计算结果为:






图4-2输出页面
5 小结:
本文给出了构建布莱克—斯克尔斯期权定价模型进行期权价格分析系统的具体过程,依次分析了MATLAB Web 应用开发的原理、流程及配置文件。通过期权价格分析系统的实例展示了MATLAB的Web开发流程、解决了Web应用中数值计算图像处理繁琐的问题,进一步发挥了MATLAB强大的工程计算能力。这给Internet用户带来了方便,也解决了MATLAB用户编写用户界面能力较弱的问题,将对远程教育、各学科教学软件的制作将有深远的影响。
参考文献
1 《MATLAB 扩展编程》何强 何英 主编…………清华大学出版社,2002。
2 《MATLAB M语言高级编程》 陈永春编著…….…清华大学出版社,2004。
3 《Windows 2000 Server 配置管理与应用》 甘登岱编著…….…清华大学出版社,2001.

[ Last edited by 幻影无痕 on 2006-11-29 at 07:44 ]
回复此楼

» 收录本帖的淘帖专辑推荐

matlab

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

enjoylife117

铜虫 (小有名气)

请教

可否在winxp系统下运行
世事洞明皆学问
2楼2005-12-27 11:49:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zjun 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 考研复试调剂,过国家线的同学都可报名 +4 黑!在干嘛 2026-02-28 5/250 2026-03-02 16:48 by chock1337
[考研] 一志愿华南理工大学材料与化工326分,求调剂 +3 wujinrui1 2026-02-28 3/150 2026-03-02 16:36 by chuocheng
[考研] 求调剂 +9 yunziaaaaa 2026-03-01 10/500 2026-03-02 15:18 by 半截的诗0927
[考研] 0805总分292,求调剂 +8 幻想之殇 2026-03-01 8/400 2026-03-02 12:51 by 无际的草原
[考研] 272求调剂 +7 材紫有化 2026-02-28 7/350 2026-03-02 12:48 by 无际的草原
[考研] 26考研报考西工大材料308分求调剂 +4 weizhong123 2026-03-01 4/200 2026-03-02 12:46 by 无际的草原
[考研] 求调剂 +3 熬夜的猫头鹰 2026-03-02 3/150 2026-03-02 11:45 by 刘兵
[考研] 化工专硕342,一志愿大连理工大学,求调剂 +6 kyf化工 2026-02-28 7/350 2026-03-02 10:56 by 无际的草原
[考研] 0854复试调剂 276 +4 wmm9 2026-03-01 6/300 2026-03-02 09:28 by 热情沙漠
[基金申请] 本子写完了,给DS兄弟看了,得了92分 +3 Doma 2026-03-01 7/350 2026-03-02 00:00 by jnzsy
[考研] 化工299分求调剂 一志愿985落榜 +5 嘻嘻(*^ω^*) 2026-03-01 5/250 2026-03-01 19:47 by 无际的草原
[考研] 298求调剂 +6 axyz3 2026-02-28 6/300 2026-03-01 19:00 by 18137688336
[考博] 26申博 +4 想申博! 2026-02-26 6/300 2026-03-01 17:32 by 想申博!
[考研] 290求调剂 +9 材料专硕调剂; 2026-02-28 11/550 2026-03-01 17:21 by sunny81
[考研] 311求调剂 +6 亭亭亭01 2026-03-01 6/300 2026-03-01 15:41 by 324616
[考研] 295复试调剂 +3 简木ChuFront 2026-03-01 3/150 2026-03-01 14:27 by zzxw520th
[硕博家园] 2025届双非化工硕士毕业,申博 +3 更多的是 2026-02-27 4/200 2026-03-01 10:04 by ztg729
[论文投稿] 求助coordination chemistry reviews 的写作模板 10+3 ljplijiapeng 2026-02-27 4/200 2026-03-01 09:07 by babero
[考研] 307求调剂 +4 73372112 2026-02-28 6/300 2026-03-01 00:04 by ll247
[高分子] 求环氧树脂研发1名 +3 孙xc 2026-02-25 11/550 2026-02-28 16:57 by ichall
信息提示
请填处理意见