利用Google趋势来预测比特币价格 - 续1
之前发布了一篇文章利用Google趋势来预测比特币价格,说到了看到一篇文章很朴素的介绍了google趋势和比特币价格的一个关系。觉得很简单直白,就根据那个模型写了个程序,部署起来了,从十一月十四号到现在,一共有一个多月,总体效果不理想,因为一直没有触发它的买进的条件。
数据
前两天我就把收集到的数据图形化出来,来直观看看它们之间的关系,画出来的图形如下:

上图中的红线,就是所谓的触发条件,如果它高于35%(纵轴25上面那条黑线)并且跟昨天相比,比特币的价格是增加了1%,就会触发买进,否则卖出。
从图直观看出,都不用跑regression啥的,无论蓝色的那条价格线怎么变化,红色线始终保持着它自己的上下波动的节奏,并没有明显的跟价格之间的关系。
上面是以天为单位的观察,下面我又获取了以小时为单位的最近七天的他们之间的关系。

红线(比例线)与蓝线(价格线)依旧很倔强的走着自己的轨迹。
同时观察到绿线,也就是buy bitcoin的google趋势线,跟价格关系也不大。因为红线本身就是绿线和黄线的比例,所以绿线可能是导致它们无关的一个原因把。
思考
现在想想buy bitcoin这个关键词的选择是否符合常理?比如自己要买进比特币的时候,是否会使用这个关键词来搜索,它是否能代表一般人买进比特币的态度?这个现在看来得打个问好。
那么bitcoin usd呢,直观来看,如果它搜索的热度越大说明什么,越小说明什么。搜索热度越大,说明公众对比特币的价格很关心,越小说明对它漠不关心。
进一步
删除buy bitcoin关键字后,我抓到最近三个月bitcoin usd和价格之间的关系。

这个图形证实了我的猜想,当bitcoin usd热度高的时候,比特币的价格变化会大,但是涨还是降就不知道了。
我简单定义了一个策略,当天的趋势变化(和昨天比)如果高了25%的话,而价格又增加1%的话(跟昨天比),那么就预测买,否则就是卖。上图绿色三角形是跑出来的结果。
从结果看,有那么点意思了,可以通过改变参数的设定,在实践中摸索出成功的经验。
另外一点经验是关于google趋势的数据。它的数据都是相对值,在选定一个时间区间后,每一点的值都是相对区间内的相对值。所以如果使用不同时间区间里面的值来比较是没有意义的。
源码
所有实现都在github的sentiment trade这个repo里面
利用Google趋势来预测比特币价格 - 续1的更多相关文章
- 利用Google趋势来预测比特币价格
预测市场是件极其困难和不可能的事情,特别是预测市场的短期行为.长期预期相对而言简单很多,因为很多事情把时间拉长,都可以预测,比如我预测烧汽油的车最终都会消失,把时间拉长,都是没问题的.但是这种预测没法 ...
- 矩池云 | 利用LSTM框架实时预测比特币价格
温馨提示:本案例只作为学习研究用途,不构成投资建议. 比特币的价格数据是基于时间序列的,因此比特币的价格预测大多采用LSTM模型来实现. 长期短期记忆(LSTM)是一种特别适用于时间序列数据(或具有时 ...
- 神经网络与数字货币量化交易系列(1)——LSTM预测比特币价格
首发地址:https://www.fmz.com/digest-topic/4035 1.简单介绍 深度神经网络这些年越来越热门,在很多领域解决了过去无法解决的难题,体现了强大的能力.在时间序列的预测 ...
- RNN循环神经网络实现预测比特币价格过程详解
http://c.biancheng.net/view/1950.html 本节将介绍如何利用 RNN 预测未来的比特币价格. 核心思想是过去观察到的价格时间序列为未来价格提供了一个很好的预估器.给定 ...
- Swift 中使用 SwiftyJSON 制作一个比特币价格 APP
Swift 中处理 JSON 数据有很多种方式,可以使用原生的 NSJSONSerialization,也可以使用很多第三方库.原生的 NSJSONSerialization 方式这篇文章中介绍过.这 ...
- 数据采集实战:通过Python获取和分析Google趋势中Covid-19的关注程度
在传染病研究领域,社交媒体数据已被证明可作为预测感冒和流感季节的发作和进展的指标.在本文中,我们将使用Google Trends API来衡量与冠状病毒的状态.我们将使用python谷歌趋势API p ...
- 利用Google Speech API实现Speech To Text
很久很久以前, 网上流传着一个免费的,识别率暴高的,稳定的 Speech To Text API, 那就是Google Speech API. 但是最近再使用的时候,总是返回500 Error. 后来 ...
- 使用SignalR实现比特币价格实时刷新
ASP.NET SignalR是微软支持的一个运行在 Dot NET 平台上的 HTML Websocket 框架.它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面,这样客户端就不必重 ...
- 如何将经纬度利用Google Map API显示C# VS2005 Sample Code
原文 如何将经纬度利用Google Map API显示C# VS2005 Sample Code 日前写了一篇如何用GPS抓取目前所在,并回传至资料库储存,这篇将会利用这些回报的资料,将它显示在地图上 ...
随机推荐
- GetFontResourceInfo 函数: 获取字体文件对应的字体名
在 win 7, gdi32.dll,找不到 GetFontResourceInfo(), 但能找到 GetFontResourceInfoW(), 用法类似. //----------------- ...
- mac查看git路径
mac查看git路径
- Visual Studio Code 背景色自定义
1 寻找主体配置文件:默认的颜色主题配置文件都位于$RELEASE/resources/app/extensions目录中.以theme-开头的目录即为颜色主题配置(事实上,其中有些是文件图标主题). ...
- python计算素数和
计算输入两个正整数x,y(x<=y,包括x,y)素数和.函数isPrime用以判断一个数是否素数,primeSum函数返回素数和 以下为源码 def isPrime(n) : for i ...
- 06--STL序列容器(priority_queue)
一:优先队列priority_queue简介 同队列,不支持迭代 (一)和队列相比 同: 优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素. 异: 但是它有一个特性,就是队列中最大的元素总是 ...
- Koa与Node.js开发实战(3)——Nunjucks模板在Koa中的应用(视频演示)
技术架构: 在Koa中应用Nunjucks,需要先把Nunjucks集成为符合Koa规格的中间件(Middleware),从本质上来讲,集成后的中间件的作用是给上下文对象绑定一个render(vi ...
- 【bzoj 2159】Crash 的文明世界
Description Crash小朋友最近迷上了一款游戏——文明5(Civilization V).在这个游戏中,玩家可以建立和发展自己的国家,通过外交和别的国家交流,或是通过战争征服别的国家.现在 ...
- Python核心编程笔记 第三章
3.1 语句和语法 3.1.1 注释( # ) 3.1.2 继续( \ ) 一般使用换行分隔,也就是说一行一个语句.一行过长的语句可以使用反斜杠( \ ) 分 ...
- Java中ArrayList类的用法
1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...
- shell 批量修改较长字符串 字符串内容之间更换位置
cat 1.txt src='http://img2.tgbusdata.cn/v2/thumb/jpg/MkY5Myw2NTUsMzAzLDksMywxLC0xLDAscms1MCwxOTIuMTY ...