Coinpaprika发布--价格计算算法得到升级

我们以前是怎么做的,现在又是怎么做的!


上周三,我们从旧的价格计算系统转移到全新的系统。结果是直接可见的。但只是对少数人而言。然后我们想--嘿,普通用户究竟如何才能知道这种更新呢?这时我们坐下来决定,我们将分享我们的知识。

在开始的时候,我们将解释之前使用的计算过程。

1.从每一个 交流 我们从coinpaprika上列出的市场,从他们的API中获取。每一个 市场 必须包含3个方面。
市场的名称,给定单位的价格和24小时的成交量。下面是我们要做的一个例子。

2.对于每一个被检索到的市场,我们都在计算BTC和美元的价格和数量。对于这种计算,我们使用 价格 之前对coinpaprika的计算(来自算法的上一次迭代)。为了简化,我们将只关注美元的计算。

之前USDT兑美元的价格是1.01

3.对于给定的每个市场,我们也在计算该货币对中第二个货币的价格。

之前LTC对美元的价格是44.00

4.这样,我们已经有了任何特定硬币的完整市场清单,这里是一个例子。

对于上述屏幕中的市场,LTC/BTC的价格是按照步骤#2计算的,而XRP/LTC的价格是按照步骤#3计算的(这里LTC是我们货币对中的第二个货币)。

5.在拥有大量以美元计价的市场后,计算总体价格是很容易的。它是所有具有一定数量的市场的平均价格。从这个计算中,排除了异常值或没有费用和交易的市场。 采矿.最终的价格显示在主页面上,可用于算法的下一次迭代。

那么问题出在哪里呢?

当时没有98%的产品。但随着市场上的波动越来越大,它们开始出现。我们见证了几次BTC对美元的价格与其他上市网站不同的情况。例如,由于市场上出现了大规模的下跌,我们的BTC/美元价格高于市场本身或竞争对手的平台。

问题的根源是什么?

如步骤#2和#3所述,价格不仅取决于市场上的现状,还取决于算法的最后一次迭代的价格。
"之前USDT对美元的价格是1.01"
"之前LTC对美元的价格是44.00"
该算法,为了计算现在的价格,必须知道上一次迭代的价格,而且该价格也是在与上一次迭代相关的情况下计算的,等等......这导致了我们显示的价格对市场上的波动反应缓慢。

有什么变化?

我们限制这些依赖性的尝试是确定新的货币转换率(参考价格)。 其中 只考虑到整个市场的现状。

我们是如何做到这一点的?

我们必须把每个市场的价格带到共同的单位,然后设置一个加权平均数--这样我们将得到一个涵盖所有市场的转换率。在网站上,我们主要使用美元和BTC的价格,所以我们将把价格转换为这些单位。这是一个多阶段的过程,在初始状态下,我们不知道一个单位的特定货币的价格是多少。我们设定一个参考点,对我们来说是比特币(大多数货币的BTC市场通常是流动性最强的),在初始状态下,我们计算美元的价格是所有BTC/美元市场的加权平均价格。然后我们可以开始将每个市场的价格转换为BTC和美元的价格。

1.在第一步中,我们只使用BTC和FIAT市场来计算平均货币价格(首先将其按汇率转换为美元,从 https://openexchangerates.org/ 然后按BTC/USD市场的平均汇率兑换成BTC)--因此,我们收到的信息是BTC的平均成本是多少,每个货币。

2.我们现在也知道美元的成本是多少,因为我们知道BTC/美元的转换器。

3.一些加密货币没有BTC的市场,或者BTC市场在整个交易量中是少数,这使得计算出的平均数不准确。

4.因此,在下一步,我们使用之前计算的所有转换率来计算BTC和美元的加密货币的新价格。通过多次重复这些步骤,我们同时拥有从所有市场计算出来的数据。

通过使用这种方法,当前的价格取决于将市场价格带到BTC和美元的这几次迭代,而不是整个历史价格链。


你对这一功能有何看法?

现在就来看看 巧夺天工 &让我们知道!

不要忘记关注我们。

推特。 twitter.com/coinpaprika

脸书。 facebook.com/coinpaprika

电报。 t.me/coinpaprika

发表评论