赋予 twitter 机器人基于历史数据预测比特币价值的能力

赋予 twitter 机器人基于历史数据预测比特币价值的能力

原文:https://medium.com/hackernoon/giving-a-twitter-bot-ability-to-predict-bitcoin-value-based-on-historical-data-dbe237c40430

一段时间以来,我一直对加密货币感兴趣,最重要的是预测它们在未来几天的涨跌。我尝试过一些算法,但最终,我认为没有人能确切地宣称他们的上升或下降。我曾试图只专注于一种货币,而作为领头羊的比特币,我决定追随它。

免责声明:本文将集中解释用于预测值的算法。

我发现获取比特币相关信息的最快方式是在 twitter 上,所以我决定创建一个机器人,它会每隔 2 小时发布一条关于未来 N 天比特币价值的预测。n 是人们要求最多的天数。例如,如果 3 个人请求机器人预测未来 5 天的价值,7 个人请求机器人预测未来 2 天的价值,机器人会在推特上发布 2 天的预测,因为请求预测的人越多。

我很快创建了一个 node 应用程序,经过一段时间的搜索,并试图找出查询历史数据、比特币图表和提取有用数据的最佳方式,这些数据可能有助于未来的兴衰,我决定将 K 近邻与其他一些算法结合起来。

该预测算法由以下步骤构成:

  1. 收集所有用户推文(请求)
  2. 获取最需要预测的日期
  3. 获取当前的比特币价值
  4. 找出过去 2 个月中 K (10)个最近的日期,在这些日期,比特币的价值与当前价值最相似
  5. 对于找到的每一个日期(称之为过去的日期),在接下来的 N 天(称之为过去的日期之后的 N 天)后,找到 BTC 的值
  6. 对于每个日期,计算 N_DAYS_AFTER_PAST_DATE 和 PAST_DATE 上的值之间的差值
  7. 将所有这些差值相加,然后除以 K
  8. 结果是,在所有过去日期和过去日期后 N 天之间的给定时间跨度内,比特币增长了多少

如果这让你感到困惑,我现在会试着让它变得更清楚一点。

第一步:收集所有用户的推文(请求)

使用 Twit 模块,我在 twitter api 中搜索包含“@ coin _ instinct Predict fordays”的推文,从推文中提取数字,并创建数字数组。

第二步:获取请求最多的日期

当一个预测被发布时,要预测的未来天数被存储在一个黑名单数组中。黑名单数组包含过去 4 个预测的天数,这有助于解决冗余问题,并在过去 8 小时内发布相同的预测。

这个函数非常简单,它只是获取数字数组中请求最多的数字。如果这个数字已经存在于 blackListArr 中,那么它返回第二个请求最多的数字,依此类推。如果所有请求的号码都在黑名单中,那么机器人会预测未来的 n 天。

第三步:获取当前比特币价值

使用 blockchain.info API,我们可以获得比特币的当前价值,并将其存储到一个变量中

该功能将在算法开始工作后 2 分钟运行。

第四步:找到 K 个最近的邻居

在这里,我不会包括所有被调用的函数,例如查询 coindesk api,查找 PAST_DATES 和 N_DAYS_AFTER_PAST_DATE,我将只根据我们得到的相似性来推断最近的邻居。整个项目可以在我的 github 页面上找到,我把它放在了本文的底部。

当我们计算过去 2 个月的所有比特币价值与当前比特币价值之间的差异时,我们需要找到差值最接近 0 的日期。所以我们先叫数学。对整个相似性数组进行 Abs,然后按升序对数组进行排序。

从这里我们可以很容易地得出比特币价值最接近现在价值的前 10 个日期。

第五步:获得最终结果数组

在这里,我们将获得对象的数组,每个包含开始和结束属性。Start property 将代表历史上特定一天的比特币价值,End property 将代表该特定一天之后 N 天的比特币价值。从这些数据中,我们可以洞察价值的增长或损失。

代码非常简单,我们遍历所有的 kNearest 并获得特定日期的数据。将这些结果存储到 finalResults 数组中并返回它。

第六步:计算预测

剩下的就是计算预测,我们在下一个函数调用中完成。

就是这样!我们还需要创建包含所有表情符号的酷文本,当然还要发布预测。

结论

如果你还在为一些很好的东西挠头,请记住,这些只是原始函数,摘自我的 github repo 上的完整代码:https://github.com/ognjengt/coin-instinct-bot。请务必检查一下,所有这一切将更有意义。

另外,这只是我预测未来几天比特币价值的方法,我想听听大家对这种方法的看法。预测值并不总是与正确的值相匹配,但是我注意到大多数时候,预测值只差 100 或 200 美元。所以你可以说这不是一个很大的失误,特别是在这个秘密的世界里,图表像疯了一样上下浮动。

这种算法的问题是,它只是分析历史比特币数据,并据此做出预测,因此没有任何方法来检测价值是否会下降。我正在努力插入一个人的因素,我会在网站上寻找暗示比特币价值崩溃的文章,并将其加入等式。

当然,这篇文章的主题是。要观看 twitter 机器人的实际运行,你可以点击这里的链接:https://twitter.com/coin_instinct。试试看,然后发微博给他!请求预测!

感谢您阅读这篇文章,如果您有任何问题,欢迎在评论中发表或在 twitter 上找到我【https://twitter.com/ognjengt


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除