金融时刻序列猜测办法合集:CNN、LSTM、随机森林、ARMA猜测股票价格(适用于时序问题)、类似度核算、各类评判目标绘图(数学建模科研适用)

1.运用CNN模型猜测未来一天的股价涨跌-CNN(卷积神经网络)

运用CNN模型猜测未来一天的股价涨跌

数据介绍

open 开盘价;close 收盘价;high 最高价

low 最低价;volume 交易量;label 涨/跌

练习规划

特征数量5;天数5 = 5 5

卷积进程

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

最大池化进程

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

代码流程

  1. 获取股票数据
  2. 数据归一化
  3. 数据预处理(区分成55)
  4. 数据集切割(练习集和测验集)
  5. 界说卷积神经网络
  6. 点评猜测模型

模型架构

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

码源链接见文末跳转

文末链接跳转

2.根据LSTM猜测股票价格(长短期回忆神经网络)

根据LSTM猜测股票价格(简易版)

数据集:

沪深300数据

数据特征:

只选用原始数据特征(开盘价、收盘价、最高价、最低价、交易量)

时刻窗口:

15天

代码流程:

读取数据->生成标签(下一天收盘价)->切割数据集->LSTM模型猜测->可视化->猜测成果点评

LSTM网络结构:

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

函数介绍:

1、generate_label 生成标签(下一天收盘价)

2、generate_model_data 切割数据集

3、evaluate 成果点评

4、lstm_model LSTM猜测模型

5、main 主函数(含可视化)

可视化输出:

练习集测验集拟合效果:

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

点评目标:

1、RMSE:55.93668241713906

2、MAE:44.51361108752264

3、MAPE:1.3418267677320612

4、AMAPE:1.3420384401412058

3.根据随机森林猜测股票未来第d+k天比较于第d天的涨/跌Random-Forest(随机森林)

根据随机森林猜测股票未来第d+k天比较于第d天的涨/跌(简易版)

参阅论文:Predicting the direction of stock market prices using random forest

论文流程:

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

算法流程:

获取金融数据->指数滑润->核算技术目标->数据归一化->随机森林模型猜测

函数介绍:

1、get_stock_data 经过Tushare获取原始股票数据

2、exponential_smoothing、em_stock_data 股票指数滑润处理

3、calc_technical_indicators 核算常用的技术目标

4、normalization 数据归一化处理并切割数据集

5、random_forest_model 随机森林模型并返回准确率和特征排名

决策树:

(1)ID3: 根据信息增益大的数据特征区分层次

(2)C4.5: 根据信息增益比=信息增益/特征熵区分层次

(3)CART: 根据Gini区分层次

根据Bagging集成学习算法,有多棵决策树组成(通常是CART决策树),其主要特性有:

(1)样本和特征随机采样

(2)适用于数据维度大的数据集

(3)对反常样本点不灵敏

(4)能够并行练习(决策树间独立同分布)

算法输出:

注意:算法仅用于参阅学习沟通,因为是研一时期独立编写(以后或许进一步完善),所揭露的代码并非满足完善和严谨,如以下问题:

  1. 模型触及参数未寻优(可考虑网格查找、随机查找、贝叶斯优化)

    1. 指数滑润因子

    2. 随机森林模型树数量、决策树深度、叶子节点最小样本数等

    3. 未来第k天的选择

    4. 归一化办法

  2. 随机森林模型其实本身不需求数据归一化(如算法对数据集进行归一化也需求考虑对练习集、验证集、测验集独立归一化)

  3. 股票猜测考虑的数据特征:

    1. 原始数据特征(open/close/high/low)

    2. 技术目标(Technical indicator)

    3. 企业揭露公告信息

    4. 企业未来规划

    5. 企业年度报表

    6. 社会舆论

    7. 股民情绪

    8. 国家方针

    9. 股票间影响等

4.模型输出成果

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

5.随机森林参数优化参阅表

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

4.根据ARMA猜测股票价格-ARMA(自回归滑动平均模型)

根据ARMA猜测股票价格(5分钟数据)

1.检测数据平稳化

2.差分/对数等数据处理

3.运用ARMA模型猜测

备注:部分代码参阅网络资源

5.金融时刻序列类似度核算

5.1.皮尔逊相关系数( pearson_correlation_coefficient)

1.1 因为不同股票价格范围间隔过大,在进行股票时刻序列类似度匹配进程中通常考虑对数差处理,其公式如下所示:

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

1.2经过对数差处理后的金融时刻序列可表示:

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

1.3皮尔逊相关系数核算公式:

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

1.4成果

1.4.1相关性较强

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

1.4.2相关性较弱

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

5.2.动态时刻规整(dynamic_time_wrapping)

2.1 核算两个金融时刻序列的时刻点对应数据的欧氏间隔

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

2.2 更新时刻点对应数据的间隔

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

2.3 动态时刻规整间隔

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

2.4 伪代码

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

2.5 动态时刻规整间隔输出图举例

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

2.6 动态时刻规整最优匹配对齐

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

2.7成果

2.7.1动态时刻规整间隔较短

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

2.7.1动态时刻规整间隔较长

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

5.3.余弦类似度(cosine similarity)

6.金融时刻序列(其他)

6.1.核算特征方差(calc_variance.py)

open 161211.21669504658
close 161415.73886306392
high 166077.6958545937
low 156622.3645795179
......

6.2.制作混杂矩阵(confuse_matrix.py)

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

6.3.特征间相关性(corr.py)

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

6.4.制作猜测模型性能——柱状图(result_bar.py)

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

6.5.制作猜测模型性能——折线图(result_plot.py)

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

6.6.类似金融时刻序列制作(similarity_time_series.py)

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

6.7.核算分类的点评目标(evaluation.py)

(1)准确率Accuracy

(2)准确率Precision

(3)召回率Recall

(4)特异度Specificity

(5)归纳点评目标F-measure

(6)马修斯相关系数MCC(Matthews Correlation Coefficient)

6.8.窗口数据归一化(normalization.py)

(1)z-score标准化(std)

(2)最大最小归一化(maxmin)

6.9.股票数据下载(download.py)

(1)tushare接口

(2)JQdata接口

6.10.roc曲线制作(roc.py)

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

6.11.混杂矩阵制作(confusion_matrix.py)

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

6.12.卡尔曼滤波(kalmanfilter.py)

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

6.13.蜡烛图 (candle.py)

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

码源链接见文末跳转

文末链接跳转

更多优质内容请关注公号&知乎:汀丶人工智能;会供给一些相关的资源和优质文章,免费获取阅读。

金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)