李楠
[摘要] 商品期货投资与股票投资有很多相似之处,都是金融市场中一种在一定风险约束下最大化利润的活动,而它们的价格走势都可以看作一个离散时间系统,因此这种金融投资活动可以转化为经济控制论中的最优控制问题。本文利用动态规划方法,针对大资金在商品期货市场投资的分配方案问题,从控制论的角度进行简单分析,力图为商品期货投资者提供一个新的决策思路。
[关键词] 动态规划;商品期货;BP算法;投资决策
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 02. 021
[中图分类号]F830.9;F224.3[文献标识码]A[文章编号]1673 - 0194(2012)02- 0035- 04
随着股指期货的上市,国人对期货的关注度越来越高。人们逐渐意识到可以投资的金融活动并不仅仅是股票、基金。期货作为投资者不可或缺的一种投资手段,已经历了一次膨胀与泡沫破灭的轮回,正逐步规范起来。商品品种逐步丰富,钢材期货和股指期货先后上市,相应的法律法规也一一出台。我们可以推断,期货的再次回归必将推动金融市场的发展。因此我们有必要对期货市场——这个对大多数人而言还比较陌生的领域做出深入细致的研究。
1研究思路与理论基础
1.1 研究思路
由于期货交易采用的是“T+0”制度,其交易十分频繁,投资者往往会根据自身的特点以及市场行情,选择短线操作或是长线操作思路。无论是入场点的选择,还是止盈位、止损位的设立,短线操作和长线操作都有显著的差别。为了简化问题,本文选择短线操作方法,以天为操作单位,每天没有合约交易不超过1次(一买一卖)。
本文所提出的期货投资决策方法,主要分为两个部分:首先通过预测备选商品品种主力合约的价格走势,从而判断该合约的投资盈利能力,并形成相应的矩阵;然后利用动态规划的方法,在一定资金的限制下,求解未来数天内的投资最优决策。
1.2 理论基础
1.2.1 期货价格预测
1.2.1.1 技术分析
目前对期货市场的分析,主要依靠两种方法——基本面分析与技术分析。其中,前者的应用实际上需要更高的专业理论修养,而且要求具备“完备的即时资料”,包括任何内幕消息,显然这对于普通的投资者而言是无法做到的,因此技术分析就显得格外重要了。
技术分析实际上是一种经验总结,它认为价格的走势已经显示了所有的供求关系信息,并且过去的状态是会重复的①。这在一定程度上支持了期货价格的可预测性。
1.2.1.2 BP算法
BP(Back Propagation,误差反向传播)神经网络,是一种多层前馈神经网络,即误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成。它可以实现从输入到输出的任意非线性映射。在确定了BP网络的结构后,利用输入输出样本集对其进行训练(也就是对网络的权值和阈值进行学习和调整),以使网络实现给定的输入输出映射关系。
1.2.2 最优控制与动态规划法
1.2.2.1 资源的最优分配
经典控制理论的研究对象是单输入、单输出的自动控制系统,它只能根据系统的外部特性对系统展开研究,因此并不适用于复杂的经济系统。而现代控制理论则解决了这个问题,它以状态空间法、极大值原理、动态规划、卡尔曼滤波为基础,分析和设计控制系统。
最优控制就是其中的一个重要组成部分,也是经济控制论的重要内容。它在线性系统和非线性系统中都可以使用,能够分析和研究成本最小、效益最大等各种经济问题。本文实际上就是利用最优控制来解决资源的最优分配问题,即将一定的资金合理分配给若干期货合约,使得投入资金盈利率最大。
1.2.2.2 动态规划
求解离散时间系统最优控制问题的方法有动态规划方法、离散极小值原理和近似计算方法等,本文选用的是动态规划。
动态规划实际是运筹学的一个分支,是求解决策过程最优化的数学方法,其理论基础是最优化原理(即最优决策的一部分也是最优的)。动态规划将多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解。
2 投资方案决策模型
2.1 利用BP算法预测商品期货价格
2.1.1 前期分析
从期货市场出现开始,就有无数的投资者和分析人员试图寻找预测行情的法则,然而至今仍然没有公认的有效方法。反言之,若有人能够完全掌握市场行情,那么整个市场也就无法存在了。再加上期货价格受到各种突发消息或者大资金操作的影响,价格波动往往十分剧烈且变幻莫测,这导致在实际操作中,对稍长一点时间的价格预测可靠性都不足。
目前大家基本上认为在某个时期之内,某种预测方法可能是有效的,但不存在百试百灵的法宝。国内外期货市场上,也出现了不少计算机辅助程式交易系统,在一定时间内根据一定的方法针对特定的市场进行交易,其效果往往是不错的。
另一方面,能够影响期货价格的因素有很多,包括生产、库存、进出口等供求信息,经济增长率、利率、汇率等经济状况,甚至还包括国家政策、国际关系等政治因素,其中每一个因素细微的变化都会引起市场价格的波动。这陡然增加了期货价格预测的难度。
显然,在预测时我们无法将这些因素一一引入,因此本文采用了另一种思路。由于我国在很多商品定价上并没有话语权,使得绝大多数商品期货合约都会受到外盘影响,而国内外交易时间不同,因此可以发现国外期货价格的走势对我国期货价格有着明显的指导作用。经验表明,国外某合约的收盘价、道琼斯指数、原油收盘价等与我国期货价格的开盘、收盘甚至是整天的价格走势都明显相关。
基于上述分析,本文将投资周期定为5天,输入、输出向量的指标选取及定义如表1、表2所示。其中,外盘相应合约根据品种不同会选择不同的合约。
2.2.2 利用BP算法进行预测
为了表述清晰,首先定义以下向量与变量,然后给出BP标准算法具体实现步骤。
输入向量x=(x1,x2,…,xn);
隐含层输入向量hi=(hi1,hi2,…,hip);
隐含层输出向量hn=(ho1,ho2,…,hop);
输出层输入向量yi=(yi1,yi2,…,yiq);
输出层输出向量y0=(yo1,yo2,…,yoq);
期望输出向量d=(d1,d2,…,dq);
输入层与中间层的连接权值wih;
隐含层与输出层的连接权值who;
隐含层各神经元的阈值bh;
输出层各神经元的阈值bo;
样本数据个数k;
激活函数f( · )。
根据上一小节的分析,这里n=11,q=4。标准算法步骤如下:
(9)判断网络误差是否满足要求。当E<ε或学习次数大于设定的最大次数M,则结束算法。否则,选取下一组数据样本及对应的期望输出,返回到(3)进行下一轮学习过程。
2.2 利用动态规划求解期货投资策略
2.2.1 建立合约-多阶段投资净盈利率矩阵
通过2.1节的测算,可以得到任意商品合约未来k天的价格走势情况,当然k越大,其准确性也越低。在分配资金时,我们要考虑其盈利率。显然,每手合约当天的最大盈利应为|y3-y4|,但是由于期货价格波动的突变性和复杂性,往往当天的极值进出的可能性很小,而且随着开仓量的增加,很难在同一位置入场,因此还应考虑开盘价与收盘价之差,这在一定程度上也显示了盈利的可靠性。另外,期货采用的是保证金制度,所以本文利用ai(k)来判断第i种期货合约第k天的投资盈利率:
式中,Ii表示第i种期货合约的单手保证金;Si表示该合约每手的单位数。
通常操作者在进行期货投资时,某时期内关注的品种是有限的,他们一般会通过直观判断来确定近期行情较大(往往是那些价格波动剧烈的)的品种。因此,本文设定每次只考虑两种合约,具体选择时,可以考虑要么两者正相关能够加大盈利,要么两者负相关,可以一定程度上规避风险。这样就得到了备选期货合约的多阶段盈利率情况,如表3所示。
2.2.2 建立投资动态规划数学模型
本文的投资基于当天进出市场,因此将投资过程按天划分阶段(k=1,2,3,4,5),设x(k)为n阶向量,表示第k阶段可用于投资的实际投资额,即k阶段初所拥有的资金额;决策变量u(k)为第k阶段对合约1的投资金额,则有0≤u(k)≤x(k)。
状态方程表示为:
x(k+1)=a1(k)·u(k)+a2(k) ·(x(k)-u(k)),k=4,3,2,1。
最优指标函数fk(x(k))就是将资金x(k)从第k天到第5天采取最优投资策略进行投资后,所得到的最大收入,由此得到动态规划的基本方程:
fk(x(k))=max{a1(k)·u(k)+a2(k)·(x(k)-u(k))+fk+1(a1(k)·u(k)+a2(k)·(x(k)-u(k)))}(0≤uk≤xk)
f6(x(6))= max{a1(5)·u(5)+a2(5)·(x(5)-u(5))}(0≤u5≤x5)k=4,3,2,1
这样,最后求出的,就是投资的最大收入。 这里需要考虑转换合约的手续费问题。
3算例
假设某期货投资者现有资金100万元,经过直观分析,决定选择沪铜1009和豆油1101两份合约进行投资。
3.1 利用BP算法预测期市并计算盈利率
根据2.1节,可以选取适当的时间段、训练数据以及检验数据。首先确定隐节点个数以及3个常参数,然后通过相应的计算软件进行测算,求得沪铜与豆油合约后5天每天的最高、最低、开盘、收盘价格。此预测过程略。
假设经过测算,得到的盈利率矩阵如表4所示。
3.2 利用动态规划求解最优投资策略
假设转换合约的手续费占投资额的0.2%,现在用逆序法求解。
(1)当k=5时,X(5)=100,
若全部投资铜,最大盈利额f5(x(5))=100×0.6=60;
若全部投资豆油,最大盈利额f5(x(5))=100×0.3=30;
(2)当k=4时,
若全部投资铜,最大盈利额f4(x(4))=100×max[(0.4+0.6),(0.4+0.3-0.2)]=100×1=100;
若全部投资豆油,最大盈利额f4(x(4))=100×max[(0.6+0.5-0.2),(0.3+0.5)]=100×0.9=90;
(3)当k=3时,
若全部投资铜,最大盈利额f3(x(3))=100×max[(1+0.5),(0.9+0.5-0.2)]=100×1.5=150;
若全部投资豆油,最大盈利额f3(x(3))=100×max[(1+0.4-0.2),(0.9+0.4)]=100×1.3=130;
(4)当k=2时,
若全部投资铜,最大盈利额f2(x(2))=100×max[(1.5+0.2),(1.3+0.2-0.2)]=100×1.7=170;
若全部投资豆油,最大盈利额f2(x(2))=100×max[(1.5+0.5-0.2),(1.3+0.5)]=100×1.8=180;
(5)当k=1时,
若全部投资铜,最大盈利额f1(x(1))=100×max[(1.7+0.4),(1.8+0.4-0.2)]=100×2.1=210;
若全部投资豆油,最大盈利额f1(x(1))=100×max[(1.7+0.4-0.2),(1.8+0.4)]=100×2.2=220。
由此可见,k=1,2,3时,投资豆油;k=4,5时,投资铜;其最大投资利润额为220万元。
3.3 结果分析
通过算例能够发现,本文建立的投资决策模型提供的实际是一种选择方法,每一阶段都在选择能够最大化最终总投资利润额的合约。如果增加备选合约,很容易出现某几个合约盈利额大致相等的情况,此时可以考虑各合约之间的相关程度,确定同一阶段下各合约的投资比例。
另外需要说明的是,算例中手续费定为0.2仅是为了便于计算分析,在实际操作中手续费是按照交易次数收取的,且根据合约不同而取不同的值,往往低于1%。
4结语
本文从最优控制的角度为期货投资决策提供了思路,建立起一个基于BP算法预测的动态规划投资决策模型。在预测方面,该模型没有简单利用各种技术指标进行预测,而且充分考虑到国内期货市场的特点,引入了国外期市、股市行情等因素;在投资决策方面,模型采用的是动态规划方法,适用于多变量、线性和非线性经济系统,并且模型中建立的净盈利率矩阵是可求的,相较于其他同样动态规划方法采用的投资分析矩阵更具实际意义。需要指出的是,该模型还需进一步完善,例如增加对风险的考量以及其他一些限制条件,使其能够在一定范围内得到不同阶段不同合约的投资比例,从而达到分散风险的目的。
主要参考文献
[1]王晶.经济控制论——理论应用与MATLAB仿真[M].北京:科学出版社,2008.
[2]张良均.神经网络实用教程[M].北京:机械工业出版社,2008.
[3][美]约翰·墨菲.期货市场技术分析[M].丁圣元,译.北京:地震出版社,2007.
[4]杨文娟.短期多阶段分散投资决策分析及动态规划处理[J].科技信息,2008(29).