Deep_Learning_Machine_Learning_Stock

Deep_Learning_Machine_Learning_Stock

深度学习和机器学习在股票市场预测中的应用

本项目深入探讨了深度学习和机器学习在股票市场预测中的应用。从数据收集到模型训练,涵盖了算法选择、过拟合处理和性能优化等关键环节。项目融合了技术分析和基本面分析,并探讨了长短期预测策略。这是一个面向研究者和开发者的综合性资源,旨在展示人工智能在金融市场分析中的潜力。

深度学习机器学习股票预测人工智能算法Github开源项目

贡献者 分支 星标 问题 MIT 许可证 领英

<a href="https://www.buymeacoffee.com/lastancientone" target="_blank"><img src="https://yellow-cdn.veclightyear.com/0a4dffa0/d84a9b6a-b913-4170-aa95-326fd74fd101.png" alt="给我买杯咖啡" style="height: 60px !important;width: 217px !important;" ></a>

<!-- Markdown 链接与图片 --> <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/4289d937-ca2d-4b88-a4da-94ae9ec02d36.PNG"> <h1 align="center">深度学习和机器学习用于股票预测</h1>

描述:这是一项使用深度学习(DL)和机器学习(ML)技术对股票进行的全面研究和分析。机器学习和深度学习都属于人工智能(AI)的一种。目标是通过采用各种机器学习和深度学习算法来预测股票行为。重点是对股票数据进行实验,以了解某些方法为何有效以及识别其潜在局限性的原因。在机器学习和深度学习的背景下探索不同的股票策略。利用这些AI技术进行技术分析和基本面分析来预测未来股票价格,包括长期和短期预测。

机器学习是人工智能的一个分支,涉及开发能够通过处理结构化数据自动适应和生成输出的算法。另一方面,深度学习是机器学习的一个子集,它使用类似的算法但增加了额外的复杂层,使数据能够进行不同的解释。深度学习中使用的算法网络被称为人工神经网络,它模仿人脑神经通路的互连性。

深度学习和机器学习是革新AI领域的强大方法。理解这些技术的基础知识和常用算法对于有抱负的数据科学家和AI爱好者来说至关重要。回归作为预测建模中的基本概念,在分析和预测连续变量方面起着关键作用。通过利用这些算法和技术的能力,我们可以在各个领域释放令人难以置信的潜力,从而推动众多行业的进步和改进。

机器学习步骤

  1. 收集/聚集数据。
  2. 准备数据 - 加载数据并为机器学习训练做准备。
  3. 选择模型。
  4. 训练模型。
  5. 评估模型。
  6. 参数调优。
  7. 进行预测。

深度学习模型步骤

  1. 定义模型。
  2. 编译模型。
  3. 用训练数据集拟合模型。
  4. 进行预测。
<h3 align="left">编程语言和工具:</h3> <p align="left"> </a> <a href="https://www.python.org" target="_blank"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/6b67c3a2-e1fa-4a55-b709-c1b37f8d47f3.svg" alt="python" width="50" height="50"/> </a> <a href="https://nteract.io/" target="_blank"> <img src="https://avatars.githubusercontent.com/u/12401040?s=200&v=4" alt="Nteract" width="50" height="50"/> </a> <a href="https://anaconda.org/" target="_blank"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/5795ad4f-cb75-4b78-9304-957b83b0e655.png" alt="Anaconda" width="50" height="50"/> </a> <a href="https://www.spyder-ide.org/" target="_blank"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/c1ba68fe-23c3-4890-aca3-f4b568b1a5c8.png" alt="Spyder" width="50" height="50"/> </a> <a href="https://jupyter.org/" target="_blank"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/fda3c2af-18f6-48ba-b8d2-10bbf2aeab8d.svg" alt="Jupyter Notebook" width="50" height="50"/> </a> <a href="https://notepad-plus-plus.org/" target="_blank"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/432a11fb-1ef4-4a81-bb4b-23c048631aa7.png" alt="Notepad++" width="50" height="50"/> </a> </p>

三种主要的数据类型:分类变量、离散变量和连续变量

  1. 分类变量(定性变量):标签数据或不同的组别。 例如:位置、性别、材料类型、支付方式、最高学历
  2. 离散变量(类别数据):数值变量,但数据在任意两个值之间有可数的数值。 例如:客户投诉数量、缺陷数量、每户家庭的子女数量、年龄(年数)
  3. 连续变量(定量变量):在任意两个值之间有无限个数值的数值变量。 例如:零件长度、收到付款的日期和时间、跑步距离、年龄(无限精确且使用无限小数位)

数据使用

  1. "定量数据"可用于所有三种中心测度(平均值、中位数和众数)和所有离散度量。
  2. "类别数据"可用于中位数和众数。
  3. "定性数据"仅用于众数。

两种问题类型:

  1. 分类(预测标签)
  2. 回归(预测数值)

偏差-方差权衡

偏差

  • 偏差是实际值与预测值之间的差异。
  • 偏差是我们的模型对数据做出的简单假设,以便预测新数据。
  • 模型为了使函数更容易学习而做出的假设。

方差

  • 方差与偏差相反。
  • 方差是模型预测对给定数据点的变异性,或者说是告诉我们数据分散程度的值。
  • 如果你在训练数据上训练你的模型并获得了很低的误差,当改变数据后再次训练相同的模型。

过拟合、欠拟合和偏差-方差权衡

过拟合是指模型记住了噪声并过于贴近训练集。良好拟合是指模型学习了训练数据集并能很好地泛化到新的数据集。欠拟合是指模型无法建立数据中的主要趋势;结果导致训练误差增加和模型性能不佳。

过拟合:

过拟合模型是一个在训练数据上表现良好的模型,能够拟合或者接近每个观测值;然而,这个模型抓错了重点,捕捉到了随机噪声。该模型具有低训练误差和高交叉验证误差,低样本内误差和高样本外误差,以及高方差。

  1. 高训练准确率
  2. 低测试准确率

避免过拟合:

  1. 提前停止 - 在模型开始学习噪声之前停止训练。
  2. 增加训练数据 - 添加更多数据将提高模型的准确性或帮助算法更好地检测信号。
  3. 数据增强 - 在训练数据中添加干净和相关的数据。
  4. 特征选择 - 使用数据中的重要特征。移除特征。
  5. 正则化 - 使用诸如L1正则化、Lasso正则化和dropout等正则化方法来减少特征。
  6. 集成方法 - 结合多个独立模型的预测,如bagging和boosting。
  7. 增加训练数据。

良好拟合:

  1. 高训练准确率
  2. 高测试准确率

欠拟合:

欠拟合模型不够完善,因此无法捕捉数据的潜在逻辑。因此,该模型没有强大的预测能力,准确率低。该模型具有大的训练集误差,大的样本内误差,以及高偏差。

  1. 低训练准确率
  2. 低测试准确率

避免欠拟合:

  1. 减少正则化 - 通过对具有较大系数的输入参数施加惩罚来降低模型的方差,如L1正则化、Lasso正则化、dropout等。
  2. 延长训练时间 - 延长训练时间,因为过早停止训练会导致模型欠拟合。
  3. 特征选择 - 如果没有足够的预测特征,那么添加更多特征或更重要的特征将改善模型。
  4. 增加特征数量 - 进行特征工程
  5. 移除数据中的噪声

Python 回顾

第1步到第8步是对Python的回顾。 第8步之后,你需要知道的所有内容都与数据分析、数据工程、数据科学、机器学习和深度学习有关。 这里是Python教程的链接: 股票分析Python教程

股票交易机器学习算法列表

最常见的回归算法

  1. 线性回归模型
  2. 逻辑回归
  3. Lasso回归
  4. 支持向量机
  5. 多项式回归
  6. 逐步回归
  7. 岭回归
  8. 多变量回归算法
  9. 多元回归算法
  10. K均值聚类算法
  11. 朴素贝叶斯分类器算法
  12. 随机森林
  13. 决策树
  14. 最近邻
  15. Lasso回归
  16. ElasticNet回归
  17. 强化学习
  18. 人工智能
  19. 多模态网络
  20. 生物智能

不同类型的机器学习算法和模型

算法是用于解决一类问题的过程和指令集。此外,算法执行计算,如计算、数据处理、自动推理和其他任务。机器学习算法是一种使系统能够从经验中自动学习和改进的方法,无需显式编程。

先决条件

Python 3.5+ Jupyter Notebook Python 3 Windows 7 或 Windows 10

下载软件

https://www.python.org/

<h3 align="left"> 编程语言:</h3> <p align="left"> </a> <a href="https://www.python.org" target="_blank"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/6b67c3a2-e1fa-4a55-b709-c1b37f8d47f3.svg" alt="python" width="80" height="80"/> </a> <h3 align="left">工具:</h3> <p align="left"> </a> <a href="https://anaconda.org/" target="_blank"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/5795ad4f-cb75-4b78-9304-957b83b0e655.png" alt="Anaconda" width="80" height="80"/> </a> <a href="https://www.spyder-ide.org/" target="_blank"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/5b4f3603-2c5f-4a90-b2aa-0e961115b2d7.png" alt="Spyder" width="80" height="80"/> </a> <a href="https://jupyter.org/" target="_blank"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/fda3c2af-18f6-48ba-b8d2-10bbf2aeab8d.svg" alt="Jupyter Notebook" width="80" height="80"/> </a> <a href="https://notepad-plus-plus.org/" target="_blank"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/432a11fb-1ef4-4a81-bb4b-23c048631aa7.png" alt="Notepad++" width="80" height="80"/> </a> <a href="https://www.jetbrains.com/pycharm/" target="_blank"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/cdb1ff65-88f5-4bca-a41e-dabf800b6cac.svg" alt="Notepad++" width="80" height="80"/> </a> </p>

<a href="https://www.buymeacoffee.com/lastancientone"><img src="https://img.buymeacoffee.com/button-api/?text=给我买本书&emoji=📚&slug=lastancientone&button_colour=000000&font_colour=ffffff&font_family=Lato&outline_colour=ffffff&coffee_colour=FFDD00" /></a>

作者

Tin Hang

免责声明

🔻 请勿使用此代码进行股票市场投资或交易。然而,如果你对股票市场感兴趣,你应该阅读与股票市场、投资或金融相关的:books:书籍。另一方面,如果你对量化或机器学习感兴趣,可以阅读有关📘机器交易、算法交易和量化交易的书籍。你应该阅读有关📗机器学习和深度学习的书籍,以理解其概念、理论和数学原理。此外,你还应该阅读学术论文,并在:computer:上对机器学习和深度学习进行在线研究。

代码中的某些部分可能会因特定库包的更新或过时而遇到问题。因此,根据所使用的Python包库,可能需要进行相应的调整。可能需要升级或降级某些库。

🔴 警告:这不是财务建议;不应依赖它进行投资或交易决策,因为它仅用于教育目的。

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多