证券交易系统优化与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第三节 开发环境

随着计算机技术的进步和软件业的发展,越来越多的计算机语言和技术被应用于投资领域。从最早的EasyLanguage到目前广泛使用的Matlab、R、Python等,这些解释型计算机语言极大地降低了程序开发的门槛,使得没有计算机硬件和编译型计算机语言基础的投资者们能够利用计算机强大的运算能力和通讯速度进行更高效的数据分析和交易。

我们常说的计算机语言指的是“高级语言”,用高级语言编写的程序本身是不能被计算机所理解和执行的,需要将程序翻译成“机器语言”。这个过程有两种途径:一种是把整个程序编译(Compile)成后缀为.exe的二进制可执行文件,另一种是通过软件平台一边将程序解释成机器语言一边执行。采用前者就称为“编译型语言”,常见的有C、C++、Pascal、Delphi等,采用后者的被称为“解释型语言”,包含Matlab、R、Python以及各种脚本(Script)语言等。

两种类型的计算机语言在软件开发时各有利弊。采用“编译型语言”开发的程序只需要一次编译,之后只要运行可执行程序文件即可,执行效率高,但是如果代码中存在错误需要进行调试则会比较麻烦,开发周期很长,并且对计算机编程水平和能力要求较高;而采用“解释性语言”开发的程序要在运行时进行同步的解释,执行效率相对较低,但是对代码的调试和修改比较容易,开发周期短,容易上手。为了解决程序执行效率的问题,Matlab等软件还增加了编译的功能,能够将开发好的Matlab程序编译成可执行文件,突破了解释型语言程序的执行效率问题,受到了用户的欢迎。

Matlab是美国MathWorks公司出品的商业数学软件,和Mathematica、Maple并称为三大数学软件。它在数值计算方面首屈一指,而且拥有大量稳定可靠的工具箱(Toolbox),可以进行矩阵运算、绘制图形、实现算法、人机界面、混合编程等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、金融建模设计与分析等领域。近些年随着量化投资的发展,越来越多的投资者选择Matlab进行策略回测、系统设计和实盘交易,本书就选择了Matlab进行系统的回测和优化,书中所有图示都是利用Matlab软件绘制。