基于技术指标的数量化投资模型研究

时间:2022-07-09 04:04:31

基于技术指标的数量化投资模型研究

中图分类号:F830 文献标识:A 文章编号:1009-4202(2012)07-000-02

摘 要 自2010年4月股指期货推出后,数量化投资逐渐成为我国资本市场的一个热点。对此,本文以投资者熟知的MACD指标为基础,运用遗传算法和模拟退火算法,建立了一个数量化投资模型。该模型的仿真投资收益明显超出大盘,而风险明显低于大盘。本文基于MACD指标建立数量化投资模型的方法简单、有效,可操作性强,可方便地推广至其他技术指标,在数量化投资领域中可能具有广泛的发展前景。

关键词 数量化投资 MACD 遗传算法 模拟退火算法

一、研究背景

与传统投资基于各方面信息和个人判断进行操作不同,数量化投资将适当的金融理论、投资经验等反映在数量模型中,然后利用程序软件代替大脑对海量信息进行科学处理,总结归纳市场规律,最终建立可以重复使用的、不依靠个人主观判断的投资策略。

由于数量化投资的操作策略往往经过了严格的验证,具有较强的系统性和规范性,主观随意性较少,风险可测可控,因此随着计算机数据处理能力的迅速提高,数量化投资获得了快速发展,数量化基金的规模亦迅速扩大。据统计,自2003年以来,数量化基金规模的年均增长速度高达15%,而传统型基金规模的增长速度则低于5%。

很显然,科学的数量模型是数量化投资成败的关键。当前,主流的数量模型均考虑了多方面的因素,既包括各种基本面因素,又包括各种技术因素,涉及较为高深的经济学、金融学、技术分析等知识,模型都比较复杂,理解难度较高,甚至令人望而生畏。对此,本文以人们熟知的技术指标为基础,通过引入遗传算法和模拟退火算法对参数进行优化,建立了一种较为简单、有效的数量模型构建方法,希望能为推动我国刚刚起步的数量化投资发展有所帮助。

二、模型框架

由于MACD指标以经平滑后的股票价格为基础,而股票价格包含了绝大部分的基本信息和技术信息,因此本文以MACD指标为基础研究建立相应的数量化投资模型。

(一)MACD公式

MACD是投资者最熟悉的技术指标之一,主要包括EMA、DIF和DEA三个指标,涉及一个已知变量(收盘价P)和三个未知参数( 和 ),公式较为简单。

(二)决策准则

虽然MACD指标的运用方式有很多种,既存在对指标值的应用(如比较DIF和DEA的大小),又存在对形态的应用(如底背离、顶背离等)。对此,本文制定的决策准则相当简单,即:

时,做多

时,做空

三、模型参数优化

(一)参数的科学取值是决定MACD指标投资决策价值的一个关键因素

在一般的技术分析参考书和交易软件中, 和 通常取12、26和9。然而,该取值并不是最优的。

例如,以2005年1月5日至2010年12月31的沪深300指数为例,根据(公式1)和(公式2),做多业务在 和 取值12、26和9时,可获得的投资收益为230.55%(收益①);而在 和 取40、195、130时,可获得的投资收益为651.98%(收益②)。

因此,参数取值是否合理决定了使用MACD指标进行投资决策时投资收益的高低,决定了MACD指标的投资决策价值。

(二)人工智能算法在技术指标参数优化领域中的突出优势

运用MACD指标建立数量化投资模型的关键在于对公式中的三个参数进行优化。然而,虽然参数取值与投资收益间存在确定的函数关系,但该关系并不能用一个表达式予以直接阐述,因此传统的解析方法在此并不适用。而其他传统方法如随机法和穷举法的优化效率不高。在此情况下,可运用人工智能算法有效解决此类优化难题。

遗传算法(Genetic Algorithms)和模拟退火算法(Simulated Annealing Algorithms)是人工智能的重要分支,两者均从一定的初始值开始,按照明确的规则搜索最优解,并不要求目标函数存在明确的表达式,且具有高效、鲁棒性强等特点。由于技术指标参数与投资收益间的关系相当复杂,不存在明确的函数关系式,因此遗传算法和模拟退火算法在技术指标参数优化领域中具有很高的应用价值。

此外,遗传算法和模拟退火算法的基本原理和运算过程虽然较为复杂,但其运用却相当简单,MATLAB等数据处理软件均提供了现成的工具箱供用户方便地使用,且即使不掌握参数优化的原理和运算过程,也不会对数量模型的研究产生重大影响,因此运用遗传算法和模拟退火算法对技术指标参数进行优化的可操作性强。

(三)遗传算法和模拟退火算法应用举例

1.MATLAB指令

假设投资收益R和参数 、 间的关系为R=gain( 、 ),则MATLAB的遗传算法指令和模拟退火算法指令分别为:

[x,fval] = ga(@gain,nvars, [],[],[],[],lb,ub,[],options);

[x,fval] = simulannealbnd(@gain,x0,lb,ub,options)。

其中:

x和fval是程序返回值,分别为参数 、 的最优化取值及其所对应的投资收益;

gain是目标函数,可根据(公式1)、(公式2)和(公式3)编写;

nvars是待优化的参数个数;

x0是参数 、 的初始值;

lb是参数的下界;

ub是参数的上界;

options是MATLAB指令的设置选项。

2.参数的最优取值

以2005年1月5日至2010年12月31日间的沪深300指数为例,运用遗传算法对参数进行优化时, 、 的最优取值为120、239、43,做多业务可获得投资收益为865.53%(收益③);运用模拟退火算法进行优化时, 、 的最优取值为45、205、136,做多业务可获得投资收益为864.49%(收益④)。

上一篇:探析中国民间金融发展及监管 下一篇:制度、资本和经济增长