飞飞股票网飞飞股票网

飞飞股票网
波克城市股票代码,代码详解:以股票预测为例,揭秘时间序列预测

波克城市股票代码,代码详解:以股票预测为例,揭秘时间序列预测

引:

代码详解:以股票预测为例,揭秘时间序列预测

代码0、3、6开头的股票各应该看什么指数来操作?

用Python,tushare做一个A股每日收盘行情监测分析(含源代码)

代码详解:以股票预测为例,揭秘时间序列预测

全文共4109字,预计学习时长8分钟

  从在线API中提取股票价格数据,使用配备有TensorFlow.js框架的递归神经网络和长期短期记忆(LSTM)执行预测。

  机器学习近年来深受欢迎,越来越多的人把它当作一个能够预测未来时间和特定事件的神奇水晶球。该实验使用人工神经网络揭示股市走势,揭示了使用过去的历史数据来预测未来股票价格的能力,即时间序列预测能力。

  注意!!!由于多重因素,股票市场波动不断变化且不可预测。该实验完全基于教学目的,切不可当作交易预测的工具。

项目演练

该项目演练分为4个部分:

1.从在线API提取股票数据

2.计算给定时间窗口的简单移动平均值

3.训练LSTM神经网络

4.预测并比较预测值与实际值

获取股票数据

API会生成以下字段:

-开放价格

-当天的最高价

-当天的最低价

-收盘价(仅限本项目)

-交易量

  为准备神经网络的训练数据集,将使用收盘股票价格。这也意味着本次的目标是预测未来的收盘价。

  此图显示了20年以来MicrosoftCorporation每周收盘价。

简单移动平均线

  本次实验将使用监督学习,这意味着将数据输送到神经网络,并通过把输入数据映射到输出标签来进行学习。准备训练数据集的一种方法是从该时间序列数据中提取移动平均值。

  简单移动平均线(SMA):该方法可以通过查看该时间窗内所有值的平均值识别特定时间段的趋势方向。该时间窗口的价格数量根据实验需要进行选择。

  例如,假设过去5天的收盘价是13,15,14,16,17,SMA将是(13+15+14+16+17)5=15.所以输入的训练数据集即为单个时间窗口内的价格集,其标签值为这些价格的计算移动平均值。

  计算一下微软公司每周收盘价数据的SMA,窗口大小为50。

  以上即为得到的结果,每周股票收盘价为蓝色,SMA为橙色。因为SMA是50周的移动平均线,所以它比每周价格更平滑,每周价格可能会波动。

  此图是MicrosoftCorporation将价格数据收盘至实际收盘价的简单移动平均线。

数据训练

  可以使用每周股票价格和计算得出的SMA来准备数据训练。鉴于窗口大小为50,这意味着将使用连续50周的收盘价作为训练功能(X),并将这50周的SMA作为培训标签(Y)。

  接下来,将数据分为2组,即训练集和验证集。如果70%的数据用于培训,则30%的数据用于验证。如果API返回大约1000周的数据,则700周的数据用于培训,300周的数据用于有效性验证。

列车神经网络

  现在数据训练已准备就绪,可以为时间序列预测创建一个模型。为实现这个目的,将使用TensorFlow.js框架。TensorFlow.js是一个用JavaScript开发和训练机器学习模型的库,可以在Web浏览器中部署这些机器学习该功能。

  选择顺序模型,简单地连接每个层,并在训练过程中将数据从输入传递到输出。为了使模型学习顺序的时间序列数据,创建递归神经网络(RNN)层并且将多个LSTM单元添加到RNN。

  该模型将使用Adam(研究论文)进行训练,这是一种流行的机器学习优化算法。均方根误差将决定预测值与实际值之间的差异,因此模型能够通过最小化训练过程中的误差进行学习。

下面是上述模型的代码片段。

  return{model:model,stats:hist};}这些是可用于在前端进行调整的超参数(在训练过程中使用的参数):

  -数据训练集大小(%):用于训练的数据量,剩余数据将用于验证

  -次数:数据集用于训练模型的次数(了解更多)

  -学习率:每个步骤中训练期间的权重变化量(了解更多)

  -隐藏的LSTM图层:增加模型的复杂性,以便学习

单击“开始训练模型”按钮…

该模型大概在进行了15次之后交汇于一点。

验证

  现在模型已经过训练,可以用来预测未来值,在此情况中,模型是一条移动的平均线。我们将使用TFJSmodel.predict函数。

  把数据分为2组,培训集和验证集。训练集已用于训练模型,因此将使用验证集来验证模型。由于模型没有看到验证数据集,因此如果模型能够预测近似的真实值,那效果更好。

  因此,使用剩余的数据进行预测,这样就可以比较预测值与实际值。

该图中的绿线是对数据验证的预测。

  可以看出,模型预测(绿线)紧密重合实际价格(蓝线)。这意味着该模型能够预测模型未预见的最后30%的数据。

  可以应用其他算法并使用均方根误差来比较两个或更多模型的性能。

预测

  最后,模型已经过验证,预测值与其真实值紧密相关,可以预测未来的数据。将该模型应用于相同的model.predict函数,并使用最后50个数据点作为输入,因为窗口大小为50。由于训练数据每天递增,可以使用过去50天的数据点作为输入,以预测第51天的数据。

  此图可见最近50天的数据,即测试数据(蓝线)和预测值(橙色)。

结论

  除了使用简单的移动平均线之外,还有很多方法可以进行时间序列预测。未来可能使用更多不同源头的数据来实现预测。

  使用TensorFlow.js可以在Web浏览器上进行机器学习,这十分神奇。

我们一起分享AI学习与发展的干货

编译组:黄雪娇、李林虹

相关链接:

如需转载,请后台留言,遵守转载规范

代码0、3、6开头的股票各应该看什么指数来操作?

3开头是创业板的代码。

6开头是沪市A股的代码。

0开头是深市A股的代码或中小板的代码。

股票代码用数字表示股票的不同含义。

  不管什么股票,都是看趋势的,短线的话,日线上涨调整,看15分钟下跌趋势扭转来进行操作。中线的话,看周期趋势,下跌过程中反弹过前高,有双底结构的更好,根据日线下跌趋势扭转进场操作。

  以上,仅供参考,不作为投资建议,量子战法。

用Python,tushare做一个A股每日收盘行情监测分析(含源代码)

  灵感:对于交易者来说,每日收盘分析是一件必要的功课。现在的看盘软件种类很多,已经有很多整理好的数据,但是对于高阶玩家,可能需要更多自定义化的功能,做出自己的每日分析报表。那我们何不尝试用Python做一个?

先上结果:

  好了,接下来就开始讲解下实现的方法和步骤。

开发环境IDE:Pycharm

编程语言:Python3.6

必要包:tushare,pandas

解题思路拆解:

1.如何获取每天的收盘数据?

2.如何对每天的收盘数据进行分析?

解题过程:

1.如何获取每天的收盘数据?

----他山之石可以攻玉。

1如果有万得这种软件的朋友,可以自己从万得导出。

2)可以尝试编写爬虫从网易财经的股票频道抓取数据。

3)直接使用tushare包的api,提取数据

今天就来讲解第三种方法。

  Tushare金融大数据社区安装方法请参考

  刀客特鹿:Pyhton的package包安装方法tushare有很多获取数据的api可以很方便地直接调用,而我们只需要用到里面几个api就够用了,当然有兴趣的同学,可以把官网上的端口全部都自己尝试下。

第一个要用到的api:

  get_today_all#获取所有股票的前一日的收盘行情

第二个要用到的api

  get_stock_basics#获取股票当前的基本信息

  有了这两个数据,就可以获取前一收盘日,或者今天收盘后的股票信息了。

源代码如下:

#指定自己要存放文件的绝对路径

#从tushare获取指定日期

#先获得所有股票的收盘数据

#获得所有股票的基本信息

#保存数据

  每天的收盘数据都可以保存下来,也方便也厚再分析

打开效果如下

2.如何对每天的收盘数据进行分析?

  这一步只要用到我们的pandas就可以了,菜有了,具体是清蒸?红烧?还是蒜烤?还要看各位的喜好。

  比如我想看每天收盘的涨跌情况,涨跌停的分析,寻找行业动因等。

简单的数量统计

涨停股票按行业分类

跌停股票按行业分类

整体A股的行业涨跌情况

按交易所分类:

涨停股票按区域分类:

跌停股票按区域分类:

A股整体涨跌按区域分类:

源代码如下:

#====龙虎榜数据

#读取TDX的每日股票数据

  df['code']=df['code'].astypestr#转化成str后,NAN也变成nanstr格式

#添加交易所列

#找出上涨的股票

#走平股数

#找出下跌的股票

#找出涨停的股票

  #涨停股数中的未封板股,上市日期小于15天

#涨停股数中次新股,上市日期小于1年

  #涨停股数中的未封板股,上市日期小于15天

#涨停股数中次新股,上市日期小于1年

  print'A股上涨个数:%d,A股下跌个数:%d,A股走平个数:%d。'%df_up.shape[0],df_down.shape[0],df_even.shape[0]

  print'A股总成交额:%d,总成交量:%d'%df['amount'].sum,df['volume'].sum

  print'A股平均市盈率:%.2f,平均流通市值%.2f亿,平均总市值%.2f亿'%df['pe'].mean,df['nmc'].mean,df['mktcap'].mean

  print'涨停数量:%d个,涨停中上市日期小于15天的:%d,涨停中上市日期小于1年的:%d'%limit_up.shape[0],limit_up_new.shape[0],limit_up_fresh.shape[0]

  print'跌停数量:%d个,涨停中上市日期小于15天的:%d,涨停中上市日期小于1年的:%d'%limit_down.shape[0],limit_down_new.shape[0],limit_down_fresh.shape[0]

#获取指定列的分析统计结果

#对涨停的股票分析

#对跌停的股票分析

#对全量的股票分析

  当然,以上的统计都还是很初步的,但是你有了这个框架,完全可以自由发挥~做出你自己的每日行情分析总结~。对于初学者来说,可能还是不太能轻易理解以上所有代码~

  Tushare金融大数据社区可以从我推荐的课程开始学习,教会零基础的你掌握python,pandas,甚至做出自己的股票回撤框架。课程的详细介绍:

  刀客特鹿:量化交易学习笔记#Python量化入门课程(第零课)零基础的预备课

飞飞股票网
上一篇: 互联网市值排行,今年 互联网企业市值排名榜,十年互联网公司争雄史
下一篇: 美亚柏科股票代码,怎样看待美亚柏科被国投集团控投,变为国营企业之后也有发展趋势室内空间吗?
留言与评论(共有 条评论)

   
验证码:
隐藏边栏