1. 引言
中国股票市场自其产生以来,经过三十年来的发展目前在我国经济发展中有着举足轻重的地位,股票市场有拓宽企业融资渠道、解决企业生存发展问题,为企业融资开辟平台的作用,同时炒股也可为广大投资者分享企业利润提供一个平台,也可培养个人艰苦奋斗的精神。总之,股市投资是国家经济发展的重要途径之一,也是国民致富的重要途径之一。因此,股市受到了广泛的关注与研究。例如潘水洋等 [1] 展示了运用神经网络模型对股票的收益率进行预测的方法。王勇 [2] 探讨了用布林线指标把握短期的股票买卖点问题。熊伟等 [3] 研究了一种采用重标度极差分析法对股票的收益率进行长程相关性分析的方法。余万林等 [4] 考察了货币供给、房地产价格与股票估值波动之间的关系。高竹楼 [5] 探讨了在股市操作中如何应用平均线的问题。冷松和俞雪华 [6] 给出了一种股票短线启动时机选取的方法并讨论了如何确定其买卖点的问题。
移动平均线具有简单、有效、稳定等特点是当今预测股价走势等最重要的技术方法,如何确定买卖点是股市投资者最关心的问题。如果想要在股市中大概率的赚取利润,就不能不研究这一问题。现已有不少学者从移动平均线的角度出发研究股市与确定炒股买卖点问题。例如,萌生 [7] 研究了股价走势曲线与移动平均线距离的远近获得短期买卖点问题。黄莉等 [8] 利用短期、中期、长期移动平均线之间的交叉建立数学模型,再结合收益率的相关性,找到最佳收益的移动平均线组合问题。董大勇 [9] 通过对短期、中期、长期移动平均线的位置、位置关系和运动方向加以分析来预测股价的变化趋势。此外,文献 [10] - [15] 也从各种均线的角度出发研究了此类问题。受到摄取、存储水平和计算水平的限制,这些工作所用的数据量相对不足,所作运算量相对不足,实用性相对不足。
鉴于上述背景,本文试基于移动平均线,给出一种通过大数据分析寻找大概率盈利的炒股方法。
2. 数学规划
本节进行符号说明与做必要的定义。
给定一支股票S,我们分别以
表示交易日i的开盘价,收盘价,最低价和最高价。令
,称其为i交易日的四点平均价,或F平均价,简称i交易日的均价。称
。
为t交易日的后l日F平均价,其中
表示交易日t之前的第i个交易日。
在t交易日,购买一股股票,用
表示预期往后f日的盈利值,叫做未来f日的盈利目标。称考虑如何大概率实现盈利
的问题为S-RFPP (f),简称RFPP。
下面,我们以算法的形式给出一种大概率实现未来f日的盈利目标的买股方法。
注1:由于我们主要是考虑买入后的成功率问题,简明起见,所有提及买入均按买入一股理解,对于多量买入的情况,可通过乘以买入量系数的方法进行调整处理。
3. 算法
本节建立RFPO算法,通过该算法给出一种争取在未来f日内实现预期盈利目标的买股方法。
股民买股票时都希望在一定时期内大概率盈利。当价格在一定程度低于某种平均值(或说处于某种均线下方)时买入是寻求大概率盈利的一种主要方法,低少了不利于盈利,低多了又不容易买到,究竟以低多少为确定买入点的标准呢?为了提高收益率,我们不仅应当考虑买到的成功率,还应当考虑买到的可能性,这既是一个具有实际意义,很值得研究的问题,又是一个相当复杂,很不容易研究的问题。为了降低难度,并利于实施量化技术(通过数量化方式及计算机程序化发出买卖指令,以获取稳定收益为目的的交易方式),我们在一定条件下进行研究。限定问题RFPP,并假设期望买到后以概率r盈利,且只在
值之下买入。我们试探索能够使得买到后至少盈利
的概率大于r,且买到的可能性较大的方法。设
,
,为最近的
个历史数据,并确定在当前价低于
,
时可以买入,对
这L个交易日进行复盘,以
代替当前价,试看有多少个交易日可以买到,对于买到的交易日又能够有多少个交易日可以成功盈利v。设有I
个交易日可以买到,有N个交易日可以成功,且过程具有充分的平稳性,则当
时,可以认为在当
前按
价格买入股票可获得盈利v的概率大于r。如何找到满足条件的
呢?我们以一个适当的
做为间隔尺度,依次按
为
,通过实际运算进行寻找,且为了防止由于
过大而导致买入的
可能性太小,我们以首先满足
的
作为寻找对象。这就是本文寻找买入点的主导思想。
显然
过小,数据量过小,不能充分体现过程的内涵;另外,运算速度太慢不能及时给出答案也不行,所以
要充分大,运算速度要充分地快,也就是说我们必须从大数据的视域出发,做到快速摄取大量数据,快速处理大量数据。为此我们根据上述主导思想,设计了如下的算法RFPO,以其给出我们的方法。
RFPO算法
问题:S-RFPP (f)。
输入:
。
(其中
;f为正整数,表示未来日数;l为正整数,表示
中的交易日数;r是一个表示成功率的参变量;
;
是一个表示运行尺度的参变量;
分别表示交易日i的开盘价、收盘价、最低价和最高价;
为运用历史数据的个数;p为当前股价;1表示当前交易日,2表示1的前一个交易日,…,
表示
的前一个交易日)。
输出:Y或N (其中,Y表示可以按当前股价p购买股票;N表示不可以购买股票)。
过程:
1. 命
。
2. 置
;
;
。
3. 关于
,进行下面各步。
(1) 计算
。
(2) 如
,置
;然后考虑
,
不等式成立,置
。
4. (1)
。转步5。
(2) (i)
。返回第二步。
(ii)
。转步6。
5. 输出N。
6. (1) 计算
,(0表示当前交易日)。
(2) (i)
。输出N。
(ii)
。输出Y。
4. 实验
针对沪市股票中船科技(600072),选取2015年12月24日至2016年11月25日这期间的220个交易日(去掉周六周日和法定节假日)每日的开盘价、收盘价、最高价、最低价为实验数据,取
,
,
,
,
,
,依次以2016年8月25日至2016年10月14日这期间的30个交易日为当前时刻,进行实验。在实验中以当前日的最低价为当前价。
1. 以2016年8月25日为当前交易日0时,
(2016年8月24日),2 (2016年8月23日),…,
(2015年12月24日),将数据和参量代入算法中,得到结果:可以买入,不成功;
2. 以2016年8月26日为当前交易日0时,
(2016年8月25日),2 (2016年8月24日),…,
(2015年12月25日),将数据和参量代入算法中,得到结果:可以买入,不成功;
……
30. 以2016年10月14日为当前交易日0时,
(2016年10月13日),2 (2016年10月12日),…
(2016年2月4日),将数据和参量代入算法中,得到结果:不可买入。
详细结果见表1。
由表1可见,在30个实验交易日中,有20个交易日可以买入,在可以买入的交易日中有18个成功,成功率达60%以上,可见算法有效。
注2:1) 我们的实验是通过运用MATLAB语言编出RFPO算法的计算机运行程序,然后在一台型号为Inspiron1427FT02、CPU为Intel(R) Core(TM)2 Duo CPU T6500 @2.10GHz 2.10GHz的计算机上运行所编出的程序进行大数据运算而完成的。2) 算法RFPO不仅参变量较多,而且可以从炒股软件中快速提取大量数据,快速进行运算,及时回答我们是否可以按当前价买入股票的问题,充分地体现了大数据的特点。3) 由于时间和篇幅等原因,在此我们暂未讨论怎样选择合适的参量r,实验是在
的条件下进行的,如何优化地确定r是一个很值得继续研究的问题。4) 为了降低难度和便于使用量化技术,算法RFPO的主要意图限于发展一种买入股票后可大概率盈利,且买入可能性较大的方法,没有考虑不成功时的盈亏问题;如何在不成功时控制盈亏,使得尽量少亏损多盈利,并进而考虑如何使用资金,争取较大收益率等,也是很值得继续研究的问题。
5. 结束语
本文尝试地建立了一种基于大数据与平均线的选股方法,并通过实验说明了它的效率,运用沪市股票中船科技(600072) 2015年至2016年的220个交易日的数据,进行实验,结果表明算法有效。由于水平有限,不足之处很多,敬望各位专家批评指正。如何优化的确定r,如何优化的运用资金,以及收益率如何等是很值得进一步研究的问题。希望该项工作能够激发大家关于这方面的研究兴趣,希望能够有更多的学者和我们一起从事这方面的研究,共同促进我国量化技术发展。

Table 1. Summary of experiment result
表1. 实验结果汇集表
基金项目
辽宁省自然科学基金资助项目(20170540821)。
致谢
论文最后感谢辽宁省自然科学基金的资助,感谢程丛电导师、王立柱老师的指导和审稿人提出的建议。