之前发布了一篇文章利用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. (十一)QPainter绘图, QPixmap,QImage,QPicture,QBitmap

    #include "widget.h" #include "ui_widget.h" #include <QPainter> #include &l ...

  2. 【JS】JavaScript 指定日期增加天数

    指定某个日期(字符串),增加n天后,输出日期字符串,格式:年-月-日: /** * [dateAddDays 从某个日期增加n天后的日期] * @param {[string]} dateStr [日 ...

  3. Python高级笔记(四) -- 多继承_方法解析顺序表MRO

    1. 多继承以及MRO顺序 1.1 单独调用父类的方法 # -*- encoding=utf-8 -*- class Parent(object): def __init__(self, name): ...

  4. 关于APP测试的一点思考

    1  系统入口部分要细化测试用例颗粒度  充分准备好测试数据   真实覆盖线上场景 比如注册验证码的获取  国内 国外手机  一般国外手机发送短信 打电话都要加上区号 2 新版本发布   有新功能上线 ...

  5. jar包中File 文件找不到的异常分析与解决

    源链接: http://hxraid.iteye.com/blog/483115#comments 我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等).在单独运行的时候这些简单的处理当然不会 ...

  6. 2、jQuery的Ajax简单示例

    一.创建一个JavaWEBProject 二.创建一个Servlet(下面的例子中用到了Json--第32行,Json的作用是将一个Object类转换为特定格式的字符串,如果不用Json直接返回字符串 ...

  7. PHP和JS在循环、条件判断中的不同之处

    一.条件判断: php中算  false 的情况 1. boolean:false 2. 整形:0 3.浮点型:0 4.字符串:"" "0"(其他都对) 5.空 ...

  8. luogu P5320 [BJOI2019]勘破神机

    传送门 首先我们要知道要求什么.显然每次放方块要放一大段不能从中间分开的部分.设\(m=2\)方案为\(f\),\(m=3\)方案为\(g\),\(m=2\)可以放一个竖的,或者两个横的,所以\(f_ ...

  9. 深入理解python装饰器

    写在前面,参考文章链接: 1.博客园(https://www.cnblogs.com/everzin/p/8594707.html) 2.公众号文章 装饰器是什么,什么时候会用到装饰器呢? 写代码要遵 ...

  10. 2018-2019 20165221 网络对抗 Exp5 MSF基础

    2018-2019 20165221 网络对抗 Exp5 MSF基础 实践内容: 重点掌握metassploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实践,如ms0 ...