Author Topic: 见证人喂价分歧这么大,建议加入喂价偏差指数!  (Read 6916 times)

0 Members and 1 Guest are viewing this topic.

Offline binggo

  • Hero Member
  • *****
  • Posts: 1229
    • View Profile
这样猴子就可以尽情抵押拉盘.

if 内盘修正价>1.1*外盘价
   喂价 = 外盘价
otherwise
   喂价 = max(内盘修正价,外盘价)

可以防止猴子拉盘了吧?

if 内盘修正价>1.1*外盘价
   喂价 = 1.1*外盘价
otherwise
   喂价 = max(内盘修正价,外盘价)

是不是应该这样啊,蟹老板。

巨蟹的这个方案有点不平滑,  而且1.1的余量会使喂价太高了, 都10%了,  而且max(内盘修正价,外盘价)可能会使喂价变化太快, 内盘一爆仓,或者有大户砸盘, 就会迅速下滑, 喂价就会上窜下跳.

----------------------------
我的如果太过于保守,可以加权重系数X,Y,  一个限制系数Z,作为理事会的调节参数:

if  (内盘深度加权价格*X+外盘价格*Y)/2 > Z*外盘价格
   喂价 = Z*外盘价格


if  (内盘深度加权价格*X+外盘价格*Y)/2 < 外盘价格
   喂价 = 外盘价格

otherwise
   喂价 = (内盘深度加权价格*X+外盘价格*Y)/2



应该差不多也可以消除汇率差.
« Last Edit: April 11, 2019, 05:03:37 am by binggo »

Offline zhouxiaobao

哎。内盘的自杀又开始了,多头根本没办法在内盘玩。猴子几个亿在目前的喂价制度下也没办法在内盘拉盘啊。在分叉的时候快点改一下吧,也就是几行代码的事。

Offline ljk424

  • Sr. Member
  • ****
  • Posts: 257
    • View Profile
  • BitShares: ljk424
哎。内盘的自杀又开始了,多头根本没办法在内盘玩。猴子几个亿在目前的喂价制度下也没办法在内盘拉盘啊。在分叉的时候快点改一下吧,也就是几行代码的事。
目送见证人摧毁bts

Offline johnson

  • Full Member
  • ***
  • Posts: 146
    • View Profile
哎。内盘的自杀又开始了,多头根本没办法在内盘玩。猴子几个亿在目前的喂价制度下也没办法在内盘拉盘啊。在分叉的时候快点改一下吧,也就是几行代码的事。

巨蟹就盯着猴子呢,就怕猴子拉盘。 你说猴子会拉盘么?

Offline ljk424

  • Sr. Member
  • ****
  • Posts: 257
    • View Profile
  • BitShares: ljk424
哎。内盘的自杀又开始了,多头根本没办法在内盘玩。猴子几个亿在目前的喂价制度下也没办法在内盘拉盘啊。在分叉的时候快点改一下吧,也就是几行代码的事。

巨蟹就盯着猴子呢,就怕猴子拉盘。 你说猴子会拉盘么?
哪是怕拉盘,见证人在集体作恶!

Offline binggo

  • Hero Member
  • *****
  • Posts: 1229
    • View Profile
哎。内盘的自杀又开始了,多头根本没办法在内盘玩。猴子几个亿在目前的喂价制度下也没办法在内盘拉盘啊。在分叉的时候快点改一下吧,也就是几行代码的事。

巨蟹就盯着猴子呢,就怕猴子拉盘。 你说猴子会拉盘么?
哪是怕拉盘,见证人在集体作恶!

集体到算不上,不过有些真的是看不过去眼。

想要改很难吗?并不难,他们不想而已,太清高,高傲到认为自己的喂价就是对的。

能够尽快实施起来,不需要动代码的就是巨蟹的方案,见证人可以自己改喂价脚本:

if 内盘修正价>1.1*外盘价
   喂价 = 1.1*外盘价
otherwise
   喂价 = max(内盘修正价,外盘价)


但是我对这个内盘修正价有疑问。
« Last Edit: April 11, 2019, 05:04:00 am by binggo »

Offline zhouxiaobao

哎。内盘的自杀又开始了,多头根本没办法在内盘玩。猴子几个亿在目前的喂价制度下也没办法在内盘拉盘啊。在分叉的时候快点改一下吧,也就是几行代码的事。

巨蟹就盯着猴子呢,就怕猴子拉盘。 你说猴子会拉盘么?
哪是怕拉盘,见证人在集体作恶!

集体到算不上,不过有些真的是看不过去眼。

想要改很难吗?并不难,他们不想而已,太清高,高傲到认为自己的喂价就是对的。

能够尽快实施起来,不需要动代码的就是巨蟹的方案,见证人可以自己改喂价脚本:

if 内盘修正价>1.1*外盘价
   喂价 = 1.1*外盘价
otherwise
   喂价 = max(内盘修正价,外盘价)


但是我对这个内盘修正价有疑问。

就是内盘价乘以充值费率不就行了,差个一点点也不是问题啊,至少可以保证充值费率是正的时候,喂价不低于内盘价吧。关键是内盘可以影响喂价了。1.1觉得大了可以改成1.05啊。这样只要见证人确实执行,目测即使大跌,cny也就最多升值两个点左右,好多了。

Offline binggo

  • Hero Member
  • *****
  • Posts: 1229
    • View Profile
哎。内盘的自杀又开始了,多头根本没办法在内盘玩。猴子几个亿在目前的喂价制度下也没办法在内盘拉盘啊。在分叉的时候快点改一下吧,也就是几行代码的事。

巨蟹就盯着猴子呢,就怕猴子拉盘。 你说猴子会拉盘么?
哪是怕拉盘,见证人在集体作恶!

集体到算不上,不过有些真的是看不过去眼。

想要改很难吗?并不难,他们不想而已,太清高,高傲到认为自己的喂价就是对的。

能够尽快实施起来,不需要动代码的就是巨蟹的方案,见证人可以自己改喂价脚本:

if 内盘修正价>1.1*外盘价
   喂价 = 1.1*外盘价
otherwise
   喂价 = max(内盘修正价,外盘价)


但是我对这个内盘修正价有疑问。

就是内盘价乘以充值费率不就行了,差个一点点也不是问题啊,至少可以保证充值费率是正的时候,喂价不低于内盘价吧。关键是内盘可以影响喂价了。1.1觉得大了可以改成1.05啊。这样只要见证人确实执行,目测即使大跌,cny也就最多升值两个点左右,好多了。

费率不行, 太多影响因素, 可操控, 最好是内盘时间深度加权价格

Offline johnson

  • Full Member
  • ***
  • Posts: 146
    • View Profile
哎。内盘的自杀又开始了,多头根本没办法在内盘玩。猴子几个亿在目前的喂价制度下也没办法在内盘拉盘啊。在分叉的时候快点改一下吧,也就是几行代码的事。

巨蟹就盯着猴子呢,就怕猴子拉盘。 你说猴子会拉盘么?
哪是怕拉盘,见证人在集体作恶!

集体到算不上,不过有些真的是看不过去眼。

想要改很难吗?并不难,他们不想而已,太清高,高傲到认为自己的喂价就是对的。

能够尽快实施起来,不需要动代码的就是巨蟹的方案,见证人可以自己改喂价脚本:

if 内盘修正价>1.1*外盘价
   喂价 = 1.1*外盘价
otherwise
   喂价 = max(内盘修正价,外盘价)


但是我对这个内盘修正价有疑问。

就是内盘价乘以充值费率不就行了,差个一点点也不是问题啊,至少可以保证充值费率是正的时候,喂价不低于内盘价吧。关键是内盘可以影响喂价了。1.1觉得大了可以改成1.05啊。这样只要见证人确实执行,目测即使大跌,cny也就最多升值两个点左右,好多了。

费率不行, 太多影响因素, 可操控, 最好是内盘时间深度加权价格

这些复杂的算法,需要见证人自己主动去修改。你说他们有这个动力么。不如像我说的,喂价不能低于买单价。代码都是现成的。







bool asset_publish_feeds_evaluator::is_feeds_price_lower_than_buy_order(const asset_publish_feed_operation& o)
{
   database& d = db();
   const asset_id_type asset = o.asset_id;
   const asset_id_type base = asset_id_type(d.get_core_asset().id);

   const auto& limit_order_idx = d.get_index_type<limit_order_index>();
   const auto& limit_price_idx = limit_order_idx.indices().get<by_price>();

   auto limit_itr = limit_price_idx.lower_bound(price::max(asset,base));
   auto limit_end = limit_price_idx.upper_bound(price::min(asset,base));
   if (limit_itr != limit_end)
   {
      auto ord = *limit_itr;
      if (o.feed.settlement_price <= ord.sell_price) {
         std::cout << "feed price lower than buy price, invalid feed price" << std::endl;
         std::cout << " to_real of feed price " << o.feed.settlement_price.to_real() << std::endl;
         std::cout << " to real of order price " << ord.sell_price.to_real() << std::endl;
         return true;
      }
   }

   return false;
}

void_result asset_publish_feeds_evaluator::do_evaluate(const asset_publish_feed_operation& o)
{ try {
   database& d = db();
@@ -959,6 +986,11 @@ void_result asset_publish_feeds_evaluator::do_evaluate(const asset_publish_feed_
                 "The account is not in the set of allowed price feed producers of this asset" );
   }

   if (is_feeds_price_lower_than_buy_order(o))
   {
      FC_ASSERT(false, "Do Not Update Feed Price,If You saw this in restart witness, please add --replay-blockchain");
   }



Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1443
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab
所以,从系统设计的角度讲,应该设计成喂价通过挂单的方式来喂。。。
« Last Edit: April 11, 2019, 08:46:16 am by bitcrab »

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1443
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab
这样猴子就可以尽情抵押拉盘.

if 内盘修正价>1.1*外盘价
   喂价 = 外盘价
otherwise
   喂价 = max(内盘修正价,外盘价)

可以防止猴子拉盘了吧?

if 内盘修正价>1.1*外盘价
   喂价 = 1.1*外盘价
otherwise
   喂价 = max(内盘修正价,外盘价)

是不是应该这样啊,蟹老板。

巨蟹的这个方案有点不平滑,  而且1.1的余量会使喂价太高了, 都10%了,  而且max(内盘修正价,外盘价)可能会使喂价变化太快, 内盘一爆仓,或者有大户砸盘, 就会迅速下滑, 喂价就会上窜下跳.

你改得不对,逻辑是:正常情况下取内盘修正价,极端情况,比如内盘突然拉盘,或者外盘突然砸盘时另行处理。
"内盘修正价>1.1*外盘价" 是用来定义极端情况的。
当然的确有点不平滑,而且如果外盘砸盘时也不应该简单取外盘。
或者这样:
if 内盘修正价>1.1*外盘价
   喂价 = (内盘修正价+外盘价)/2
otherwise
   喂价 = max(内盘修正价,外盘价)

Offline zhouxiaobao

这样猴子就可以尽情抵押拉盘.

if 内盘修正价>1.1*外盘价
   喂价 = 外盘价
otherwise
   喂价 = max(内盘修正价,外盘价)

可以防止猴子拉盘了吧?

if 内盘修正价>1.1*外盘价
   喂价 = 1.1*外盘价
otherwise
   喂价 = max(内盘修正价,外盘价)

是不是应该这样啊,蟹老板。

巨蟹的这个方案有点不平滑,  而且1.1的余量会使喂价太高了, 都10%了,  而且max(内盘修正价,外盘价)可能会使喂价变化太快, 内盘一爆仓,或者有大户砸盘, 就会迅速下滑, 喂价就会上窜下跳.

你改得不对,逻辑是:正常情况下取内盘修正价,极端情况,比如内盘突然拉盘,或者外盘突然砸盘时另行处理。
"内盘修正价>1.1*外盘价" 是用来定义极端情况的。
当然的确有点不平滑,而且如果外盘砸盘时也不应该简单取外盘。
或者这样:
if 内盘修正价>1.1*外盘价
   喂价 = (内盘修正价+外盘价)/2
otherwise
   喂价 = max(内盘修正价,外盘价)

这样可以的。实际上内盘突然拉盘且超过外盘十个点,概率太小了。总之内盘有了喂价定价权就总算是给了多头一点机会。

关于内盘修正价
内盘修正价=内盘价*(1+cny溢价率)
目前bitcny最大的交易市场就在鼓鼓,所以暂时用鼓鼓的充值费率代替溢价率我认为是可以的,以后有其他的市场发展起来再加入也可以啊。

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1443
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab
你改得不对,逻辑是:正常情况下取内盘修正价,极端情况,比如内盘突然拉盘,或者外盘突然砸盘时另行处理。
"内盘修正价>1.1*外盘价" 是用来定义极端情况的。
当然的确有点不平滑,而且如果外盘砸盘时也不应该简单取外盘。
或者这样:
if 内盘修正价>1.1*外盘价
   喂价 = (内盘修正价+外盘价)/2
otherwise
   喂价 = max(内盘修正价,外盘价)

这样可以的。实际上内盘突然拉盘且超过外盘十个点,概率太小了。总之内盘有了喂价定价权就总算是给了多头一点机会。

关于内盘修正价
内盘修正价=内盘价*(1+cny溢价率)
目前bitcny最大的交易市场就在鼓鼓,所以暂时用鼓鼓的充值费率代替溢价率我认为是可以的,以后有其他的市场发展起来再加入也可以啊。

只要你给镰刀创造收割的机会,哪怕万分之一的概率镰刀也会让事件发生。

Offline binggo

  • Hero Member
  • *****
  • Posts: 1229
    • View Profile

if 内盘修正价>1.1*外盘价
   喂价 = (内盘修正价+外盘价)/2


这样喂价不是一下来个大跳水?从1.1*外盘价  直接跳到  喂价 = (内盘修正价+外盘价)/2?

比如外盘价0.446, 内盘价格0.4906,喂价从0.4906直接跳到0.4683?
« Last Edit: April 11, 2019, 11:10:48 am by binggo »

Offline zhouxiaobao

你改得不对,逻辑是:正常情况下取内盘修正价,极端情况,比如内盘突然拉盘,或者外盘突然砸盘时另行处理。
"内盘修正价>1.1*外盘价" 是用来定义极端情况的。
当然的确有点不平滑,而且如果外盘砸盘时也不应该简单取外盘。
或者这样:
if 内盘修正价>1.1*外盘价
   喂价 = (内盘修正价+外盘价)/2
otherwise
   喂价 = max(内盘修正价,外盘价)

这样可以的。实际上内盘突然拉盘且超过外盘十个点,概率太小了。总之内盘有了喂价定价权就总算是给了多头一点机会。

关于内盘修正价
内盘修正价=内盘价*(1+cny溢价率)
目前bitcny最大的交易市场就在鼓鼓,所以暂时用鼓鼓的充值费率代替溢价率我认为是可以的,以后有其他的市场发展起来再加入也可以啊。

只要你给镰刀创造收割的机会,哪怕万分之一的概率镰刀也会让事件发生。
或者这样
if 内盘修正价>1.05*外盘价
   喂价 = 1.05*外盘价
otherwise
   喂价 = max(内盘修正价,外盘价)

原来的公式确实当内盘价超过外盘1.1的时候,喂价就大跳水了。改成这样就平滑了,且风险也不大。