一种基于自身历史相似收益的股票估值方法与流程

文档序号:14404661阅读:545来源:国知局
一种基于自身历史相似收益的股票估值方法与流程

本发明涉及股票数据挖掘技术领域,尤其是涉及一种基于自身历史相似收益的股票估值方法。



背景技术:

股票估值是一个相对复杂的过程,影响的因素很多。对股票估值的方法有多种,如依据投资者的预期回报、企业盈利能力,或者企业资产价值等。

股票估值方法大致可分为绝对估值和相对估值两大类。

绝对估值是通过对上市公司历史及当前的基本面的分析和对未来反映公司经营状况的财务数据的预测获得上市公司股票的内在价值。绝对估值的方法如现金流贴现定价模型,b-s期权定价模型等。

相对估值是使用市盈率、市净率、市售率、市现率等价格指标与其它多只股票(对比系)进行对比,如果低于对比系的相应的指标值的平均值,股票价格被低估,股价将很有希望上涨,使得指标回归对比系的平均值。

以上估值方法定义虽简单,但真正实施操作起来却是相当复杂,其中涉及众多的基本面信息、价格指标等。

在现有股票大数据环境下,充分利用历史数据是一个新的方向。本发明方法不去涉及复杂的经济模型,而是让机器学习股票以往自身的估值历史,然后自动给出当前应有的估价及区间,从而让投资者可以方便的确认当前个股股价相对于估值价是高了还是低了。



技术实现要素:

本发明公开了一种基于自身历史相似收益的股票估值方法。方法搜索个股自身历史上每股收益相似时的股票估值pe,而后根据估值历史反过来估算当前的股票价格。

本发明方法的主要思想是:首先根据当前的每股收益,模糊搜索个股的历史,找到相似的每股收益对应的交易日期、历史估值市盈率(pe)等;之后将这些交易日期对应的估值pe根据一定的增长速度折算到当前交易日;对多个折算回来的估值pe求均值和方差,并以均值加减1倍、2倍、3倍的方差分别作为股票当前的估值区间;最后将估值区间转换为股票的价格运行区间,各区间的运行概率分别为68%、95%和99%。

本发明方法在每日收盘后进行计算分析,每天都可以得到个股的估价,以及对应不同运行概率的价格区间。

本发明方法的步骤如下:

(1)基础数据收集与数据结构预先准备;

(2)以个股当前的每股收益搜索自身历史上的相似情况;

(3)将历史相似收益对应交易日的估值pe按一定增速折算到当前交易日;

(4)根据历史估值pe计算当前交易日的估值pe和估值区间;

(5)将估值结果转换为股票的估价和价格的概率运行区间。

其中,步骤(1)基础数据收集与数据结构预先准备,需要收集的基础数据包括:(a)收盘价(close),即自2009年以来个股每天的收盘价;(b)每股收益(eps),即自2009年以来每季报的个股收益,并需要前复盘分解到收盘价对应的每个交易日上。

需要预先计算或准备的数据包括:(a)折算增长率,即假设以2009年1月1日为基点,其系数factor0为1,年增长率8%,每年的天数为daycount(闰年366天/非闰年365),首先将年增长率(yearrate)折算为日增长率(dayrate),即:dayrate=math.pow(1+yearrate,1/daycount),math.pow代表次方计算,然后计算每天的增长系数factork,即从2009年1月1日开始,按顺序累乘计算每天的增长系数:factork+1=factork*dayrate,k为日期的顺序号,直至计算到当前交易日,记为factortoday。(b)市盈率(pe),即自2009年以来每个交易日收盘价对应的市盈率pe,可以通过收集得到,也可以自行计算,计算公式为:pek=closek/epsk,其中k为日期的顺序号;之后对历史市盈率求移动平均(ema):ematoday=α*closetoday+(1-α)*emayesterday;其中,α为平滑指数,取作2/(n+1),n的取值为30天或60天。

其中,步骤(2)以个股当前的每股收益搜索自身历史上的相似情况,具体为:假设当日的每股收益记为epstoday,自2009年以来每交易日对应的每股收益数组为epsk,,其中k为日期的顺序号,首先将当日每股收益上下浮动一个区间,如上下浮动10%,则形成数值区间[0.9*epstoday,1.1*epstoday];然后遍历每股收益数组为epsk,如果epsk在[0.9*epstoday,1.1*epstoday]区间里面,则记录下来并获取相关的历史信息形成如下数组:

对应的交易日期date:{d1,d2,…,dl};

对应的移动平均后的市盈率pe:{pe1,pe2,…,pel};

对应的增长系数factor:{factor1,factor2,…,factorl}。

其中,步骤(3)将历史相似收益对应交易日的估值pe按一定增速折算到当前交易日,具体为:将上一步骤中得到的移动平均后的市盈率pe:{pe1,pe2,…,pel}折算到当前交易日,对每个搜索得到的交易日对应的pei,进行如下方式的折算:newpei=pei*factortoday/factori,这里i=1,2…,l,l为搜索得到的相似历史数,最后形成新数组newpe:{newpe1,newpe2,…,newpel}。

其中,步骤(4)根据历史估值pe计算当前交易日的估值pe和估值区间,具体为:对折算后的估值数组newpe进行统计计算,假设历史上在相似收益时对股票的市盈率估值符合正态分布,我们首先对数组里面的元素求取均值μ和方差σ,这样newpe数组元素的均值μ即为估值的均值(平均市盈率,为估值倍数的平均),同时以newpe数组的均值μ和方差σ构建三个估值区间,即[μ-σ,μ+σ],[μ-2σ,μ+2σ]和[μ-3σ,μ+3σ]。

其中,步骤(5)将估值结果转换为股票的估价和价格的概率运行区间,具体为:首先将估值倍数均值μ转换成估算的股价,即evaltoday=epstoday*μ,此时与当日的收盘价closetoday对比一下,即可知道当前股价是高估还是低估了;将三个估值区间的上下限转换成股价区间,具体转换如下:

[μ-σ,μ+σ]→[epstoday*(μ-σ),epstoday*(μ+σ)];

[μ-2σ,μ+2σ]→[epstoday*(μ-2σ),epstoday*(μ+2σ)];

[μ-3σ,μ+3σ]→[epstoday*(μ-3σ),epstoday*(μ+3σ)];

此时转换后的股价区间分别对应股票股价在该区间的运行概率有68%、95%和99%。对当日的估值结果进行可视化展示,输出当日的估值仪表盘;记录每天的估值结果,跟踪一段时间,可视化展示输出估值区间的序列图。

附图说明

图1是本发明股票估值方法的流程图。

图2是本发明方法概率运行区间所依据的正态分布理论。

图3是基于本发明方法输出的当日的估值仪表盘。

图4是基于本发明方法输出的个股一段时间的估值区间序列图。

具体实施方式

下面结合附图和实例,对本发明进行详细的描述。

本发明方法首先根据当前的每股收益,模糊搜索个股的历史,找到相似的每股收益对应的交易日期、历史估值市盈率(pe)等;之后将这些交易日期对应的估值pe根据一定的增长速度折算到当前交易日;对多个折算回来的估值pe求均值和方差,并以均值加减1倍、2倍、3倍的方差分别作为股票当前的估值区间;最后将估值区间转换为股票的价格运行区间,各区间的运行概率分别为68%、95%和99%。

举个简单例子,比如某股票当前每股收益1块,那么搜索自身所有的历史数据,在历史中每股收益在1块左右时,其估值是怎样的一个范围,如30~40倍,之后反过来考虑人民币贬值等因素折算到当前,估值可能就是50-60倍了,最后对这些折算的历史估值做统计分析,给出当前的个股估价和不同概率的价格运行区间。

假设股票列表为s,s=[s1,s2,…,si,…,sn],n为股票池中股票的数量,如中国上市股票的数量或美国上市股票的数量。

对于每只股票,假设待估值的股票为sm,m=1,…,n具体步骤如下。

一、基础数据收集与数据结构预先准备。

股票的每股收益由个股在季报中体现,由于太久远的季报对该数据有缺失,因此取2009年以来的历史数据作为以下计算的基础。

1.1需要收集的基础数据有以下几个方面。

(1)收盘价(close):自2009年以来个股每天的收盘价。

(2)每股收益(eps):自2009年以来每季报的个股收益,并需要前复盘分解到收盘价对应的每个交易日上。

1.2需要预先计算或准备的数据有以下几个方面。

(1)折算增长率。

假设以2009年1月1日为基点,其系数factor0为1,年增长率8%,每年的天数为daycount(闰年366天/非闰年365)。

首先将年增长率(yearrate)折算为日增长率(dayrate),即:dayrate=math.pow(1+yearrate,1/daycount),math.pow代表次方计算。

然后计算每天的增长系数factork,即从2009年1月1日开始,按顺序累乘计算每天的增长系数:factork+1=factork*dayrate,k为日期的顺序号,直至计算到当前交易日,记为factortoday。

(2)市盈率(pe)。

自2009年以来每个交易日收盘价对应的市盈率pe,可以通过收集得到,也可以自行计算,计算公式为:pek=closek/epsk,其中k为日期的顺序号。

对历史市盈率求移动平均(ema):ematoday=α*closetoday+(1-α)*emayesterday;其中,α为平滑指数,取作2/(n+1),n的取值为30天或60天。

二、以个股当前的每股收益搜索自身历史上的相似情况。

假设当日的每股收益记为epstoday,自2009年以来每交易日对应的每股收益数组为epsk,,其中k为日期的顺序号。

首先将当日每股收益上下浮动一个区间,如上下浮动10%,则形成数值区间[0.9*epstoday,1.1*epstoday]。

然后遍历每股收益数组为epsk,如果epsk在[0.9*epstoday,1.1*epstoday]区间里面,则记录下来并获取相关的历史信息形成如下数组:

对应的交易日期date:{d1,d2,…,dl};

对应的移动平均后的市盈率pe:{pe1,pe2,…,pel};

对应的增长系数factor:{factor1,factor2,…,factorl}。

这里针对l设置一个阈值th,如果l<th,则说明历史上有相似每股收益的交易日太少了,无法适用本发明方法,此时该个股当日无法估值,直接跳过,不必再进行下一步了。

三、将历史相似收益对应交易日的估值pe按一定增速折算到当前交易日。

将上一步骤中得到的移动平均后的市盈率pe:{pe1,pe2,…,pel}折算到当前交易日,具体如下。

对每个搜索得到的交易日对应的pei,进行如下方式的折算:

newpei=pei*factortoday/factori,

这里i=1,2…,l,l为搜索得到的相似历史数;最后形成新数组newpe:{newpe1,newpe2,…,newpel}。

四、根据历史估值pe计算当前交易日的估值pe和估值区间。

对折算后的估值数组newpe进行统计计算。假设历史上在相似收益时对股票的市盈率估值符合正态分布,我们首先对数组里面的元素求取均值μ和方差σ。

结合图2的正态分布理论可知,在区间[μ-σ,μ+σ]可以覆盖68%的样本;在[μ-2σ,μ+2σ]可以覆盖95%的样本;而在[μ-3σ,μ+3σ]可以覆盖99%的样本。

这样newpe数组元素的均值μ即为估值的均值(平均市盈率,为估值倍数的平均),同时以newpe数组的均值μ和方差σ构建三个估值区间,即[μ-σ,μ+σ],[μ-2σ,μ+2σ]和[μ-3σ,μ+3σ]。

五、将估值结果转换为股票的估价和价格的概率运行区间。

以上估值结果包括估值的倍数均值μ和三个估值区间。首先将估值倍数均值μ转换成估算的股价,即evaltoday=epstoday*μ,此时与当日的收盘价closetoday对比一下,即可知道当前股价是高估还是低估了。

将三个估值区间的上下限转换成股价区间,具体转换如下:

[μ-σ,μ+σ]→[epstoday*(μ-σ),epstoday*(μ+σ)];

[μ-2σ,μ+2σ]→[epstoday*(μ-2σ),epstoday*(μ+2σ)];

[μ-3σ,μ+3σ]→[epstoday*(μ-3σ),epstoday*(μ+3σ)];

此时转换后的股价区间分别对应股票股价在该区间的运行概率有68%、95%和99%。

以某股票为例,对结果进行可视化展示。图3是基于本发明方法输出的当日的估值仪表盘。最上方中部的刻度“估值均值”即为对该股票的当日估值价格。以该点为中心,左右两边各分成三个区域,分别对应3个区间的下限和3个区间的上限。当仪表指针指向左侧时,为低估;反之指向右侧时,则为高估。当指针指向左边不同区间的下限时,则对应不同程度的低估;反之,当指向右边不同区间的上限时,则对应不同程度的高估。

为更好跟踪每日估值结果的走势变化,记录每天的估值结果,并形成估值区间序列图。仍以某股票为例,对结果进行可视化展示。图4是基于本发明方法输出的个股一段时间的估值区间序列图。

图中走势变化尖锐的曲线为实际每天的收盘价走势,另外围绕该区间,上下总共有7条曲线,最中间曲线为估值价格曲线,其余上下的各3条曲线分布为68%、95%和99%的估值价格的运行区间上下限。

通过该图,股票投资人可以很方便的知道一段时间里面股价运行所在的估值区间及其高估低估的情况,即当股票价格运行在股票估值下方时,为低估;反之为高估;当逼近不同概率区间的下限时,则对应不同程度的低估;反之,当逼近各概率区间的上限时,则对应不同程度的高估。

另外,估值区间的序列线可能会有断层,可能原因有:历史相似收益的交易日太少、历史估值pe不稳定相互间偏差太大等。

综上所述,本发明提出了一种基于自身历史相似收益的股票估值方法,方法充分利用了个股股票的历史数据,以历史相似收益情况下的估值反过来计算当前股票应该给予的估值或估价,以及不同概率下的价格运行区间。另外,需要注意的是,当每股收益为负值、股票停牌、股票估值数据不全、模型前提假设不成立等原因时,该股票的估值将无法输出。

本发明方法同样可应用于证券类具有时间序列特征的数据,如基金、期货等。因此,尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是不可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容。当前公开的实施例在所有方面应被理解为说明性的而非对其请求保护的范围的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1