研究 -- 很多时候,就是证伪
有个想法:
用期货交易数据的 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
研究 -- 很多时候,就是证伪相关推荐
- em模型补缺失值_基于EM算法数据单变量缺失处理方法研究
龙源期刊网 http://www.qikan.com.cn 基于 EM 算法数据单变量缺失处理方法研究 作者:黄铉 来源:<科技传播> 2015 年第 20 期 摘 要 数据分析方法大都针 ...
- UIApplication深入研究
UIApplication深入研究 很多时候,我们不需要关心这个类,我们很少继承这个类,偶尔会调用这个类的api来实现一些功能,但是不可否认,这个类是iOS编程中很重要的一个概念,所以我这里写这个文章 ...
- 看完,感触很多 “IT技术开发人员获得成功的六大步骤”
IT技术开发人士成功的6大步骤 一个前辈在移民加拿大后写的文章,写得不错,值得借鉴,转来给大家看看,也给自己 序言:经过001多年的洗礼,认识了这里这么多的JJMMGGDD,前几天刚得到签证, 无限感 ...
- 选择偏好(Selectional Preference)概念解释及其相关研究
在自然语言处理中,"选择偏好"这个概念非常容易理解.比如下面的例子: a)我吃了一个苹果. b)电脑吃了一串钥匙. 很明显a句子是非常合理的,但b句子就非主流了.对于"吃 ...
- python宏观经济研究应用_宏观经济学研究通常用什么软件?
经济学研究很多时候还是以MATLAB用的较多,当然还要看具体你要干什么事. 楼上说的用Dynare,是解DSGE模型常会用到的,但有些学者认为Dynare就是一个black box,有些时候不太建议用 ...
- 医学影像图像处理若干关键问题的研究——开题报告
经过这段时间的各种找论文,各种复制粘贴,终于搞出来了一篇开题报告.这个论文题目也是几经修改呀,<医学图像处理若干关键技术的研究>到<医学成像技术若干关键问题的研究>,到最后定下 ...
- 医学影像图像处理若干关键问题的研究——开题报告v1.1
一.论文选题依据(包括本课题国内外研究现状述评,研究的理论与实际意义,对科技.经济和社会发展的作用等) 医学影像技术的发展历史可追溯到1895 年德国物理学家伦琴发现了X 射线并把它用于医学诊断.从而 ...
- 数字图像处理的研究方法
数字图像处理是近年来电子.通讯和计算机等领域的热门研究领域,其在科研.经济.军事.娱乐等等国计民生的各个领域都具有非常广阔的应用前景.数字图像处理处是一门交叉学科,涉及数学.计算机.电子.通讯.物理等 ...
- 船舶领域研究综述(截至2018)
写在前面:本文是基于Rafal Szlapczynski, Joanna Szlapczynska在<Ocean engineering>上发表的Review of ship safety ...
- [论文阅读] (30)李沐老师视频学习——3.研究的艺术·讲好故事和论点
<娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...
最新文章
- xilinx的FPGA动态局部重配置(DPR)
- 一道笔试题--求二进制数1的个数
- P5110-块速递推【特征方程,分块】
- 第五章 应用程序主窗口
- mp3播放程序c语言,Go语言音乐播放器
- 20145321 《Java程序设计》第4周学习总结
- CSS图片裁剪Clip
- Android技术分享| 超简单!给 Android WebRTC增加美颜滤镜功能
- nginx配置实现代理多个内网地址
- Hortonworks的开源框架SHC的使用(一)
- 0606关于mysql优化原理
- 计算机应用情话,情话大全浪漫情话 最美的情话莫过于我也爱你
- 数据结构学习:哈希表
- EXCEL VLOOKUP用中文匹配出错
- python opencv imshow可以显示,但是imwrite却黑乎乎
- 机械革命深海幽灵z2学习电脑系统史
- 读书感受 之 《冰与火之歌》
- Android实现图片浏览功能(图片器原理实现)
- SEO网站诊断所要考虑的方面大全
- php cakephp like,CakePHP