之前发布了一篇文章利用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. DB(1):SQLAPI catch [Bind variable/parameter 'pay_acc_id' not found] !!!

    SQLAPI catch [Bind variable/parameter 'pay_acc_id' not found] !!! 出现这种报错,先检查命令类后面的参数是否混淆(SACommand s ...

  2. SNMP mib文件说明

    MIB file的开始和结束 所有的MIB file的都以DEFINITIONS ::= BEGIN关键字开始,以END结束.我们所有添加的节点均应在此之间. XXX-TEST-MIB DEFINIT ...

  3. [面试]死锁-最简单的死锁demo

    死锁 什么是死锁 (百度百科) 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁 ...

  4. combine_lat_dirs.sh

    #!/bin/bash # Copyright 2018 Jarvan Wang Apache 2.0. # Copyright 2016 Xiaohui Zhang Apache 2.0.     ...

  5. 组件或者dom的特殊属性

    key:用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes. 常用姿势: 1.结合 v-for,有相同父元素的子元素必须有唯一key. <ul> <li ...

  6. ddt源码修改:HtmlTestRunner报告依据接口名显示用例名字

    背景是这样的: 自己写了一套接口自动化的框架,其中使用unittest + ddt + excel作为数据驱动模式的应用,使用HtmlTetstRunner来生成测试用例. 一切看起来很完美. 但是, ...

  7. 【转载】大白话Docker入门(二)

    原文:https://yq.aliyun.com/articles/63517?spm=a2c4e.11153940.blogcont63035.15.12011c3fddklk0 上篇的大白话Doc ...

  8. python中的operator.itemgetter函数

    operator.itemgetter函数operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号.看下面的例子 a = [,,] >>> b=) ...

  9. Timeline高级扩展

    转载于http://forum.china.unity3d.com/thread-32200-1-1.html通过demo讲解了timeline更加复杂的使用方式 Timeline是创建过场动画和影片 ...

  10. GYM 100608G 记忆化搜索+概率 2014-2015 Winter Petrozavodsk Camp, Andrew Stankevich Contest 47 (ASC 47)

    https://codeforces.com/gym/100608 题意: 两个人玩游戏,每个人有一个长为d的b进制数字,两个人轮流摇一个$[0,b-1]$的骰子,并将选出的数字填入自己的d个空位之中 ...