股票预测神经网络和机器学习示例(Python)
目录:
简单示例
为那些希望学习新的股票预测技术的人提供简单的机器学习和神经网络方法。这些示例旨在易于理解,并突出每种方法的基本组成部分。示例还展示了如何在当前数据上运行模型以获得股票预测。
机器学习示例:
- 遗传算法
- 梯度提升
- K均值聚类
- 逻辑回归
- 随机森林
- 支持向量机(SVM)
神经网络示例:
- 前馈神经网络(FFNN)
- 长短期记忆网络(LSTM)
- 循环神经网络(RNN)
神经网络库示例:
- Keras
- Lightning
- PyTorch
- Tensorflow
超参数优化
设计用于轻松配置要探索的超参数值。 多线程处理以实现快速运行时间。
- 代码位于
hyperparameter_tuning
中 - 根据需要编辑
config.py
- 运行
hyper_main.py
探索的超参数
以下是我们目前搜索的超参数:
- 学习率:在向损失函数最小值移动时每次迭代的步长。
- 最大周期数:学习算法将遍历整个训练数据集的最大次数。
- 批量大小:一次迭代中使用的训练样本数。
- 隐藏层:神经网络的架构,包括层数和节点数。
- 损失函数:确定网络预测与实际数据之间的差异。
- 激活函数:用于向网络引入非线性的函数。
- 优化器:用于改变神经网络属性(如权重)以减少损失的算法或方法。
- dropout:一种正则化方法,在训练期间概率性地排除输入和循环连接到某一层。
- L1正则化:为非零系数添加惩罚。
- L2正则化:为较大的系数值添加惩罚。
- 权重初始化:设置神经网络层初始随机权重的方法。
超参数说明请参阅:超参数调优
入门指南
- 克隆此仓库。
- 导航到项目目录。
- 安装必要的库:
pip install -r requirements.txt
从D.AT示例数据下载免费股票数据,
并将example_data
目录保存到此项目文件夹中。
然后,运行simple_examples
中的任何脚本
关于示例股票数据
此代码可以使用D.AT示例数据中提供的示例股票数据运行。
example_data
中提供的数据是可在D.AT示例数据下载的示例。
该数据集包含了标准普尔500指数成分公司5年的价格数据,每30个交易日分为一个区间。每个区间内的数据已使用一种方法进行了归一化,即将值除以该区间内最近的数据点。数据集中的每一行代表一个特定的区间,提供了特定交易日可用的股票数据快照。行被标记以指示股票在随后的10个交易日内是否至少有5%的收益。
train.csv
:包含5年中前4年的数据。test.csv
:包含5年中最后一年的数据。latest.csv
:此文件包含所有上市股票最近交易日的数据。虽然它缺少标签(因为这些涉及未来事件),但每行保持与train
和test
文件中相同的特征向量结构。每行以股票代码开始,作为识别有望表现良好的股票的关键工具。
获取新数据
可以在D.AT免费下载可定制不同交易策略和特征工程选项的最新数据。