有个想法:
用期货交易数据的 10个tik 信息,去检验3分钟后,价格波动是否有关系。  或者说神经网络能否识别。

结果:
花了两天时间,写代码,提取数据, 写网络模型, 训练。
证明结果:
1.网络模型不能有效识别 10个tik中的潜在的特征,并作出有效判断。 
2.或者说  3分钟后的结果,与10个tik中的特征 是无关的。

代码(数据提取):

# encoding: UTF-8import pandas as pd
import numpy as np
import  time
import os
import sys
import copyfile = '/home/hylas/dev/data/ru05_20171208.csv'# file ='d:/test/ru09_20171219.csv'# 本程序主要功能就是生成 tik10x3miny    X,y 数据用于网络预测,  每天的数据提出出X,y 保存到 .h5 文件
#  两组数据, 一组是  5tik , 3分钟后的dim 做为 Y  , dim >=10 为0, <=-10 为1, 其它过滤
#             一组是 10tik , 3分钟后的dim 做为 Y 同上# tik 定义  [index, price, vol, amount, bidprice, bvol, askprice,askvol, openvol, closevol, ,type1,type2 ]
# X 定义   tik x5   or  tik x10
# Y 定义   dim >=10 为0, <=-10 为1, 其它过滤class tik10x3min():srcpath = Noneresultpath ='./temp/'tikcount=0tiklist=[]#tiklist_df = NoneXy_file =[]curFile = NoneXdata=Noneydata=Nonedef __init__(self):passdef initData(self):self.tikcount = 0self.tiklist = []self.yDimList =[]self.Xdata = Noneself.ydata = Noneself.Xy_file = []self.curFile = Nonepass#   0     1       2    3        4        5     6         7      8         9         10      11# [index, price, vol, amount, bidprice, bvol, askprice, askvol, openvol, closevol,, type1, type2]#计算  openvol, closevol,, type1, type2def satype(self,lasttik, curtik ):#newtik = copy.deepcopy( curtik )if( curtik[1] >=  lasttik[6]) :curtik[10] = 1if (curtik[1] <= lasttik[4]):curtik[10] = -1curtik[8]  =   (curtik[2] + curtik[3] )/2curtik[9] = (curtik[2] - curtik[3]) / 2if( curtik[8] == 0 ): #双平curtik[11] = 1if( 0 == curtik[9] ): #双开curtik[11] = 2if( curtik[10] == 1 and  curtik[8] > curtik[9] ): #多开curtik[11] = 3if( curtik[10] == 1 and  curtik[8] < curtik[9] ): #空平curtik[11] = 4if( curtik[10] == 1 and  curtik[8] == curtik[9] ): #多换curtik[11] = 5if( curtik[10] == -1 and  curtik[8] > curtik[9] ): #空开curtik[11] = 6if( curtik[10] == -1 and  curtik[8] < curtik[9] ): #多平curtik[11] = 7if( curtik[10] == -1 and  curtik[8] == curtik[9] ): #空换curtik[11] = 8return curtikpassdef dotik(self,tik):passdef dotiklist( self ):data = np.array( self.tiklist )print data.shapeprint 'for tiklist: 'for i in range(10, data.shape[0]  ):y = self.yDimList[i]if( y>-10 and  y <10 ):continue#print y#print yy = y/abs(y)x_data_rc = self.tiklist[ i-10:i ]x_data_rc = np.array( x_data_rc )lastprice = self.tiklist[ i ][1]#print x_data_rcopNumber = np.array([ 0,lastprice,0,0,lastprice,0,lastprice,0,0,0,0,0 ], dtype=int)x_data_rc = x_data_rc - opNumber#print x_data_rcx_data_rc = x_data_rc.reshape( x_data_rc.shape[0]*x_data_rc.shape[1] )#print x_data_rc#self.Xdata.append( x_data_rc.tolist() )#self.ydata.append( [y] )y_data_rc = np.array( [y] )if(self.Xdata is None):self.Xdata = x_data_rc #np.array( x_data_rc.tolist()  )self.ydata = y_data_rcelse:self.Xdata =  np.vstack((self.Xdata , x_data_rc))self.ydata = np.vstack((self.ydata,  y_data_rc  ))passif(self.Xdata is None):return print  self.Xdata.shapeprint  self.ydata.shapeprint self.Xdata[0:10]print self.ydata[0:20]passdef dofile(self, file):self.initData()#self.bsM.init()try:df = pd.read_csv(file, header=0, encoding='gbk')except Exception, e:returnself.curFile = fileself.tiklist_df = dfdata = np.array(df)print data.shapeprint 'for file: 'for i in range(1, data.shape[0] - 360 ):lasttik = [i-1,data[i-1, 3], data[i-1, 5], data[i-1, 7], data[i-1, 8],data[i-1, 9],data[i-1, 10],data[i-1, 11], 0, 0, 0, 0 ]curtik = [i,data[i, 3], data[i, 5], data[i, 7], data[i, 8],data[i, 9],data[i, 10],data[i, 11],0,0,0,0 ]curtik = self.satype(lasttik, curtik )self.tiklist.append(  curtik )self.yDimList.append(  (data[i+360, 3]  -  data[i, 3] )   /5  )#self.dotik(tik)#[index, price, vol, amount, bidprice, bvol, askprice, askvol, openvol, closevol,, type1, type2]passself.dotiklist()if(self.Xdata is None):return #保存到文件srcfile = os.path.basename( file )fileflag = srcfile[0:-4]destFile = self.resultpath + 'tik10x3min_X_'+ fileflag+'.h5'df = pd.DataFrame( self.Xdata )  # X.reshape( X.shape[0], 120*120   )print destFiledf.to_hdf(destFile, 'data')df = pd.DataFrame(self.ydata)df.to_hdf(destFile, 'label')self.Xy_file.append( destFile )def setPath(self,srcpath, resultpath):self.srcpath = srcpathself.resultpath = resultpathpassdef dopath(self, srcpath, resultpath ):self.setPath(  srcpath, resultpath)rootdir = srcpathlist = os.listdir(rootdir)  # 列出文件夹下所有的目录与文件for i in range(0, len(list)):print ('%d / %d' % (i, len(list)))path = os.path.join(rootdir, list[i])if os.path.isfile(path) == False:continue# 你想对文件的操作print pathself.dofile( path )passxy_df = pd.DataFrame( self.Xy_file  )xy_df.to_csv( resultpath +'data.txt')passdef test():data = [ [1,2,3],[4,5,6],[7,8,9] ]xdata = np.array( data  )print xdataa2 = np.array([1, 1, 3], dtype=int)xdata = xdata - a2print xdatapassif __name__ == "__main__":sys_code_type = sys.getfilesystemencoding()test()model = tik10x3min()#model.dofile( file )# /home/hylas/dev/data/ru/20171205#model.dopath('/home/hylas/dev/data/ru/20171205/', './temp/')#model.dopath('/home/hylas/dev/data2/futuretik/ru/ru2015/', '/home/hylas/dev/data2/futuretik/ru/goodmin/ru2015X_goodmin_tik/')model.dopath('/home/hylas/dev/data2/futuretik/ru/ru2015/','/home/hylas/dev/data2/futuretik/ru/tik10x3min/')# /home/hylas/dev/data2/futuretik/ru/goodmin/ru2017#model.dopath('D:/test/rufile/','D:/test/result/')

代码(网络训练):

# encoding: UTF-8from sklearn.datasets import fetch_mldata
import pandas as pd
import numpy as np
import  timeimport sys
sys.path.append("/home/hylas/dev/py/project/lib/hyNN/")
#sys.path.append("../../lib/hyNN/")
#sys.path.append("..")
import tool
from tool.dataxdo import *
from tool.dfdo import *
from tool.datadraw import *
from tool.imgdo import *from ML.CNN import *
from ML.MLP import *
from ML.LSTMer import *#sys.path.append("/home/hylas/dev/py/project/lib/")
#import common
#from common.bsMonitor import *import os
import sys
from sklearn import datasets
from keras.utils import np_utils#读取文件, 形成X,y
#把X,y 放到 MLP   LS他M 里面识别class runTik10x3miny():X = Noney = Nonedef __init__(self):print 'runTik10x3miny init'passdef dofile(self, path):df_X = pd.read_hdf(path, 'data')df_y = pd.read_hdf(path, 'label')#print df_ydf_y[[0]] = df_y[[0]].astype(int)df_y[0] = df_y[0].map({ -1:0,1:1 })#print df_X[0:100]#print df_ynpX = np.array(df_X)npY = np.array(df_y)if(self.X is None ):self.X = npXself.y = npYelse:if( self.X.shape[1] != npX.shape[1] ):print ' self.X.shape[1] != npX.shape[1]  'print self.X.shape[1], npX.shape[1]returnpassself.X = np.vstack((self.X , npX ))self.y = np.vstack((self.y,  npY ))passdef loadXyFromDiskPath(self, datapath ):rootdir = datapathlist = os.listdir(rootdir)  # 列出文件夹下所有的目录与文件for i in range(0, len(list)):print ('%d / %d' % (i, len(list)))path = os.path.join(rootdir, list[i])if os.path.isfile(path) == False:continuefileEx = path[-3:]#print fileExif( '.h5' != fileEx ):continue# 你想对文件的操作print pathself.dofile( path )#breakpasspassreturn self.X, self.ydef makedata(self):destFile = '/home/hylas/dev/data2/futuretik/ru/modeh5data/tik10x3miny.h5'if (os.path.exists(destFile) == True  ):X = pd.read_hdf(destFile, 'data')y = pd.read_hdf(destFile, 'label')X = np.array(X)y = np.array(y)#X.reshape(X.shape[0], 120 , 120, 1)else:dd = dfdo()X, y = self.loadXyFromDiskPath('/home/hylas/dev/data2/futuretik/ru/tik10x3min/')print  y[0:100]y =  np_utils.to_categorical(y, num_classes=2)X, y = dd.datadengfen(X, y)df = pd.DataFrame( X )  #X.reshape( X.shape[0], 120*120   )df.to_hdf(destFile, 'data')df = pd.DataFrame(y)df.to_hdf(destFile, 'label')return X,ypassdef do(self ):model = MLP()X,y = self.makedata()print X.shapeprint y.shapeprint X[0:10]print y[0:10]#X = X.reshape( X.shape[0], 120*120   )
        model.simple_result(X,y)#model.simple_result(X, y, input_dim=(120, 120, 1), nClass=2)passdef do2(self ):model = LSTMer()X,y = self.makedata()print X.shapeprint y.shapeprint X[0:10]print y[0:10]#X = X.reshape( X.shape[0], 120*120   )model.simple_result(X,y,timesteps =10, data_dim=12)#model.simple_result(X, y, input_dim=(120, 120, 1), nClass=2)passif __name__ == "__main__":sys_code_type = sys.getfilesystemencoding()run = runTik10x3miny()run.do()

训练结果:

1263074/1263074 [==============================] - 22s - loss: 0.6923 - acc: 0.5092 - val_loss: 0.6924 - val_acc: 0.5133
Epoch 67/68
1263074/1263074 [==============================] - 22s - loss: 0.6924 - acc: 0.5097 - val_loss: 0.6924 - val_acc: 0.5117
Epoch 68/68
1263074/1263074 [==============================] - 22s - loss: 0.6923 - acc: 0.5093 - val_loss: 0.6921 - val_acc: 0.5102
evaluate acc:
150144/155936 [===========================>..] - ETA: 0s[0.6920651392649998, 0.50743253642520003]

欢迎讨论(QQ群):   375129936

转载于:https://www.cnblogs.com/xiaoxuebiye/p/8315622.html

研究 -- 很多时候,就是证伪相关推荐

  1. em模型补缺失值_基于EM算法数据单变量缺失处理方法研究

    龙源期刊网 http://www.qikan.com.cn 基于 EM 算法数据单变量缺失处理方法研究 作者:黄铉 来源:<科技传播> 2015 年第 20 期 摘 要 数据分析方法大都针 ...

  2. UIApplication深入研究

    UIApplication深入研究 很多时候,我们不需要关心这个类,我们很少继承这个类,偶尔会调用这个类的api来实现一些功能,但是不可否认,这个类是iOS编程中很重要的一个概念,所以我这里写这个文章 ...

  3. 看完,感触很多 “IT技术开发人员获得成功的六大步骤”

    IT技术开发人士成功的6大步骤 一个前辈在移民加拿大后写的文章,写得不错,值得借鉴,转来给大家看看,也给自己 序言:经过001多年的洗礼,认识了这里这么多的JJMMGGDD,前几天刚得到签证, 无限感 ...

  4. 选择偏好(Selectional Preference)概念解释及其相关研究

    在自然语言处理中,"选择偏好"这个概念非常容易理解.比如下面的例子: a)我吃了一个苹果. b)电脑吃了一串钥匙. 很明显a句子是非常合理的,但b句子就非主流了.对于"吃 ...

  5. python宏观经济研究应用_宏观经济学研究通常用什么软件?

    经济学研究很多时候还是以MATLAB用的较多,当然还要看具体你要干什么事. 楼上说的用Dynare,是解DSGE模型常会用到的,但有些学者认为Dynare就是一个black box,有些时候不太建议用 ...

  6. 医学影像图像处理若干关键问题的研究——开题报告

    经过这段时间的各种找论文,各种复制粘贴,终于搞出来了一篇开题报告.这个论文题目也是几经修改呀,<医学图像处理若干关键技术的研究>到<医学成像技术若干关键问题的研究>,到最后定下 ...

  7. 医学影像图像处理若干关键问题的研究——开题报告v1.1

    一.论文选题依据(包括本课题国内外研究现状述评,研究的理论与实际意义,对科技.经济和社会发展的作用等) 医学影像技术的发展历史可追溯到1895 年德国物理学家伦琴发现了X 射线并把它用于医学诊断.从而 ...

  8. 数字图像处理的研究方法

    数字图像处理是近年来电子.通讯和计算机等领域的热门研究领域,其在科研.经济.军事.娱乐等等国计民生的各个领域都具有非常广阔的应用前景.数字图像处理处是一门交叉学科,涉及数学.计算机.电子.通讯.物理等 ...

  9. 船舶领域研究综述(截至2018)

    写在前面:本文是基于Rafal Szlapczynski, Joanna Szlapczynska在<Ocean engineering>上发表的Review of ship safety ...

  10. [论文阅读] (30)李沐老师视频学习——3.研究的艺术·讲好故事和论点

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

最新文章

  1. xilinx的FPGA动态局部重配置(DPR)
  2. 一道笔试题--求二进制数1的个数
  3. P5110-块速递推【特征方程,分块】
  4. 第五章 应用程序主窗口
  5. mp3播放程序c语言,Go语言音乐播放器
  6. 20145321 《Java程序设计》第4周学习总结
  7. CSS图片裁剪Clip
  8. Android技术分享| 超简单!给 Android WebRTC增加美颜滤镜功能
  9. nginx配置实现代理多个内网地址
  10. Hortonworks的开源框架SHC的使用(一)
  11. 0606关于mysql优化原理
  12. 计算机应用情话,情话大全浪漫情话 最美的情话莫过于我也爱你
  13. 数据结构学习:哈希表
  14. EXCEL VLOOKUP用中文匹配出错
  15. python opencv imshow可以显示,但是imwrite却黑乎乎
  16. 机械革命深海幽灵z2学习电脑系统史
  17. 读书感受 之 《冰与火之歌》
  18. Android实现图片浏览功能(图片器原理实现)
  19. SEO网站诊断所要考虑的方面大全
  20. php cakephp like,CakePHP

热门文章

  1. MD5加密算法特点及简单实现(Java)
  2. 【新书推荐】【2019】电磁理论和等离子体电子学的工程师手册
  3. 谷歌浏览器怎么长截图怎么截_Google浏览器如何截取网页长图 - 里维斯社
  4. 0-50A集成式霍尔电流传感器应用案例分享
  5. 聚类-KMeans算法(图解算法原理)
  6. Arduino字符串操作函数
  7. PHPCMS 前台模板集合
  8. element ui 前台模板_element-ui 菜单模板封装(递归)
  9. laravel实战项目之管理员表设计
  10. VOIP Codec 三剑客之 ISAC/ILBC -- ISAC (1) 介绍