Author Topic: 【喂价讨论】动态调整最低抵押率要求和爆仓惩罚  (Read 545981 times)

0 Members and 1 Guest are viewing this topic.

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1929
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab
调喂价和调MCR没有本质上的区别。

内盘价1bitCNY的时候把喂价调到1.75,跟把MCR从1.75调到1没啥区别。都会使杠杆变得无穷大,然后引发疯狂购买,bitCNY马上贬值。。。
Email:bitcrab@qq.com

Offline 天籁

  • Hero Member
  • *****
  • Posts: 744
    • View Profile
有鉴于此,考虑到bitCNY还要挪作他用,MCR取1.75还是太高了,必须降下来,BTS才能走入正轨,否则总是易跌难涨。

Offline 天籁

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

别逗了,还MCR提高到10,你知道后果吗?!BTS刚出来时MCR=3,碰上熊市,从3毛多被爆仓单砸到1分多。

那时MCR=3?我都记不起来了。。。
可见规则是多么关键,牛逼的规则胜过亿万真金白银。


再补充说明一点,关于MCR,存在一个极大值就是2。在MCR为2时,空方卖出1个BTS,多方投入1个BTS抵押产生的bitCNY刚刚能够接住空方抛压。MCR超过2,无论牛熊市,空方都会占据优势。

Offline binggo

  • Hero Member
  • *****
  • Posts: 2374
  • 世间太多瘪犊子
    • View Profile



       多次提到了MSSR。记得前几次接近黑天鹅的时候,我们的喂价已经超过了MSSR了,溢价都超过10%了,难道我们就不能再拉高喂价了?认为调整喂价不能超过MSSR这个认知必须纠正过来。还有MCR不但不能降低,还应该提高。脑洞大开,假如我们的MCR=10,会怎样?甚至100又会怎样?

别逗了,还MCR提高到10,你知道后果吗?!BTS刚出来时MCR=3,碰上熊市,从3毛多被爆仓单砸到1分多。


若MCR=10,BTS跌10%,抵押量需要翻倍才能抵消这个跌幅达到平衡,维持bitCNY总量不变,可能吗?真如此的话,BTS就死透了。
      正如前辈所说,若MCR=10,要维持BITCNY总量不变的话,那么喂价可以同步上调。不仅BTS不会死,而且价格还会涨。

别秀智商了,BTS价格1元,你喂价十元?
        资本是逐利的,锚定精确了,喂价10元,BTS价格1元。这样的现象不会存在,假如喂价10元了,那么内盘至少会9元左右,外盘也会跟上来的。

这个逻辑竟让人无言以对!。。。。。

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1929
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab
更新:

Pdex:内盘bitCNY价格
premium:溢价百分比
Premium0: 一小时前的溢价百分比
i=0; Ti=30; Td=2

while True:
   if (上次执行后计时器已过去一小时):
         i+=premium/Ti;
         d=Td*(premium-premium0)
       
         if  -2%<premium<2%:
           i=0.9i; /**溢价接近0时逐步减小积分环节影响,以免引起震荡

   if premium<0%:
     k=1+2*premium

   if 0<premium<1%:
      k=1+9.6*premium

   if 1%<premium<2.4%:
      k=1.096

   if 2.4%<premium:
      k=1+4*premium

   feed price = Pdex*min((i+k+d),1.7)

有点意思,我的感觉如下。

0. 最重要的一点,传统 PID 都是直接反馈,而我们的喂价是间接反馈,所以不能简单套用。

  因为你的喂价不是直接影响 premium 的,而是通过影响中间喂价(median feed)间接影响 premium,你的算法里没有把中间喂价加入计算,是个严重失误。当你的喂价离中间喂价很远时,不管你怎么调,积分再多,中间喂价还是不会动,进而 premium 也不会动,但这不是因为你的喂价不够高,而是别人的喂价不够高。在premium一直超过 2% 的情况下,你的积分会一直积累,可能导致你的喂价偏离合理值很多。

当然,现在负反馈喂价刚开始推行,premium超过2%很常见。等负反馈喂价推行一段时间后,如果premium保持在2%以内,你算法里的 i=0.9i 会很快减小偏差。


在不考虑中间喂价的情况下:

1. Ti 较大,也就是积分较慢,响应慢:30小时才积累 1*premium,相比 k 的 9.6*premium ,能起的作用很小;可能运行相当长时间后才有效果。

2. i=0.9i的问题

2.1. 如果premium一直在2%以下,这个动作会导致 i 达到premium/3后就不再增长,影响积分效果。
premium/3时,当前小时增加量为 premium/30,i=0.9i后结果为0.9*(1/3+1/30)=0.9*11/30=9.9/30<1/3

2.2. 如果premium超过2%积累了一段时间, i 相对较大时,变成 -2%<premium<2% 时的每小时 i=0.9i 导致的减小速度太快,反而可能会带来震荡;

2.3. 如果不加入 i=0.9i 的步骤,则只有当 premium 变成负数时, i 才可能减小,这样比较合理,有助于发现静差数值。

3. Td 微分系数 2 倍,这个感觉偏大,震荡明显

---------分割线----------

推演一下?

当 premium 一个小时从 0% 变成 1%,也就是 1.00变成1.01,此时 i=0.0003, k=1.096, d=0.02,喂价 1.1163(注意,这就超过10%的MSSR处理范围了)

premium维持1%不变,i=(0.0003+0.0003)*0.9=0.00054,k=1.096,d=0,喂价 1.09654(震荡)

premium 维持 1% ,i=(0.00054+0.0003)*0.9=0.00076,k=1.096,d=0,喂价1.09676(缓慢积累)

premium 从1%变成2%, i=(0.00076+0.0006)*0.9=0.00122,k=1.096,d=0.02,喂价1.11722(再次超过10%)

premium 维持 2%,i=(0.00122+0.0006)*0.9=0.00164,k=1.096,d=0,喂价1.09764(震荡)

premium 从2%变成3%,i=(0.00164+0.0009)=0.00254,k=1.12,d=0.02,喂价1.14254

premium 维持 3%,i=0.00254+0.0009=0.00344,k=1.12,d=0,喂价1.12344

先推到这里。。

确实,中间喂价需要纳入计算来确定喂价合理范围。

一些参数都需要更多优化,包括计算间隔,1小时是否合适?是否10分钟更合适?这个可以再考虑,先拿1小时作推演。

感觉溢价较低时让喂价快速向市场价方向回归还是需要的,i=0.9i是基于这方面考虑,可能需要选择更好收敛算法。

更新:
Pdex:内盘bitCNY价格
Pf: 当前喂价
premium:溢价百分比
Premium0: 一小时前的溢价百分比

Ti=10; Td=1;p=4
convergence factor = 0.96

get Pdex, Pf, premium;
premium0=premium;
k=1+p*pemium;
d=0, i= Pf/Pdex-k; ##设置初始值使得初始喂价等于当前喂价

while True:
   
   get Pdex, Pf, premium;

   if (上次执行后计时器已过去一小时):
         i+=premium/Ti;
         d=Td*(premium-premium0);
         premium0=premium;
       
         if  -1%<premium<1%:
           i=i*convergence factor; ##溢价接近0时逐步减小积分环节影响,以免引起震荡
   
   k=1+p*pemium; ##去除产生k的复杂分段公式,直接线性,因为积分环节已经可以保证补偿不断增加,而且也无必要过多在意MSSR限制。
   
   if i+k+d>1:
     feed price = Pdex*min(i+k+d, 1.5, 1.2*Pf/Pdex) ##向上调价时,喂价不超过内盘价1.5倍,不超过当前喂价1.2倍
   else:
     feed price = Pdex*max(i+k+d, 0.91*Pf/Pdex)##向下调价时,喂价不得低于当前喂价0.91倍。

再推演下:

当 premium 一个小时从 0% 变成 1%,也就是 1.00变成1.01,此时 i=0.001, k=1.04, d=0.01,喂价 1.051

premium维持1%不变,i=(0.001+0.001)*0.96=0.00192,k=1.04,d=0,喂价 1.04192(震荡)

premium 维持 1% ,i=(0.00192+0.001)*0.96=0.0028,k=1.04,d=0,喂价1.0428(缓慢积累)

premium 从1%变成2%, i=(0.0028+0.002)=0.0048,k=1.08,d=0.01,喂价1.0948

premium 维持 2%,i=(0.0048+0.002)=0.0068, k=1.08,d=0,喂价1.0868(震荡)

premium 从2%变成3%,i=(0.0068+0.003)=0.0098,k=1.12,d=0.01,喂价1.1398

premium 维持 3%,i=0.0098+0.003=0.0128,k=1.12,d=0,喂价1.1328

premium 维持 3%再过10小时,i=0.0128+0.003*10 = 0.0428, k=1.12, d=0, 喂价1.1628


« Last Edit: September 08, 2018, 07:53:35 am by bitcrab »
Email:bitcrab@qq.com

Offline gghi

  • Hero Member
  • *****
  • Posts: 510
    • View Profile
  • BitShares: ttt888



       多次提到了MSSR。记得前几次接近黑天鹅的时候,我们的喂价已经超过了MSSR了,溢价都超过10%了,难道我们就不能再拉高喂价了?认为调整喂价不能超过MSSR这个认知必须纠正过来。还有MCR不但不能降低,还应该提高。脑洞大开,假如我们的MCR=10,会怎样?甚至100又会怎样?

别逗了,还MCR提高到10,你知道后果吗?!BTS刚出来时MCR=3,碰上熊市,从3毛多被爆仓单砸到1分多。


若MCR=10,BTS跌10%,抵押量需要翻倍才能抵消这个跌幅达到平衡,维持bitCNY总量不变,可能吗?真如此的话,BTS就死透了。
      正如前辈所说,若MCR=10,要维持BITCNY总量不变的话,那么喂价可以同步上调。不仅BTS不会死,而且价格还会涨。

别秀智商了,BTS价格1元,你喂价十元?
        资本是逐利的,锚定精确了,喂价10元,BTS价格1元。这样的现象不会存在,假如喂价10元了,那么内盘至少会9元左右,外盘也会跟上来的。

Offline gghi

  • Hero Member
  • *****
  • Posts: 510
    • View Profile
  • BitShares: ttt888
更新:

Pdex:内盘bitCNY价格
premium:溢价百分比
Premium0: 一小时前的溢价百分比
i=0; Ti=30; Td=2

while True:
   if (上次执行后计时器已过去一小时):
         i+=premium/Ti;
         d=Td*(premium-premium0)
       
         if  -2%<premium<2%:
           i=0.9i; /**溢价接近0时逐步减小积分环节影响,以免引起震荡

   if premium<0%:
     k=1+2*premium

   if 0<premium<1%:
      k=1+9.6*premium

   if 1%<premium<2.4%:
      k=1.096

   if 2.4%<premium:
      k=1+4*premium

   feed price = Pdex*min((i+k+d),1.7)

有点意思,我的感觉如下。

0. 最重要的一点,传统 PID 都是直接反馈,而我们的喂价是间接反馈,所以不能简单套用。

  因为你的喂价不是直接影响 premium 的,而是通过影响中间喂价(median feed)间接影响 premium,你的算法里没有把中间喂价加入计算,是个严重失误。当你的喂价离中间喂价很远时,不管你怎么调,积分再多,中间喂价还是不会动,进而 premium 也不会动,但这不是因为你的喂价不够高,而是别人的喂价不够高。在premium一直超过 2% 的情况下,你的积分会一直积累,可能导致你的喂价偏离合理值很多。

当然,现在负反馈喂价刚开始推行,premium超过2%很常见。等负反馈喂价推行一段时间后,如果premium保持在2%以内,你算法里的 i=0.9i 会很快减小偏差。


在不考虑中间喂价的情况下:

1. Ti 较大,也就是积分较慢,响应慢:30小时才积累 1*premium,相比 k 的 9.6*premium ,能起的作用很小;可能运行相当长时间后才有效果。

2. i=0.9i的问题

2.1. 如果premium一直在2%以下,这个动作会导致 i 达到premium/3后就不再增长,影响积分效果。
premium/3时,当前小时增加量为 premium/30,i=0.9i后结果为0.9*(1/3+1/30)=0.9*11/30=9.9/30<1/3

2.2. 如果premium超过2%积累了一段时间, i 相对较大时,变成 -2%<premium<2% 时的每小时 i=0.9i 导致的减小速度太快,反而可能会带来震荡;

2.3. 如果不加入 i=0.9i 的步骤,则只有当 premium 变成负数时, i 才可能减小,这样比较合理,有助于发现静差数值。

3. Td 微分系数 2 倍,这个感觉偏大,震荡明显

---------分割线----------

推演一下?

当 premium 一个小时从 0% 变成 1%,也就是 1.00变成1.01,此时 i=0.0003, k=1.096, d=0.02,喂价 1.1163(注意,这就超过10%的MSSR处理范围了)

premium维持1%不变,i=(0.0003+0.0003)*0.9=0.00054,k=1.096,d=0,喂价 1.09654(震荡)

premium 维持 1% ,i=(0.00054+0.0003)*0.9=0.00076,k=1.096,d=0,喂价1.09676(缓慢积累)

premium 从1%变成2%, i=(0.00076+0.0006)*0.9=0.00122,k=1.096,d=0.02,喂价1.11722(再次超过10%)

premium 维持 2%,i=(0.00122+0.0006)*0.9=0.00164,k=1.096,d=0,喂价1.09764(震荡)

premium 从2%变成3%,i=(0.00164+0.0009)=0.00254,k=1.12,d=0.02,喂价1.14254

premium 维持 3%,i=0.00254+0.0009=0.00344,k=1.12,d=0,喂价1.12344

先推到这里。。


       多次提到了MSSR。记得前几次接近黑天鹅的时候,我们的喂价已经超过了MSSR了,溢价都超过10%了,难道我们就不能再拉高喂价了?认为调整喂价不能超过MSSR这个认知必须纠正过来。还有MCR不但不能降低,还应该提高。脑洞大开,假如我们的MCR=10,会怎样?甚至100又会怎样?

别逗了,还MCR提高到10,你知道后果吗?!BTS刚出来时MCR=3,碰上熊市,从3毛多被爆仓单砸到1分多。


若MCR=10,BTS跌10%,抵押量需要翻倍才能抵消这个跌幅达到平衡,维持bitCNY总量不变,可能吗?真如此的话,BTS就死透了。
      正如前辈所说,若MCR=10,要维持BITCNY总量不变的话,那么喂价可以同步上调。不仅BTS不会死,而且价格还会涨。
兄弟,你这锲而不舍的精神,如果做BTS推广很强大很值得肯定,我也见你在好多群里宣传这次的喂价改革,但是讨论的这些参数设置,我真的觉得你想的太简单了。其他人的喂价改革都是在一定范围内摸索,即使巨蟹现在突破MSSR,也是为了目的而选择冒险,而你似乎压根没有意识到危险。
还是我最早说的,你不能只追求一次暴涨,而忽略了随后的暴跌,熊市来临,泥沙俱下,挡不住的,该贬值就贬值。也许你会说一直调高喂价,就不会暴跌,不会黑天鹅等。但是这是不可能的,BTS是去中心化的,bitcny也是没有背书的,必须让系统自动为bitcny保持价值,如果喂价一直拉高,则bitcny虽然是比cnc有价值,但是已经不是锚定币了。
我不知道我说这些话,是不是又绕回到了最开始跟你讨论的内容,我反正感觉有点熟悉,但是不管怎么样,不管以前是否重复的说过,不管我前前后后说的某些话是否太难听,我只是针对你的观点,请见谅。

       不存在见谅一词,都是战友,都为了BTS。每一位回帖的我都很感谢,至少是关注BTS发展的人才会费心的讨论。改革喂价的目的不是为了BTS的一次暴涨,是为了锚定更加精确。我不知道你心里的锚定币概念,BITCNY/CNY,的交易价格在正负1%之间波动,不正是最好的锚定么?

Offline gmgogo

  • Sr. Member
  • ****
  • Posts: 333
    • View Profile
更新:

Pdex:内盘bitCNY价格
premium:溢价百分比
Premium0: 一小时前的溢价百分比
i=0; Ti=30; Td=2

while True:
   if (上次执行后计时器已过去一小时):
         i+=premium/Ti;
         d=Td*(premium-premium0)
       
         if  -2%<premium<2%:
           i=0.9i; /**溢价接近0时逐步减小积分环节影响,以免引起震荡

   if premium<0%:
     k=1+2*premium

   if 0<premium<1%:
      k=1+9.6*premium

   if 1%<premium<2.4%:
      k=1.096

   if 2.4%<premium:
      k=1+4*premium

   feed price = Pdex*min((i+k+d),1.7)

有点意思,我的感觉如下。

0. 最重要的一点,传统 PID 都是直接反馈,而我们的喂价是间接反馈,所以不能简单套用。

  因为你的喂价不是直接影响 premium 的,而是通过影响中间喂价(median feed)间接影响 premium,你的算法里没有把中间喂价加入计算,是个严重失误。当你的喂价离中间喂价很远时,不管你怎么调,积分再多,中间喂价还是不会动,进而 premium 也不会动,但这不是因为你的喂价不够高,而是别人的喂价不够高。在premium一直超过 2% 的情况下,你的积分会一直积累,可能导致你的喂价偏离合理值很多。

当然,现在负反馈喂价刚开始推行,premium超过2%很常见。等负反馈喂价推行一段时间后,如果premium保持在2%以内,你算法里的 i=0.9i 会很快减小偏差。


在不考虑中间喂价的情况下:

1. Ti 较大,也就是积分较慢,响应慢:30小时才积累 1*premium,相比 k 的 9.6*premium ,能起的作用很小;可能运行相当长时间后才有效果。

2. i=0.9i的问题

2.1. 如果premium一直在2%以下,这个动作会导致 i 达到premium/3后就不再增长,影响积分效果。
premium/3时,当前小时增加量为 premium/30,i=0.9i后结果为0.9*(1/3+1/30)=0.9*11/30=9.9/30<1/3

2.2. 如果premium超过2%积累了一段时间, i 相对较大时,变成 -2%<premium<2% 时的每小时 i=0.9i 导致的减小速度太快,反而可能会带来震荡;

2.3. 如果不加入 i=0.9i 的步骤,则只有当 premium 变成负数时, i 才可能减小,这样比较合理,有助于发现静差数值。

3. Td 微分系数 2 倍,这个感觉偏大,震荡明显

---------分割线----------

推演一下?

当 premium 一个小时从 0% 变成 1%,也就是 1.00变成1.01,此时 i=0.0003, k=1.096, d=0.02,喂价 1.1163(注意,这就超过10%的MSSR处理范围了)

premium维持1%不变,i=(0.0003+0.0003)*0.9=0.00054,k=1.096,d=0,喂价 1.09654(震荡)

premium 维持 1% ,i=(0.00054+0.0003)*0.9=0.00076,k=1.096,d=0,喂价1.09676(缓慢积累)

premium 从1%变成2%, i=(0.00076+0.0006)*0.9=0.00122,k=1.096,d=0.02,喂价1.11722(再次超过10%)

premium 维持 2%,i=(0.00122+0.0006)*0.9=0.00164,k=1.096,d=0,喂价1.09764(震荡)

premium 从2%变成3%,i=(0.00164+0.0009)=0.00254,k=1.12,d=0.02,喂价1.14254

premium 维持 3%,i=0.00254+0.0009=0.00344,k=1.12,d=0,喂价1.12344

先推到这里。。


       多次提到了MSSR。记得前几次接近黑天鹅的时候,我们的喂价已经超过了MSSR了,溢价都超过10%了,难道我们就不能再拉高喂价了?认为调整喂价不能超过MSSR这个认知必须纠正过来。还有MCR不但不能降低,还应该提高。脑洞大开,假如我们的MCR=10,会怎样?甚至100又会怎样?

别逗了,还MCR提高到10,你知道后果吗?!BTS刚出来时MCR=3,碰上熊市,从3毛多被爆仓单砸到1分多。


若MCR=10,BTS跌10%,抵押量需要翻倍才能抵消这个跌幅达到平衡,维持bitCNY总量不变,可能吗?真如此的话,BTS就死透了。
      正如前辈所说,若MCR=10,要维持BITCNY总量不变的话,那么喂价可以同步上调。不仅BTS不会死,而且价格还会涨。
兄弟,你这锲而不舍的精神,如果做BTS推广很强大很值得肯定,我也见你在好多群里宣传这次的喂价改革,但是讨论的这些参数设置,我真的觉得你想的太简单了。其他人的喂价改革都是在一定范围内摸索,即使巨蟹现在突破MSSR,也是为了目的而选择冒险,而你似乎压根没有意识到危险。
还是我最早说的,你不能只追求一次暴涨,而忽略了随后的暴跌,熊市来临,泥沙俱下,挡不住的,该贬值就贬值。也许你会说一直调高喂价,就不会暴跌,不会黑天鹅等。但是这是不可能的,BTS是去中心化的,bitcny也是没有背书的,必须让系统自动为bitcny保持价值,如果喂价一直拉高,则bitcny虽然是比cnc有价值,但是已经不是锚定币了。
我不知道我说这些话,是不是又绕回到了最开始跟你讨论的内容,我反正感觉有点熟悉,但是不管怎么样,不管以前是否重复的说过,不管我前前后后说的某些话是否太难听,我只是针对你的观点,请见谅。

Offline zhouxiaobao

现在理事会账户因为投票不足,每天提取不出来20万BTS了,我认为理事会账户很重要。当前喂价改革目测只能维持充值费率在4%以下,更加精确的锚定需要理事会账户的参与配合!强烈呼吁大家先把理事会账户注资的投票问题先解决!

Offline 天籁

  • Hero Member
  • *****
  • Posts: 744
    • View Profile
更新:

Pdex:内盘bitCNY价格
premium:溢价百分比
Premium0: 一小时前的溢价百分比
i=0; Ti=30; Td=2

while True:
   if (上次执行后计时器已过去一小时):
         i+=premium/Ti;
         d=Td*(premium-premium0)
       
         if  -2%<premium<2%:
           i=0.9i; /**溢价接近0时逐步减小积分环节影响,以免引起震荡

   if premium<0%:
     k=1+2*premium

   if 0<premium<1%:
      k=1+9.6*premium

   if 1%<premium<2.4%:
      k=1.096

   if 2.4%<premium:
      k=1+4*premium

   feed price = Pdex*min((i+k+d),1.7)

有点意思,我的感觉如下。

0. 最重要的一点,传统 PID 都是直接反馈,而我们的喂价是间接反馈,所以不能简单套用。

  因为你的喂价不是直接影响 premium 的,而是通过影响中间喂价(median feed)间接影响 premium,你的算法里没有把中间喂价加入计算,是个严重失误。当你的喂价离中间喂价很远时,不管你怎么调,积分再多,中间喂价还是不会动,进而 premium 也不会动,但这不是因为你的喂价不够高,而是别人的喂价不够高。在premium一直超过 2% 的情况下,你的积分会一直积累,可能导致你的喂价偏离合理值很多。

当然,现在负反馈喂价刚开始推行,premium超过2%很常见。等负反馈喂价推行一段时间后,如果premium保持在2%以内,你算法里的 i=0.9i 会很快减小偏差。


在不考虑中间喂价的情况下:

1. Ti 较大,也就是积分较慢,响应慢:30小时才积累 1*premium,相比 k 的 9.6*premium ,能起的作用很小;可能运行相当长时间后才有效果。

2. i=0.9i的问题

2.1. 如果premium一直在2%以下,这个动作会导致 i 达到premium/3后就不再增长,影响积分效果。
premium/3时,当前小时增加量为 premium/30,i=0.9i后结果为0.9*(1/3+1/30)=0.9*11/30=9.9/30<1/3

2.2. 如果premium超过2%积累了一段时间, i 相对较大时,变成 -2%<premium<2% 时的每小时 i=0.9i 导致的减小速度太快,反而可能会带来震荡;

2.3. 如果不加入 i=0.9i 的步骤,则只有当 premium 变成负数时, i 才可能减小,这样比较合理,有助于发现静差数值。

3. Td 微分系数 2 倍,这个感觉偏大,震荡明显

---------分割线----------

推演一下?

当 premium 一个小时从 0% 变成 1%,也就是 1.00变成1.01,此时 i=0.0003, k=1.096, d=0.02,喂价 1.1163(注意,这就超过10%的MSSR处理范围了)

premium维持1%不变,i=(0.0003+0.0003)*0.9=0.00054,k=1.096,d=0,喂价 1.09654(震荡)

premium 维持 1% ,i=(0.00054+0.0003)*0.9=0.00076,k=1.096,d=0,喂价1.09676(缓慢积累)

premium 从1%变成2%, i=(0.00076+0.0006)*0.9=0.00122,k=1.096,d=0.02,喂价1.11722(再次超过10%)

premium 维持 2%,i=(0.00122+0.0006)*0.9=0.00164,k=1.096,d=0,喂价1.09764(震荡)

premium 从2%变成3%,i=(0.00164+0.0009)=0.00254,k=1.12,d=0.02,喂价1.14254

premium 维持 3%,i=0.00254+0.0009=0.00344,k=1.12,d=0,喂价1.12344

先推到这里。。


       多次提到了MSSR。记得前几次接近黑天鹅的时候,我们的喂价已经超过了MSSR了,溢价都超过10%了,难道我们就不能再拉高喂价了?认为调整喂价不能超过MSSR这个认知必须纠正过来。还有MCR不但不能降低,还应该提高。脑洞大开,假如我们的MCR=10,会怎样?甚至100又会怎样?

别逗了,还MCR提高到10,你知道后果吗?!BTS刚出来时MCR=3,碰上熊市,从3毛多被爆仓单砸到1分多。


若MCR=10,BTS跌10%,抵押量需要翻倍才能抵消这个跌幅达到平衡,维持bitCNY总量不变,可能吗?真如此的话,BTS就死透了。
      正如前辈所说,若MCR=10,要维持BITCNY总量不变的话,那么喂价可以同步上调。不仅BTS不会死,而且价格还会涨。

别秀智商了,BTS价格1元,你喂价十元?

Offline gghi

  • Hero Member
  • *****
  • Posts: 510
    • View Profile
  • BitShares: ttt888
更新:

Pdex:内盘bitCNY价格
premium:溢价百分比
Premium0: 一小时前的溢价百分比
i=0; Ti=30; Td=2

while True:
   if (上次执行后计时器已过去一小时):
         i+=premium/Ti;
         d=Td*(premium-premium0)
       
         if  -2%<premium<2%:
           i=0.9i; /**溢价接近0时逐步减小积分环节影响,以免引起震荡

   if premium<0%:
     k=1+2*premium

   if 0<premium<1%:
      k=1+9.6*premium

   if 1%<premium<2.4%:
      k=1.096

   if 2.4%<premium:
      k=1+4*premium

   feed price = Pdex*min((i+k+d),1.7)

有点意思,我的感觉如下。

0. 最重要的一点,传统 PID 都是直接反馈,而我们的喂价是间接反馈,所以不能简单套用。

  因为你的喂价不是直接影响 premium 的,而是通过影响中间喂价(median feed)间接影响 premium,你的算法里没有把中间喂价加入计算,是个严重失误。当你的喂价离中间喂价很远时,不管你怎么调,积分再多,中间喂价还是不会动,进而 premium 也不会动,但这不是因为你的喂价不够高,而是别人的喂价不够高。在premium一直超过 2% 的情况下,你的积分会一直积累,可能导致你的喂价偏离合理值很多。

当然,现在负反馈喂价刚开始推行,premium超过2%很常见。等负反馈喂价推行一段时间后,如果premium保持在2%以内,你算法里的 i=0.9i 会很快减小偏差。


在不考虑中间喂价的情况下:

1. Ti 较大,也就是积分较慢,响应慢:30小时才积累 1*premium,相比 k 的 9.6*premium ,能起的作用很小;可能运行相当长时间后才有效果。

2. i=0.9i的问题

2.1. 如果premium一直在2%以下,这个动作会导致 i 达到premium/3后就不再增长,影响积分效果。
premium/3时,当前小时增加量为 premium/30,i=0.9i后结果为0.9*(1/3+1/30)=0.9*11/30=9.9/30<1/3

2.2. 如果premium超过2%积累了一段时间, i 相对较大时,变成 -2%<premium<2% 时的每小时 i=0.9i 导致的减小速度太快,反而可能会带来震荡;

2.3. 如果不加入 i=0.9i 的步骤,则只有当 premium 变成负数时, i 才可能减小,这样比较合理,有助于发现静差数值。

3. Td 微分系数 2 倍,这个感觉偏大,震荡明显

---------分割线----------

推演一下?

当 premium 一个小时从 0% 变成 1%,也就是 1.00变成1.01,此时 i=0.0003, k=1.096, d=0.02,喂价 1.1163(注意,这就超过10%的MSSR处理范围了)

premium维持1%不变,i=(0.0003+0.0003)*0.9=0.00054,k=1.096,d=0,喂价 1.09654(震荡)

premium 维持 1% ,i=(0.00054+0.0003)*0.9=0.00076,k=1.096,d=0,喂价1.09676(缓慢积累)

premium 从1%变成2%, i=(0.00076+0.0006)*0.9=0.00122,k=1.096,d=0.02,喂价1.11722(再次超过10%)

premium 维持 2%,i=(0.00122+0.0006)*0.9=0.00164,k=1.096,d=0,喂价1.09764(震荡)

premium 从2%变成3%,i=(0.00164+0.0009)=0.00254,k=1.12,d=0.02,喂价1.14254

premium 维持 3%,i=0.00254+0.0009=0.00344,k=1.12,d=0,喂价1.12344

先推到这里。。


       多次提到了MSSR。记得前几次接近黑天鹅的时候,我们的喂价已经超过了MSSR了,溢价都超过10%了,难道我们就不能再拉高喂价了?认为调整喂价不能超过MSSR这个认知必须纠正过来。还有MCR不但不能降低,还应该提高。脑洞大开,假如我们的MCR=10,会怎样?甚至100又会怎样?

别逗了,还MCR提高到10,你知道后果吗?!BTS刚出来时MCR=3,碰上熊市,从3毛多被爆仓单砸到1分多。


若MCR=10,BTS跌10%,抵押量需要翻倍才能抵消这个跌幅达到平衡,维持bitCNY总量不变,可能吗?真如此的话,BTS就死透了。
      正如前辈所说,若MCR=10,要维持BITCNY总量不变的话,那么喂价可以同步上调。不仅BTS不会死,而且价格还会涨。

Offline 天籁

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

别逗了,还MCR提高到10,你知道后果吗?!BTS刚出来时MCR=3,碰上熊市,从3毛多被爆仓单砸到1分多。

那时MCR=3?我都记不起来了。。。
可见规则是多么关键,牛逼的规则胜过亿万真金白银。


刚开始规则和现在不太一样,是用自己的2个BTS和对手盘1个BTS通过交易市场撮合成交生产1个BTS等值的bitCNY,3个BTS被抵押。

那时BTS的主跌段,还因为当时30天到期bitCNY必须全部平仓的中世纪黑暗规则,造成大姨妈事件,每到当时的一个大short单到期平仓,就是一次大失血。此前高点,BTS价格是瑞波的十倍,BTS流通市值超过瑞波,瑞波为了保住第三的市值,直接增发夺回老三的位置。历经三年BTS才突破前高,按交易时间算相当于股市二三十年,多少人被迫离开BTS,也成就了以太坊。

BTS真是多灾多难!走到现在有多不容易。
« Last Edit: September 08, 2018, 04:07:09 am by 天籁 »

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1929
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab

别逗了,还MCR提高到10,你知道后果吗?!BTS刚出来时MCR=3,碰上熊市,从3毛多被爆仓单砸到1分多。

那时MCR=3?我都记不起来了。。。
可见规则是多么关键,牛逼的规则胜过亿万真金白银。
Email:bitcrab@qq.com

Offline 天籁

  • Hero Member
  • *****
  • Posts: 744
    • View Profile
更新:

Pdex:内盘bitCNY价格
premium:溢价百分比
Premium0: 一小时前的溢价百分比
i=0; Ti=30; Td=2

while True:
   if (上次执行后计时器已过去一小时):
         i+=premium/Ti;
         d=Td*(premium-premium0)
       
         if  -2%<premium<2%:
           i=0.9i; /**溢价接近0时逐步减小积分环节影响,以免引起震荡

   if premium<0%:
     k=1+2*premium

   if 0<premium<1%:
      k=1+9.6*premium

   if 1%<premium<2.4%:
      k=1.096

   if 2.4%<premium:
      k=1+4*premium

   feed price = Pdex*min((i+k+d),1.7)

有点意思,我的感觉如下。

0. 最重要的一点,传统 PID 都是直接反馈,而我们的喂价是间接反馈,所以不能简单套用。

  因为你的喂价不是直接影响 premium 的,而是通过影响中间喂价(median feed)间接影响 premium,你的算法里没有把中间喂价加入计算,是个严重失误。当你的喂价离中间喂价很远时,不管你怎么调,积分再多,中间喂价还是不会动,进而 premium 也不会动,但这不是因为你的喂价不够高,而是别人的喂价不够高。在premium一直超过 2% 的情况下,你的积分会一直积累,可能导致你的喂价偏离合理值很多。

当然,现在负反馈喂价刚开始推行,premium超过2%很常见。等负反馈喂价推行一段时间后,如果premium保持在2%以内,你算法里的 i=0.9i 会很快减小偏差。


在不考虑中间喂价的情况下:

1. Ti 较大,也就是积分较慢,响应慢:30小时才积累 1*premium,相比 k 的 9.6*premium ,能起的作用很小;可能运行相当长时间后才有效果。

2. i=0.9i的问题

2.1. 如果premium一直在2%以下,这个动作会导致 i 达到premium/3后就不再增长,影响积分效果。
premium/3时,当前小时增加量为 premium/30,i=0.9i后结果为0.9*(1/3+1/30)=0.9*11/30=9.9/30<1/3

2.2. 如果premium超过2%积累了一段时间, i 相对较大时,变成 -2%<premium<2% 时的每小时 i=0.9i 导致的减小速度太快,反而可能会带来震荡;

2.3. 如果不加入 i=0.9i 的步骤,则只有当 premium 变成负数时, i 才可能减小,这样比较合理,有助于发现静差数值。

3. Td 微分系数 2 倍,这个感觉偏大,震荡明显

---------分割线----------

推演一下?

当 premium 一个小时从 0% 变成 1%,也就是 1.00变成1.01,此时 i=0.0003, k=1.096, d=0.02,喂价 1.1163(注意,这就超过10%的MSSR处理范围了)

premium维持1%不变,i=(0.0003+0.0003)*0.9=0.00054,k=1.096,d=0,喂价 1.09654(震荡)

premium 维持 1% ,i=(0.00054+0.0003)*0.9=0.00076,k=1.096,d=0,喂价1.09676(缓慢积累)

premium 从1%变成2%, i=(0.00076+0.0006)*0.9=0.00122,k=1.096,d=0.02,喂价1.11722(再次超过10%)

premium 维持 2%,i=(0.00122+0.0006)*0.9=0.00164,k=1.096,d=0,喂价1.09764(震荡)

premium 从2%变成3%,i=(0.00164+0.0009)=0.00254,k=1.12,d=0.02,喂价1.14254

premium 维持 3%,i=0.00254+0.0009=0.00344,k=1.12,d=0,喂价1.12344

先推到这里。。


       多次提到了MSSR。记得前几次接近黑天鹅的时候,我们的喂价已经超过了MSSR了,溢价都超过10%了,难道我们就不能再拉高喂价了?认为调整喂价不能超过MSSR这个认知必须纠正过来。还有MCR不但不能降低,还应该提高。脑洞大开,假如我们的MCR=10,会怎样?甚至100又会怎样?

别逗了,还MCR提高到10,你知道后果吗?!BTS刚出来时MCR=3,碰上熊市,从3毛多被爆仓单砸到1分多。


若MCR=10,BTS跌10%,抵押量需要翻倍才能抵消这个跌幅达到平衡,维持bitCNY总量不变,可能吗?真如此的话,BTS就死透了。

Offline gghi

  • Hero Member
  • *****
  • Posts: 510
    • View Profile
  • BitShares: ttt888
更新:

Pdex:内盘bitCNY价格
premium:溢价百分比
Premium0: 一小时前的溢价百分比
i=0; Ti=30; Td=2

while True:
   if (上次执行后计时器已过去一小时):
         i+=premium/Ti;
         d=Td*(premium-premium0)
       
         if  -2%<premium<2%:
           i=0.9i; /**溢价接近0时逐步减小积分环节影响,以免引起震荡

   if premium<0%:
     k=1+2*premium

   if 0<premium<1%:
      k=1+9.6*premium

   if 1%<premium<2.4%:
      k=1.096

   if 2.4%<premium:
      k=1+4*premium

   feed price = Pdex*min((i+k+d),1.7)

有点意思,我的感觉如下。

0. 最重要的一点,传统 PID 都是直接反馈,而我们的喂价是间接反馈,所以不能简单套用。

  因为你的喂价不是直接影响 premium 的,而是通过影响中间喂价(median feed)间接影响 premium,你的算法里没有把中间喂价加入计算,是个严重失误。当你的喂价离中间喂价很远时,不管你怎么调,积分再多,中间喂价还是不会动,进而 premium 也不会动,但这不是因为你的喂价不够高,而是别人的喂价不够高。在premium一直超过 2% 的情况下,你的积分会一直积累,可能导致你的喂价偏离合理值很多。

当然,现在负反馈喂价刚开始推行,premium超过2%很常见。等负反馈喂价推行一段时间后,如果premium保持在2%以内,你算法里的 i=0.9i 会很快减小偏差。


在不考虑中间喂价的情况下:

1. Ti 较大,也就是积分较慢,响应慢:30小时才积累 1*premium,相比 k 的 9.6*premium ,能起的作用很小;可能运行相当长时间后才有效果。

2. i=0.9i的问题

2.1. 如果premium一直在2%以下,这个动作会导致 i 达到premium/3后就不再增长,影响积分效果。
premium/3时,当前小时增加量为 premium/30,i=0.9i后结果为0.9*(1/3+1/30)=0.9*11/30=9.9/30<1/3

2.2. 如果premium超过2%积累了一段时间, i 相对较大时,变成 -2%<premium<2% 时的每小时 i=0.9i 导致的减小速度太快,反而可能会带来震荡;

2.3. 如果不加入 i=0.9i 的步骤,则只有当 premium 变成负数时, i 才可能减小,这样比较合理,有助于发现静差数值。

3. Td 微分系数 2 倍,这个感觉偏大,震荡明显

---------分割线----------

推演一下?

当 premium 一个小时从 0% 变成 1%,也就是 1.00变成1.01,此时 i=0.0003, k=1.096, d=0.02,喂价 1.1163(注意,这就超过10%的MSSR处理范围了)

premium维持1%不变,i=(0.0003+0.0003)*0.9=0.00054,k=1.096,d=0,喂价 1.09654(震荡)

premium 维持 1% ,i=(0.00054+0.0003)*0.9=0.00076,k=1.096,d=0,喂价1.09676(缓慢积累)

premium 从1%变成2%, i=(0.00076+0.0006)*0.9=0.00122,k=1.096,d=0.02,喂价1.11722(再次超过10%)

premium 维持 2%,i=(0.00122+0.0006)*0.9=0.00164,k=1.096,d=0,喂价1.09764(震荡)

premium 从2%变成3%,i=(0.00164+0.0009)=0.00254,k=1.12,d=0.02,喂价1.14254

premium 维持 3%,i=0.00254+0.0009=0.00344,k=1.12,d=0,喂价1.12344

先推到这里。。


       多次提到了MSSR。记得前几次接近黑天鹅的时候,我们的喂价已经超过了MSSR了,溢价都超过10%了,难道我们就不能再拉高喂价了?认为调整喂价不能超过MSSR这个认知必须纠正过来。还有MCR不但不能降低,还应该提高。脑洞大开,假如我们的MCR=10,会怎样?甚至100又会怎样?