用遗传算法评价部分股市常用技术指标的探索

2018-10-20 11:01徐建
智能计算机与应用 2018年5期
关键词:技术指标利润率遗传算法

徐建

Abstract: Genetic Algorithm is a good tool for searching optimal or suboptimal solutions. In this paper, to compare the advantages and disadvantages of various technical indicators, the Genetic Algorithm is used to find the optimal use strategy for technical indicators of stock market in order to obtain the maximum profit. A basic strategy is adopted, which is to find the technical index and a certain limit value of its difference as the conditions for buying and selling. By analyzing the data, the paper has built index evaluation system.

引言

股市中,人们常用一些技术指标来帮助人们操作股票。选用何种技术指标,技术指标的好坏即已成为研究探索的关注焦点。好的指标可以帮助股票操作者赚取更多的盈利,不好的指标往往误导操作者,所以对指标的评价是个重要的问题。首先,一个指标怎么用才是最佳使用,使用得好,效果才好;使用得不好,优等指标也难以有效发挥作用。综上分析指出,首先就要知道该如何最佳使用一个指标。其次,在此基础上,已经能够获知了最佳的使用方法后,就要衡量比较各个指标的盈利能力,由此则可构建形成一个好的评价方法。本文拟采用遗传算法找出指标的最佳使用方法,再利用其年化利润率来实现指标评价。针对这一课题,将展开分析论述如下。

1数据的准备和选择

研究中,选择了数据范围在0~100之间的指标,股市历史数据选择上海证券市场的1990年12月19日至2016年9月2日的近26年的100只股票数据,遗传算法的基因设置为26位二进制位。交易规则可做如下描述:买入条件为指标小于0到50之间的一个小于某个值(X1),并且当天的指标值与前一天的指标值之差(以后称為差值)大于-50到50之间的一个值(D1);卖出条件为指标大于50到100之间的一个值(X2)并且差值小于50到-50之间的一个值(D2)。其中,X1、X2分别对应基因的6位二进制位,D1、D2分别对应基因的7位二进制位。

根据实验选择基因数为1 000个,每次进化选择200个最好的基因,然后在这200个基因中随机交叉产生700个基因,并在200个最好基因中随机地变异出100个基因,这样构成新的1 000个基因。1 000个基因用一个数组JY(1 000)来存储。

2算法设计

Step1随机初始化基因数组JY。

Step2每个基因的累计总资产清零,股票下标为零。

Step3取下一只股票的数据。

Step4根据股票数据计算这只股票的指标数据。

Step5给每个基因分配10万元资金。

Step6从指标有效数据开始到结束的一天并根据每个基因满足的买卖条件进行买卖操作得到的最后资金。

Step7把尚未卖出的股票都卖出。

Step8交易最后的资金累加到总资产中。

Step9如果股票下标加1,股票下标<100,转到Step3。

Step10根据总资产将基因按降序排列。

Step11基因未进化次数超过5次,则结束。

Step12选择前200个基因JY(0)~JY(199),交叉产生700个新基因JY(200)~JY(899),再变异产生100个新基因JY(900)~JY(999)。

Step13转到Step2。

3股票指标的设计实现

(1)KDJ指标。可参考代码如下。

(2)DMIA指标。是由DMI指标变化得来,DMI指标的研发代码可见如下。

(3)W& RA指标。来自W& R(威廉指标)的变化。W& R指标的代码设计可做如下表述。

(4)MFI指标。研发代码具体如下。

(5)EEXB指标。前述内容均为常见指标,而下面是由本文研发提出的一个技术指标。该指标的设计代码可展示如下。

4实验结果与分析

4.1实验结果

综上算法运行得到第一步的搜索结果的X1、X2、D1、D2,记为X10、X20、D10、D20。但这并非是最后的结果,因为搜索得较为粗糙,接下来将进行精细搜索。把X1、X2、D1、D2的搜索范围变为X10±1、X20±1、D10±1、D20±1,继而依据上述算法再转入精细搜索,得到最后的结果。

在PC机上运行各类指标的算法过程,运算10天后得到的结果可见表1。

4.2结果分析

由实验结果分析可知,短线指标利润率容易趋高,这是因为比长线指标操作频繁所致。因此,只能将短线指标和短线指标参照比较,长线指标之间互相对照,才可提取得到合理运行效果。短线指标,如KDJ、W&R;、EEXB的设计处理结果可以看出:KDJ指标利润率极低,表明KDJ不能用于同一的操作规则,牛市、熊市必须采取不同的使用规则。如果固定使用同一的规则,利润率将极低。长线指标,如DMIA和MFI利润率都不高,特别是DMIA指标。

5结束语

本文的探索研究只是一个初步尝试,且仅采用了一种固定操作方式的一类评价。所评价的对象也只是满足数值范围在0~100之间的指标。指标的运用还具有更大的灵活性,比如:金叉、死叉、以及牛/熊市采取不同的使用策略等等。后续将在本文研究工作基础上引入更多影响因素,拓展探讨得出更加深入的实用、有益研究结论。

参考文献

[1] 李敏强,张俊峰,寇纪淞. 遗传算法在股市投资策略(战略)研究中的应用[J]. 系统工程理论与实践,1998(8):19-25.

[2] 雷亮,汪同庆,彭军,等. 改进的自适应遗传算法应用研究[J]. 计算机科学,2009,36(6):203-205,247.

[3] 王志美,陈传仁. 遗传算法理论及其应用发展[J]. 内蒙古石油化工,2006(9):44-45.

[4] 谢丁. 股票技术分析指标的参数设置方法实证研究[J]. 河北金融,2010(3):5-6,36.

[5] 朱威. 股票技术指标的统计分析[D]. 上海:华东师范大学,2006.

[6] 柯原. 股票投资技术指标KDJ值应用研究[J]. 管理与效益,1998(1):47,46.

[7] 黄旭东,刘伟. 基于GARCH股票市场模型技术指标的理论分析[J]. 经济数学,2007,24(3):254-259.

猜你喜欢
技术指标利润率遗传算法
基于遗传算法对广义神经网络的优化
基于遗传算法对广义神经网络的优化
基于遗传算法的临床路径模式提取的应用研究
基于遗传算法的临床路径模式提取的应用研究
遗传算法在校园听力考试广播系统施工优化中的应用
物流配送车辆路径的免疫遗传算法探讨
技术指标选股
技术指标选股
技术指标选股
技术指标选股