• [计算机毕业设计]机器学习的数据驱动股票价格预测


    前言

        📅大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

    🚀对毕设有任何疑问都可以问学长哦!

    本次分享的课题是

    🎯XXX

    课题背景与意义

    机器学习给人的感觉是能做很好的预测,于是人们开始滥用它。随着机器学习算法不断应用到各行各业,越来越多声称能够预测股市的机器学习算法模型也层出不穷,有的还给出了准确率近乎完美的结果,这些模型和结果看上去确实令人兴奋,然而在现实中如果真的使用这些模型去预测市场,就会被市场教育。

    课题实现技术思路

    通常对于监督性学习来说,模型的训练都需要基于标注的数据,而对于股票趋势分类来说的话,这个工作不免有些巨大和繁琐。所以这篇文中首先通过启发式非监督算法来划分价格的模式。具体分为了四种:

    • Up:表示上涨模式,同时这个模式又根据上涨范围的大小被划分了两个子模式,如上涨区间在[10%, 30%]内和大于30%。

    • Down:表示下降模式,同上涨模式一样,它也根据下降范围的大小被划分为了子模式。

    • Flat:表示近似平缓的模式。

    • Unknown:表示以大振幅波动的模式。

    其中识别算法在下面的03模型训练部分中进行了展示。

    这个系统的目的是根据一段时间(如过去一段时间到现在)的模式,来预测它是否可以构成前面划分的几种模式,并预测其生成这个模式的概率。由于这里不是传统的01分类,而是一种模式预测的概率,所以这里的实际用处还是相对比较高的。

    预测模式的持续时间文中称作PD(Pattern Duration),用于训练的持续时间文中称作MD(Model Duration)。具体如下面的图所示:

    对于不同持续时间的组合在其系统中也有进行预先设计,以便于这个系统可以开箱即用。

    在实际的应用中,整个过程其实就可以看做是通过一个滑动窗口的形式,不断的对股票价格序列进行切片,训练以及模式识别的过程,具体如下面论文中的过程图:

    模型的预测部分用到的是随机森林模型,毕竟对于要求高可解释性的量化交易领域中,像决策树或者逻辑回归这类较为透明的算法还是较为合理的。预测的训练过程部分也在03模型训练部分中。

    最后,整个交易系统的模型框架,包括整个系统的软件设计架构在下面进行了展示:

    对于面前定义的非监督算法进行模式识别的具体步骤如下面的Algorithm1所示,由于上涨模式的识别其他模式识别的算法类似,所以Algorithm1只展示了上涨模式的识别步骤:

    而预测部分的Random Forest的训练步骤如下面的算法Algorithm2过程所示,这里的算法流程与传统的Random Forest的训练过程还有些不同,因为考虑到了模式类中的不平衡性,所以这里还加入了undersampling的方法。

    🚀海浪学长的作品示例:

    大数据算法项目

    机器视觉算法项目

     

    实验的验证部分用到了真实的股票数据,来自深市科创板的495支股票,时间是从2010年1月25到2016年1月26日,并与常见的机器学习模型,如SVM、ANN以及KNN算法进行了预测准确率和收益率的比较。比较的效果如下面的表所示:

    在不考虑各种滑点、手续费等因素的前提下,可以看出,论文中提出的方法的效果还是很客观的。

    微信小程序项目

    Unity3D游戏项目

    最后💯

    🏆为帮助大家节省时间,如果对开题选题,或者相关的技术有不理解,不知道毕设如何下手,都可以随时来问学长,我将根据你的具体情况,提供帮助。

  • 相关阅读:
    LoadRunner介绍和脚本录制
    HDFS工作流程与机制
    24字符串-kmp寻找重复子串
    【算法题】翻转对
    腾讯云价格计算器有用过的吗?好用!
    零代码编程:用ChatGPT批量调整文件名称中的词汇顺序
    【C++】STL03-deque
    TDengine
    Vision Transformer学习
    IDEA2022插件:EasyCode一键生成增删改查代码
  • 原文地址:https://blog.csdn.net/qq_37340229/article/details/127966072