金融定量分析中软件平台的构建――基于R软件

时间:2022-10-23 09:35:11

金融定量分析中软件平台的构建――基于R软件

摘 要:指出构建金融定量分析中软件平台的必要性和可行性、然后通过对需要进行金融定量分析问题的分类后,展示怎样用R软件解决这些金融定量分析问题中的三个:平方和和残差等数据统计问题、期权分析问题和资产组合和交易策略问题。

关键词:金融定量分析;R软件;软件平台

中图分类号:F830 文献标志码:A 文章编号:1673-291X(2012)10-0077-02

一、构建金融定量分析中软件平台的必要性和可行性

在进行金融学的本科教学中,虽然涉及诸如计量经济学、货币银行学、金融工程、金融风险管理等诸多学科,不过整观整个金融学科教育体系,其实不外乎两大核心内容的教育。

第一是金融理论的教育。主要讲述金融的基础理论知识,中间包括计量经济学、西方经济学和货币银行学在内的核心而且经典理论框架;第二就是金融实践的教育。由于金融学属于定量分析的科学,尤其是随着金融业的发展,金融领域很多问题变得越来越复杂,基于计算机的迅猛发展,在应用领域也不断涌现出新的分析软件,解决问题的途径越来越多样化。

毫无疑问,金融实践越来越离不开计算机。同时,由于研究的需要,越来越多的统计软件被开发出来。在进行本科金融的教育中,笔者发现金融专业的学生面临的各种软件和软件包感到眼花缭乱,以及日益复杂的金融理论和实证设计,令如何选择软件和进行软件教学成为一个重要的课题。

正如诺贝尔获得者诺思所言,“人们一旦选择了某个体制,由于规模经济(Economies of scale) 、学习效应(Learning Effect)、协调效应(Coordination Effect)以及适应性预期(Adaptive Effect)等因素的存在,会导致该体制沿着既定的方向不断得以自我强化”。路径依赖总让人们倾向于用一种思维解决所有问题,其实这未必一定是坏事,对于金融本科生来说,不同软件对计算功能的实现没有显著区别。因此,笔者总在思考能否构建一款软件将金融大部分核心问题予以解决。

构建定量金融软件教学的统一平台,一方面有利于整合各资源,另一方面也有利于学生的实践知识的深化。毕竟,目前在进行常规统计,学生主要用Excel;处理时间序列数据,学生主要用Eviews或SPSS;在进行矩阵分析,学生主要用MatLab。不同课程在软件使用上缺乏协调,各自为阵。笔者想以R软件为工具,构建统一的金融计算软件平台。

R软件作为一种免费软件、同时作为统计软件的后起之秀,已逐步成为主流统计软件之一,具有较好的应用前景。我们完全可以将金融学专业的核心课程中涉及软件计算的课程进行整合,构建基于R软件的统一软件教学平台。

二、需要进行金融定量分析问题的分类

如果要构建统一软件教学平台,即基于R软件要解决目前主要的金融问题,我们首先要对目前的金融问题有所分类,就是说,目前在本科金融教育层面,我们一般会遇到什么金融问题需要定量分析,笔者根据研究的频度来做基本划分而非金融理论的结构,就是说日常主要碰到频率最高的金融定量分析问题。一是数据统计问题。主要包括诸如方程,中位数,平均数等关于金融市场典型事实的描述和分类。二是期权分析问题。主要包括欧式和美式期权的定价问题等。三是时间序列数据和截面数据的回归问题。主要包括回归分析,线性和非线性建模等。四是债券分析问题。主要包括债券收益率,凸性分析等。五是波动率研究。主要包括GARCH类模型的计算和预测等。六是资产组合和交易策略问题。主要包括金融资产优化选择,有效边界的计算,高频数据交易策略的成效分析。

三、如何基于R软件进行构建

R在处理金融统计分析中的具有很好的应用,方便简单,更为重要的是我们完全可以通过编制不同的函数包分门别类地解决上述需定量分析的金融问题。基于篇幅所限,不能将所有问题的R软件解决方案予以列举,仅列三例以说明R软件的函数实现过程。

1.基于R软件解决诸如平方和和残差等数据统计问题

示例:研究六种存款利率如何影响在12个地区的某银行的居民存款总量,观测变量是居民存款总量。实质就是六种存款利率重复测试了12次,因此共有72次观测值。求进行平方和和残差分析。

>data(deposit)

>result

>result

Residual standard error:0.8366

Estimated effects may be unbalanced

aov是在R函数包stats里面的方差分析函数。

第一行通过函数data把居民存款量和六种存款利率数据导入内存;第二行是对数据进行平方根转换,然后再进行导入aov函数进行计算;第三行主要是显示运行的结果。当然,如果第三行命令,R不会显示结果,而是将结果储存在一个叫做object的对象中,我们也可以通过命令的方式对结果进行提取个别提取,例如我们只想知道残差是多少等。

2.基于R软件解决期权分析问题

示例:已知某只不支付红利的股票的市场价为50元,无风险利率为12%,波动率为10%,期权的执行价为50元,存续期为1年,求该股票欧式看涨期权的期权费。

在R中键入如下命令即可:

> call

> call

[1] 5.92

第一行为函数包通过在参数已知的情况下,将计算结果赋给变量call;第二行命令是输出call值,第三行为屏幕显示该欧式看涨期权价格是5.92元。[1] 表示从call变量的第一个元素开始显示,因为有些变量不止一个数值,R允许将多个数值同时赋予给一个变量。

3.基于R软件解决资产组合和交易策略问题

在最近这些年,随着高频数据研究的逐渐深入,计算机辅助金融买卖在发达国家诸如美国大行其道,进行有效的资产组合或者交易策略,我们首先必须将交易策略和资产数据用过去的行情历史进行测试。虽然过去不代表未来,但是如果资产交易策略连过去数据都无法通过检验,我们更加无法相信策略在未来的可行性。表1为笔者通过R语言的编程内嵌到某交易商EA的交易平台的测试报告。

上表显示笔者通过用固定的短线交易策略测试2000―2009年的美元对日元的19 217 766的即时价量数据,最大亏损和连续亏损数额都得到了不错的表现,从过去的数据显示,是一个笔者目前见过最好的交易策略模式,当然过去表现不等同未来表现。

参考文献:

[1] Emmanuel Paradis.R for beginners[M].北京:机械工业出版社,2011.

[2] 高铁梅.计量经济分析方法与建模――Eviews 应用及实例[M].北京:清华大学出版社,2006.

[3] 刘明广.本科《计量经济学》课程教学的几点建议[J].统计与咨询,2008,(2).

[4] 2010中国金融交易自动化设备市场投资前景预测及发展策略[EB/OL].中策经济研究,2010.

上一篇:世界货币美元的作用及发展趋势 下一篇:望城区农村居民点整治理论潜力研究