从零开始用人工智能预测股票(三、初步实现)

在数据加工好以后,我们用TensorFlow做简单的预测。

按之前的做法去读取并加载数据

    data,date= dp.readData()train,test,trainLables,testLabels= dp.normalization(data)

然后添加变量和参数

    x = tf.placeholder("float",[None,109])w = tf.Variable(tf.random_normal([109,21]))b = tf.Variable(tf.random_normal([21]))y = tf.nn.softmax(tf.matmul(x,w)+b)y_ = tf.placeholder("float",[None,21])
损失函数为交叉熵,y+1e-9为了保证交叉熵不为空,不加1e-9则无法继续计算:
#损失函数cross_entropy = -tf.reduce_sum(y_*tf.log(y+1e-9))
采用动态学习率,随步数进行递减
    #设定学习率随时间递减global_step = tf.Variable(0, trainable=False)initial_learning_rate = 0.0001 #初始学习率learning_rate = tf.train.exponential_decay(initial_learning_rate,global_step=global_step,decay_steps=10,decay_rate=0.9)

训练过程采用梯度下降法进行反向传播:

#训练过程梯度下降法最小化损失函数train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(cross_entropy)
初始化后开始计算,每次随机选取100个数据进行训练,每100步进行测试
# Create a saver for writing training checkpoints.saver = tf.train.Saver()#初始化sessioninit = tf.initialize_all_variables()sess = tf.Session()sess.run(init)for i in range(5000):#取随机100个训练样本batch_xs,batch_ys = dp.random_batch(train,trainLables,100)sess.run(train_step,feed_dict = {x:batch_xs,y_:batch_ys})#每10步进行测试if i%100==0 or i == 4999:checkpoint_file = os.path.join(LOG_DIR, 'model.ckpt')saver.save(sess, checkpoint_file, global_step=i)correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))batch_test_xs,batch_test_ys = dp.random_batch(test,testLabels,100)accuracy = tf.reduce_mean(tf.cast(correct_prediction,"float"))accuracy,argmaxN =sess.run([accuracy,tf.argmax(y,1)],feed_dict = {x:batch_test_xs,y_:batch_test_ys})print ("正确率为:",accuracy,"测试结果为:",argmaxN)

测试的正确率按计算结果与真实结果四舍五入后的整数相等做判断,因此存在一定误差。

采用此方法最后计算得到的准确率在30%-40%之间,因为模型和数据的简陋性,此结果算是可以接受的准确率。


然而事后进行分析,预测结果大部分分布在tf.argmax(y,1)=10处,意为涨跌幅预测为0,而实际中上证指数涨跌幅四舍五入后为零的情况非常常见,因此此模型准确率的意义不大,后续考虑涨跌幅较大的个股做以模拟,以继续探索股票预测的可用模型。


本文所涉及代码如下,引用本文及代码请注明出处。

https://github.com/renmu2017/predictStock.git


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/62565.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

九龙证券|人工智能掀起涨停潮,北上资金大幅卖出互联网金融龙头

今天A股三大股指涨跌纷歧,沪指低开低走,收盘跌0.44%,深证成指午后翻红,收盘微涨0.12%,创业板指涨1.17%显著好于主板。沪深两市共有45股收盘涨停,剔除8只ST股和1只新股,合计36股涨停。另外&#…

人工智能带来的利好将继续推动Palantir股价反弹

来源:猛兽财经 作者:猛兽财经 Palantir的人工智能产品已经获得行业认可 Palantir(PLTR)成立于2003年,是一家专注于数据分析和人工智能的知名软件公司。其尖端产品已应用到了政府机构、企业和非营利组织等各个行业&…

如何在微信内置浏览器中开启开发者模式(f12)

重要的事情放开头:此方法适用于3.2.1版本微信,如不想回退版本,就不用往下看了 相信大家都使用过浏览器的f12,可以看到浏览器所有的通讯数据以及网页源码 然而有些同学发现微信浏览器无法使用f12 真是栓q 要知道微信浏览器内核其…

【微信开发】开启开发者模式

前言 我们利用微信公众平台为用户提供服务的方式基本上可以分为两种: 后台编辑模式 ,公众号管理员直接在微信后台处理用户请求。开发者模式,使用微信提供的接口,将用户的请求通过微信平台转发到开发者的应用程序中。 在开发者模式…

Teamviewer 远程控制时 无法正常操作鼠标点击

其中一种可能: 本机开启了360的64位Intel-VT核晶防护后,用Teamviewer远程到本机,远程电脑无法操作本机的鼠标点击(左右键都不行),查看日志显示拦截了模拟按键。关闭核晶防护就可以正常操作鼠标点击。如下图…

Windows编程捕获特定窗口及键盘鼠标消息模拟

Windows编程捕获特定窗口及键盘鼠标消息模拟 一、简介二、使用到的API简介三、获取Windows记事本的编辑区窗口的句柄并模拟输入操作1、分析2、代码一3、代码二 四、后记 一、简介 窗口是Windows的核心组件,Windoows下的绝大部分应用都是利用Windows提供的原生窗口&…

Win10 Synaptics触摸板无法实现双指单击模拟鼠标右键点击的解决办法

Win10 synaptics触摸板无法实现双指单击模拟鼠标右键点击的解决办法 系统软硬件环境:win10专业版 1709,触摸板驱动程序版本19.4.18.22 通常win10的触摸板可以实现的手势功能可以参考微软的技术支持网页,地址是:https://support.…

winapi模拟鼠标按住左键拖动

继前文《windows下通过uiAutomation技术获取ui元素》介绍获取ui元素信息后,还需要对信息进行修改,但是 uiAutomation 技术并未提供可修改的 api,只能另辟他径看看了。 以 camera raw 为例,已知的是可将鼠标放在指定区域位置&#…

c#控制windows 鼠标移动、点击和输入

c#控制windows 鼠标移动、点击和输入 首先可以使用ViewWizard获取窗口的类名和TitleMouseHookHelper 鼠标相关的函数主函数调用MouseHookHelper实现鼠标点击和字符输入可能遇到的问题 首先可以使用ViewWizard获取窗口的类名和Title ViewWizard下载地址:https://dow…

手势控制鼠标进行操作的方法和源码

网上有不少用手势控制鼠标移动进行简单操作的视频 于是我也做了一个 实现方法简述: 1、肤色检测找到手势区域,(加上kalman滤波等会提高准确度,但也会影响实时性), 2、判断手势,只有两种&…

手势识别控制鼠标和键盘

项目已经及上传github,需者自取。 https://github.com/grey-wood-wolf/Gesture-recognition-mouse-and-keyboard-control 完成人:李政廉 黄鑫杰 傅英伦 实现功能 实现左右手的手势识别,并非触摸控制鼠标的移动和点击,以及键盘上下…

【Parsec】远程控制鼠标消失不可见的解决方法

转载连接:https://www.cnblogs.com/cowmax/p/13577769.html 一、问题描述 通过在云端的主机上部署 frp 服务,实现「使用Windows 远程桌面(RDP)从互联网侧访问内网的主机」。但是,使用 Windows 自带的远程桌面工具 RD…

员工离职倾向尽在公司掌握,争议发生后,监控系统研发商悄悄下架相关服务

你上班时会使用公司WiFi还是自己的流量呢?如果你平时经常用公司的网络摸鱼,那你现在可要注意了,因为你的上网记录很有可能都被监控下来了。 事情经过 上周,有一个网友发帖称自己开工第一天就被裁,原因竟是领导知道了…

2017 年 IT 界最严重的裁员事件汇总

程序猿(微信号:imkuqin) 猿妹 整编 裁员年年都有,今年特别多从微软、Oracle、IBM,到思科、HPE,再到雅虎、stackoverflow,无论是处于转型变革中的老牌巨头,还是日渐成熟的创新型公司&…

这可能是2018年IT界规模最大的裁员事件了

作者:焱公子,发型光芒万丈的跨界理工男。多年500强,专注写职场。解薄情人世,书深情故事。 来自:焱公子(ID:Yangongzi2015) 这可能是2018年IT界规模最大的裁员事件了。近日&#xff0…

阿里最新发布2023版Java八股文PDF版,是真的很强

大家好,今天给大家分享一套 阿里10w字 Java 面试手册。266页,涵盖基础篇、JVM篇、多线程并发篇、Spring篇、MyBatis篇、SpringBoot篇、MySQL篇、SpringCloud篇、Dubbo篇、Nginx篇、MQ篇、数据结构与算法篇、Linux篇、Zookeeper篇、Redis篇、分布式篇、网…

阿里原来这么容易就能进去…

最近和阿里的一个老朋友闲聊,感触颇深,据他说公司近期招聘的测试工程师,大多数候选人都有一个“通病”:在工作2-3年的时候遇到瓶颈,而且是一道很难跨越的坎。 为什么会遇到这种情况?因为大部分测试工程师在…

二战阿里巴巴成功上岸,准备了小半年,要个28k应该也算不上很高吧~

先说下我基本情况,本科不是计算机专业,现在是学通信,然后做图像处理,可能面试官看我不是科班出身没有问太多计算机相关的问题,因为第一次找工作,阿里的游戏专场又是最早开始的,就投递了&#xf…

阿里巴巴原来这么容易就能进去…

最近和阿里的一个老朋友闲聊,感触颇深,据他说公司近期招聘的测试工程师,大多数候选人都有一个“通病”:在工作2-3年的时候遇到瓶颈,而且是一道很难跨越的坎。 为什么会遇到这种情况?因为大部分测试工程师在…

这是一篇能够教会你运营阿里巴巴国际站的文章

对于很多跨境人来说,运营真的是一个让人头疼的大事情。不知道要从哪个方面下手,不知道要往哪方面努力等等问题都是很常见的,所以今天龙哥就解剖一下阿里巴巴国际站的运营方法,简单地给大家讲一下要掌握哪些方面的知识。运营这条路…