全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
16083 41
2012-10-23
这个是英国牛津大学 Kevin Shepard 编写的工具箱,他是Engle的学生,同时也是UCSD_GARCH工具箱的作者。MFE除了具备UCSD_GARCH工具箱里的GARCH函数,还将视角投向高频金融时间序列建模上,比如参阅张世英的书籍《金融时间序列建模》里,同样也提到RV模型(已实现波动率模型),SV模型(随机波动模型,SV在WINBUGS里实现的较多)。这个工具箱里有RV的,相信对金融建模痴迷的会喜欢这个工具箱。
下面是MFE工具箱下载(2012最新版本),欢迎多交流;

MFE Toolbox.zip
大小:(2.11 MB)

只需: 2 个论坛币  马上下载




为加快程序的运行,可以将里面mex文件夹里的C语言文件编译为mex文件。matlab以前支持DLL文件,速度非常快。DLL文件就是“动态链接库”。但后面版本的MATLAB,MATHWOKR公司不希望支持DLL文件,而是编译后的MEX文件。
我将编译的方法告知如下。
先设定MEX编译器(MATLAB自带一个LCC的C语言编译器)。


一、设定MEX编译器
mex -setup
输入如上命令后,会提示是否系统帮你选择一个编译器,回复y;
接着提示1是 LCC,选择 1 回车;
接着是提示安装,回复 y;回车。
二、编译C文件
进入 MFE TOOLBOX 文件夹,再进入到 mex文件夹,让当前文件夹里就可以看到.c的文件;下面举例编译一个,其他的如法炮制:假设我有这样的一个目录:
D:\MatFile\MFEToolbox\mex_source
要么先这样,输入cd 命令先进入目标文件夹:
CD D:\MatFile\MFEToolbox\mex_source

在看到左边的文件夹栏里的 c 文件后,再如下的进行编译。
mex agarch_core.c;

弄巧成拙,本想演示一下怎样编译C文件;不过从回复来看,也许是不同版本的问题,有的无法编译;我自己也有疏忽,kevind给的文件夹里,MFETOOL里有一个 dlls 文件夹,其实那个是 mex64的文件;WIN 7 操作系统的人可以不用编译的,已经有这个mex文件。而32位系统,VISTA及以前版本的,需要编译出mex32文件。我上传我编译了的32位的文件夹。
mex32.zip
大小:(10.98 KB)

 马上下载




这样就将.c文件编译为mex文件,依据系统的不同,会生成64位的或者32位的,具体看个人的系统。


即使不编译C文件为mex文件,系统也可以运行的,因为有m文件的。只是编译后的运算速度会更快。

MFE使用手册文档(没有最新的 RV模型的使用说明,Kevin他本人没有给出,得自己琢磨):

(也许论坛里有该文档,上传失败了)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-10-23 21:44:31
Thanks
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-23 23:04:28
mulizhu 发表于 2012-10-23 21:44
Thanks
有问题可以随时交流。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-24 21:42:40
感觉都是闷着下载;没留言的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-28 20:54:44
不错啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-29 20:02:46
tulipsliu 老师,您好!
    完全按您的指导运行您提供的程序包,出现以下问题,您知道如何解决?
非常感谢!
>> mex agarch_core.c;

  D:\MATLAB7\BIN\WIN32\MEX.PL: Error: 'agarch_core.c;' not found.

??? Error using ==> mex
Unable to complete successfully

>> mex tarch_core.c
lcc preprocessor warning: tarch_core.c:85 No newline at end of file
Error tarch_core.c: 15  missing parameter type
Error tarch_core.c: 15  syntax error; found `T' expecting `)'
Error tarch_core.c: 15  skipping `T' `,'
Error tarch_core.c: 15  syntax error; found `int' expecting `{'
Error tarch_core.c: 15  missing identifier
Error tarch_core.c: 15  syntax error; found `double' expecting `;'
Error tarch_core.c: 15  syntax error; found `)' expecting `;'
Error tarch_core.c: 15  skipping `)' `{'
Error tarch_core.c: 17  undeclared identifier `mwIndex'
Warning tarch_core.c: 17  Statement has no effect
Error tarch_core.c: 17  syntax error; found `i' expecting `;'
Error tarch_core.c: 17  undeclared identifier `i'
Error tarch_core.c: 17  undeclared identifier `j'
Warning tarch_core.c: 17  Statement has no effect
Warning tarch_core.c: 22  possible usage of ht before definition
Error tarch_core.c: 25  undeclared identifier `T'
Warning tarch_core.c: 25   possible usage of T before definition
Warning tarch_core.c: 17   possible usage of mwIndex before definition
Warning tarch_core.c: 15   possible usage of tarch_type before definition
Error tarch_core.c: 54  undeclared identifier `mwSize'
Warning tarch_core.c: 54  Statement has no effect
Error tarch_core.c: 54  syntax error; found `T' expecting `;'
Error tarch_core.c: 54  undeclared identifier `T'
Warning tarch_core.c: 54  Statement has no effect
Warning tarch_core.c: 66   possible usage of mwSize before definition
Error tarch_core.c: 66  syntax error; found `mxGetScalar' expecting `;'
Error tarch_core.c: 83  too many arguments to `tarch_core'
Error tarch_core.c: 83  too many arguments to `tarch_core'
19 errors, 10 warnings

  D:\MATLAB7\BIN\WIN32\MEX.PL: Error: Compile of 'tarch_core.c' failed.

??? Error using ==> mex
Unable to complete successfully

>> mex igarch_core.c
lcc preprocessor warning: igarch_core.c:84 No newline at end of file
Error igarch_core.c: 15  missing parameter type
Error igarch_core.c: 15  syntax error; found `T' expecting `)'
Error igarch_core.c: 15  skipping `T' `,'
Error igarch_core.c: 15  syntax error; found `int' expecting `{'
Error igarch_core.c: 15  missing identifier
Error igarch_core.c: 15  syntax error; found `int' expecting `;'
Error igarch_core.c: 15  missing identifier
Error igarch_core.c: 15  syntax error; found `double' expecting `;'
Error igarch_core.c: 15  syntax error; found `)' expecting `;'
Error igarch_core.c: 15  skipping `)' `{'
Error igarch_core.c: 16  undeclared identifier `mwIndex'
Warning igarch_core.c: 16  Statement has no effect
Error igarch_core.c: 16  syntax error; found `i' expecting `;'
Error igarch_core.c: 16  undeclared identifier `i'
Error igarch_core.c: 16  undeclared identifier `j'
Warning igarch_core.c: 16  Statement has no effect
Error igarch_core.c: 19  illegal statement termination
Error igarch_core.c: 19  skipping `double'
Error igarch_core.c: 19  undeclared identifier `finalParameter'
Warning igarch_core.c: 26  possible usage of ht before definition
Error igarch_core.c: 29  undeclared identifier `T'
Warning igarch_core.c: 29   possible usage of T before definition
Warning igarch_core.c: 16   possible usage of mwIndex before definition
Warning igarch_core.c: 15   possible usage of constant before definition
Warning igarch_core.c: 15   possible usage of igarchType before definition
Error igarch_core.c: 56  undeclared identifier `mwSize'
Warning igarch_core.c: 56  Statement has no effect
Error igarch_core.c: 56  syntax error; found `T' expecting `;'
Error igarch_core.c: 56  too many errors

  D:\MATLAB7\BIN\WIN32\MEX.PL: Error: Compile of 'igarch_core.c' failed.

??? Error using ==> mex
Unable to complete successfully

>> mex egarch_core.c
lcc preprocessor warning: egarch_core.c:120 No newline at end of file
Error egarch_core.c: 16  missing parameter type
Error egarch_core.c: 16  syntax error; found `T' expecting `)'
Error egarch_core.c: 16  skipping `T' `,'
Error egarch_core.c: 16  syntax error; found `double' expecting `{'
Error egarch_core.c: 16  missing identifier
Error egarch_core.c: 16  syntax error; found `double' expecting `;'
Error egarch_core.c: 16  missing identifier
Error egarch_core.c: 16  syntax error; found `double' expecting `;'
Error egarch_core.c: 16  missing identifier
Error egarch_core.c: 16  syntax error; found `double' expecting `;'
Error egarch_core.c: 16  syntax error; found `)' expecting `;'
Error egarch_core.c: 16  skipping `)' `{'
Error egarch_core.c: 18  undeclared identifier `mwIndex'
Warning egarch_core.c: 18  Statement has no effect
Error egarch_core.c: 18  syntax error; found `i' expecting `;'
Error egarch_core.c: 18  undeclared identifier `i'
Warning egarch_core.c: 18  Statement has no effect
Error egarch_core.c: 19  illegal statement termination
Error egarch_core.c: 19  skipping `int'
Error egarch_core.c: 19  undeclared identifier `j'
Warning egarch_core.c: 19  Statement has no effect
Error egarch_core.c: 20  illegal statement termination
Error egarch_core.c: 20  skipping `double'
Error egarch_core.c: 20  too many errors

  D:\MATLAB7\BIN\WIN32\MEX.PL: Error: Compile of 'egarch_core.c' failed.

??? Error using ==> mex
Unable to complete successfully

>>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群