之前发布了一篇文章利用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的更多相关文章

  1. 利用Google趋势来预测比特币价格

    预测市场是件极其困难和不可能的事情,特别是预测市场的短期行为.长期预期相对而言简单很多,因为很多事情把时间拉长,都可以预测,比如我预测烧汽油的车最终都会消失,把时间拉长,都是没问题的.但是这种预测没法 ...

  2. 矩池云 | 利用LSTM框架实时预测比特币价格

    温馨提示:本案例只作为学习研究用途,不构成投资建议. 比特币的价格数据是基于时间序列的,因此比特币的价格预测大多采用LSTM模型来实现. 长期短期记忆(LSTM)是一种特别适用于时间序列数据(或具有时 ...

  3. 神经网络与数字货币量化交易系列(1)——LSTM预测比特币价格

    首发地址:https://www.fmz.com/digest-topic/4035 1.简单介绍 深度神经网络这些年越来越热门,在很多领域解决了过去无法解决的难题,体现了强大的能力.在时间序列的预测 ...

  4. RNN循环神经网络实现预测比特币价格过程详解

    http://c.biancheng.net/view/1950.html 本节将介绍如何利用 RNN 预测未来的比特币价格. 核心思想是过去观察到的价格时间序列为未来价格提供了一个很好的预估器.给定 ...

  5. Swift 中使用 SwiftyJSON 制作一个比特币价格 APP

    Swift 中处理 JSON 数据有很多种方式,可以使用原生的 NSJSONSerialization,也可以使用很多第三方库.原生的 NSJSONSerialization 方式这篇文章中介绍过.这 ...

  6. 数据采集实战:通过Python获取和分析Google趋势中Covid-19的关注程度

    在传染病研究领域,社交媒体数据已被证明可作为预测感冒和流感季节的发作和进展的指标.在本文中,我们将使用Google Trends API来衡量与冠状病毒的状态.我们将使用python谷歌趋势API p ...

  7. 利用Google Speech API实现Speech To Text

    很久很久以前, 网上流传着一个免费的,识别率暴高的,稳定的 Speech To Text API, 那就是Google Speech API. 但是最近再使用的时候,总是返回500 Error. 后来 ...

  8. 使用SignalR实现比特币价格实时刷新

    ASP.NET SignalR是微软支持的一个运行在 Dot NET 平台上的 HTML Websocket 框架.它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面,这样客户端就不必重 ...

  9. 如何将经纬度利用Google Map API显示C# VS2005 Sample Code

    原文 如何将经纬度利用Google Map API显示C# VS2005 Sample Code 日前写了一篇如何用GPS抓取目前所在,并回传至资料库储存,这篇将会利用这些回报的资料,将它显示在地图上 ...

随机推荐

  1. Python:Mac 下 MQTT 服务器 Mosquitto 的配置

    我在Mac电脑上搭建时遇到了一些不同于网上大部分情况的问题,特此分享给可能也有遇到相同情况又找不到解决方法的人. 我的电脑系统:macOS Mojave 10.14.3. paho-mqtt 的安装 ...

  2. ASP.NET Web API 2 OData v4教程

    程序数据库格式标准化的开源数据协议 为了增强各种网页应用程序之间的数据兼容性,微软公司启动了一项旨在推广网页程序数据库格式标准化的开源数据协议(OData)计划,于此同时,他们还发 布了一款适用于OD ...

  3. Android系统目录结构详解

    Android系统基于linux内核.JAVA应用,算是一个小巧精致的系统.虽是开源,但不像Linux一般庞大,娇小可亲,于是国内厂商纷纷开发出自己基于Android的操作系统.在此呼吁各大厂商眼光放 ...

  4. EasyUI整合篇

    easy ui combobox getValue 获取不到值问题 必须设置属性showblank: true,否则只能从onSelect事件中获取 $("#ddlType").c ...

  5. redis实战笔记

    3.1 字符串命令 3.2 列表命令 3.3 集合命令 3.4散列命令 3.5有序集合命令 3.6发布与订阅命令 3.7其他命令 3.7.1 排序 3.7.2键的过期时间

  6. word20161231

    1. measurement 英[ˈmeʒəmənt]美[ˈmeʒərmənt]n. 量度; 份量,尺寸; 测量法; (量得的) 尺寸;[例句]We took lots of measurements ...

  7. 动态渲染页面爬取-Selenium & Splash

    模拟浏览器的动机 JS动态渲染的页面不止Ajax一种 很多网页的Ajax接口含有加密参数,分析其规律的成本过高 通过对浏览器运行方式的模拟,我们将做到:可见即可爬 Python中常用的模拟浏览器运行的 ...

  8. 论文笔记:Image Smoothing via L0 Gradient Minimization

    今天要分享的这篇论文是我个人最喜欢的论文之一,它的思想简单.巧妙,而且效果还相当不错.这篇论文借助数学上的 \(L_0\) 范数工具对图像进行平滑,同时保留重要的边缘特征,可以实现类似水彩画的效果(见 ...

  9. 【easy】278. First Bad Version

    有一系列产品,从某个开始其后都不合格,给定一个判断是否合格的函数,找出N个产品中第一个不合格的产品. 正确答案: // Forward declaration of isBadVersion API. ...

  10. 简单python接口测试编写和django开发环境的搭建

    安装django环境 启动django D:\python\imooc>python manage.py runserver 0.0.0.0:8000 命令行下django新建app D:\py ...