自从 btcc 举办活动以来,比特币的价格浮动巨大,
分析交易数据可能带来巨大的利益。
实时预测下一刻的价格和检测异常的浮动显得很有意义。
下面介绍一下我用 nupic 分析比特币实时交易数据。
交易数据收集与初步处理
我们可以通过 交易 API 快速获取过去24小时内的交易历史
很显然这个是每次交易的数据,现在需要合并成每个时间的交易数据,对同一时间的价格取平均值,交易量求和。
数据仓储
这里选择是 river-view。
我可以写一个简单的 river
就可以把我咬的数据收集起来并存储,而且有机会被合并到主分支上面。
首先 clone
river-view,
然后建立 river
btcc-trades
每个 river
都有两个文件 config.yml
和 parser.js
。
交易数据属于 scalar
类型,定义如下:
时区很重要这里要设对,不然时间都不对了。
数据源:
最后当然是需要获取的数据了:
下面是 parser.js
的代码:
到这里数据收集和仓储算是完了,代码见: https://github.com/Lupino/river-view/tree/master/rivers/btcc-trades
搜集到的数据见 http://data.huabot.com/btcc-trades/btcc-trades/data.html
数据分析
这里使用 river-runner 进行分析。
首先安装依赖
clone
并做初步分析:
这一步会生成 price_out.csv
。
river-runner
只会分析最新的 3000 条数据, 所以需要修改一下,让它可以分析所有的数据
数据虚拟化
数据虚拟化使用的是 nupic.visualizations
结论
利用 nupic
还是可以相对准确的预测 btc
下一时刻的价格,并且检测出交易的异常。
当然数据分析那一部份还需要进行优化,利用 Swarming 得到最优的网路参数。