缔冠期刊网

KNN算法在股票预测中的应用

2022-06-09

KNN算法在股票预测中的应用*

王波1程福云2

(1湖北科技学院数学与统计学院湖北咸宁4371002通山县横石镇中学湖北通山437100)

摘要:利用数据的相关性,运用改进的KNN算法,通过对股票历史数据的分析并建立相应的预测模型,进行试验预测,预测结果表明该方法对预测股票价格走势是有效的。

教育期刊网 http://www.jyqkw.com
关键词 :KNN算法;股票预测;预测模型;时间序列

中图分类号:TP311.13文献标识码:Adoi:10.3969/j.issn.1665-2272.2015.16.011

股票市场依赖于国家的宏观经济政策走向以及相关行业的运营状况而随时发生变化,股票价格也是涨跌无常。掌握股票价格的变化规律并预测其后期走势,不仅是广大股民梦寐以求的事情,同时也对国家宏观调控经济金融市场有着指引作用。本文基于简单而行之有效的KNN算法进行股票价格走势预测,并给出实例分析。

1KNN算法及建立相应的预测模型

1.1KNN算法

KNN算法是一种现在已经被广泛用于多个领域的相对简单的机器学习算法,其思路是:根据距离函数计算待预测数据x和每个已知历史数据的距离,选择与待预测数据距离最小的K个数据作为x的K个最近邻,最后根据x的k个最近邻判断x的类别。

1.2构建预测模型

要对股票价格走势进行预测,首先要对历史数据进行处理后转化成向量的形式,才能满足对股票价格走势进行预测的需要。将x当成一个序列,通常用{m1(x),m2(x),…,mn(x)}表示,其中mi(x)表示序列x的第i个分量。

历史数据经过处理转化成向量形式后,有如下形式:{m1(x),m2(x),…,mn(x);y},其中,前m项表示这个历史数据的m个不同的特征,最后一项y表示该经验数据的分类或目标值。股票收盘价的表现形式为历史明细表,则每天股票的收盘价格可以看成是一个数据序列,根据时间序列对相关对象的预测方法,假定其中任意一个股票交易日的收盘价格总是与该交易日前的几个交易日的收盘价格具有相关性。则收盘价的历史值可以表示成{m1(t),m2(t),…,mn(t);y},其中,前m项分别是某个交易日的前m个交易日的收盘价的值,最后一项y表示该交易日的收盘价的值。这样,如果获得n个交易日的收盘价信息,则可以组成n-m个这样的向量,也就获得了n-m个经验数据。再对这n-m个数据利用KNN算法找出与要预测交易日数据的最邻近的k个数据,最后对这k个数据根据它们的邻近程度赋予相应的权值(即越邻近赋予的权值越大)便可得到预测值。这样对于要预测的交易日,只要能知道该交易日的前m个交易日的收盘价的值,就可以通过这种模型得出预测交易日的收盘价信息。

1.3具体计算方法

将已知的n个交易日的收盘价数据组成一个时间序列{x1,x2,…,xn-1,xn}(其中xi表示第i个交易日的收盘价),用这组历史数据去预测第n+1个交易日的收盘价xn+1。

由于任何一个交易日的收盘价总是和前几个交易日的收盘价关系最密切,所以,用长度为m的

其中,aij表示向量ai的第j个分量。那么,余弦值越大,其夹角就越小,两向量就越接近。通过计算,我们在a1,a2,a3,…an-m中找出了向量a0={xn-m+1,xn-m+2,…,xn-1,xn}的k个最近邻,记为β1,β2,…,βk-1,βk。因为是用{xn-m+1,xn-m+2,…,xn-1,xn}来预测xn+1,所以这k个向量最后一个分量的后一个元素被认为是xn+1的一个最近邻,比如,假设β1={x1,x2,…,xm-1,xm}是a0的一个最近邻,则取xm+1作为xn+1的一个最近邻(令m1=xm+1),这样便得到了xn+1的K个最近邻m1,m2,…,mk-1,mk,然后对这k个数加权平均就可以算出xn+1的预测值,即:

2改进的KNN算法

在应用KNN算法的过程中,样本的距离是根据样本所有特征计算的。而这些特征与分类的强弱性相关,这样就有可能使得邻近间的相似度会被大量的不相关特征过多使用,导致分类产生误导,而KNN算法对这种情况非常敏感,如果不能有效解决这个问题,则分类不能完全实现,从而导致预测产生较大误差。

同样,对于股票价格的实例{x1(t),x2(t),…,xn(t);y},由于其中的前m项分别是预测交易日的前m个交易日的收盘价的值,所以它们的重要程度会有所不同。一个很直观的想法就是,离预测交易日越近的日收盘价信息,对预测交易日的收盘价信息的影响就越大。这样就自然会想到离预测交易日越近的收盘价应该赋予的权重就越大。

综合以上两种权重的赋值方法,对前面预测模型的最后一步加权方法作以下改进:对xn+1的K个最近邻b1,b2,…,bk-1,bk先按照所求余弦值的大小从小到大进行排序,分别记为m1,m2,…,mk-1,mk;再按照时间的远近程度从远到近进行排序,分别记为n1,n2,…,nk-1,nk;最后对它们各自的两个名次进行求和,再按照求和的值的大小从小到大进行综合排序(对求和值相等的数据可以以距离的大小为优,即距离小的,综合排名高,也可以以时间的远近为优),这样便得到一个新的序列x1,x2,…,xk-1,xk。对于这样一种新序列的每个一xi,给出一个加权

3实例分析

本文采用的股票数据为我国上证A股华东科技(000727)从2010年7月9日至2011年1月21日共125个交易日的日收盘价。

根据前面所阐述的模型及步骤,建立起基于KNN算法的股票预测模型。其中,前115个数据用于建立相应的预测模型,最后10个数据用于检测试验得出的预测值的结果。其中m=5,w1=0.004,d=0.003,k=25。这样得出改进的KNN算法的预测值和一般的KNN算法的预测值分别在表1中。

从表1的结果中可以很明显看出改进的KNN算法的平均相对误差(%)为-3.5249157优于使用一般的KNN算法的平均相对误差(%)-7.9967950。

4结论

本文根据时间序列模型构建了一种基于KNN算法的股票预测模型,这种预测模型通过前n个交易日的收盘价来预测第n+1个交易日的收盘价,其效果达到了目前常用的时间序列和神经网络等模型,但本论文所建的这种模型更为简单,而且这种模型还可以根据实际情况来进行权值的调整,这样使得这种模型具有交互性,提高了准确性与可靠性,对现实生活具有很大的应用和参考价值。

教育期刊网 http://www.jyqkw.com
参考文献

1周大镯,吴晓丽,闫红灿.一种高效的多变量时间序列相似查询算法[J].计算机应用,28(10)

2周广旭.一种新的时间序列分析算法及其在股票预测中的应用[J].计算机应用,2005(9)

3朱国华,程传鹏.一种改进的KNN分类方法[J].河南工程学院报,2008(3)

4苏映雪,付耀文.基于KNN算法的组合式非搜索特征选择算法[J].计算机工程,2007(18)

5张鹏,李学仁,张建业,等.时间序列的夹角距离及相似性搜索[J].模式识别及人工智能,2008(6)

(责任编辑何丽)

论文中心更多

期刊百科
期刊投稿 期刊知识 期刊审稿 核心期刊目录 录用通知 期刊版面费 投稿期刊推荐 学术问答
基础教育
小学语文 中学语文 小学数学 中学数学 小学英语 中学英语 物理教学 化学教学 生物教学 政治教学 历史教学 地理教学 科学教学 音乐教学 美术教学 体育教学 信息技术 班主任管理 校长管理 幼教 教育管理 微课教学 作文教学 德育教学 教学设计
医学论文
内科医学 外科医学 预防医学 妇科医学 检测医学 眼科医学 临床医学 药学论文 口腔医学 中西医 中医学 外科 护理 基础医学 急救医学 老年医学 医学实验 儿科医学 神经医学 兽医学 肿瘤医学 综合医学
职业教育
教育学原理 电影文学教育 学前教育 教育学管理 高等教育学 教育技术学 职业技术教育 成人教育学 特殊教育学 教育心理学 家庭教育 教育毕业 中专中职教育 教学设计 国学教育 学术研究 大学教育
药学卫生
社区门诊 医药学 医患关系 医院管理 疾病预防 保健医学 公共卫生 医学教育
文科论文
农业经济 工商管理毕业 会计毕业 行政管理 法律毕业 市场营销 经济毕业 汉语言文学 财务管理 物流管理 人力资源 旅游管理 国际贸易 物业管理 新闻学 企业管理 金融银行 社会科学 食品安全 办公档案 审计学 税务税收学 外国文学 哲学
理科论文
机电毕业 土木工程 计算机毕业 电气毕业 建筑毕业 电子商务 工程毕业 设计毕业 机械制造 汽车毕业 园林毕业 农学毕业 数控毕业 软件技术 水利工程 环境生态 畜牧渔业 化工毕业 科技创新 石油矿藏
论文格式
开题报告 论文题目 摘要关键词 目录提纲 论文致谢 参考文献 附录其他 论文答辩
职业论文
教育论文 经济论文 科技论文 财会论文 管理论文 医学论文 法学论文 文学论文 工业论文 建筑论文 农业论文 水利论文 计算机论文 社科论文 机械论文 生态环境 中西文化

先发表后付款 不成功可退款

权威机构认证 专注期刊10余年 1000余家杂志社长期合作

缔冠期刊网

首页 网站地图 返回顶部
Copyright © 1998- 缔冠期刊网