Deviation and Spread

Please educate me…

Deviation on the bots is how much the bot will allow the price to drift before it changes the order?

Spread is how far from the above price it will set its price. Is this singe sided or double sided? Is a spread of 0.5% really 0.5% on both sides or is it split between each side (say 0.25%)?

Deviation: If the price changes by more than this, the bot will move the orders.
Offset: How far away from the price the bot will place the orders.
Spread: ~2x offset. Difference between highest bid and lowest ask price.
Tolerance: Largest amount actual orders can deviate from server price and still be credited for reward.

3 Likes

OK - does spread need to be 2X offset?

It sounds like it would be good for users to lower their offset to track the price better. Within reason of course because you don’t want the bot constantly adjusting the orders.

How do we know the tolerance of the server?

Spread is a phenomenological thing, it is not a parameter we directly control. We directly control the offset, which causes the spread (yes, always 2x, one for bid and one for ask). Changing the offset will not have any effect on how often the bot adjusts orders. The deviation does that. Deviation should be between 0.002 and 0.003 approximately, depending on the volatility of the currency.
Tolerance of servers is given in the custodial grant.

1 Like

For NBT/USD I see no problem for it to be 0.00001. There is absolutely no risk of bot collision as the exchange rate is exactly 1.0.
Right ? @desrever @willy @woolly_sammoth

Correct, there is no risk of collision, just the exchange tx fee to take into account

But the exchange fee is the reason for the spread, not the reason for the deviation, right?
@mhps question makes sense.

We should reduce friction of buying/selling Nubits with USD as far as the risk and cost allows.

1 Like

I agree with the NBT/USD.

But again on CCEDK someone did make some USDEUR hedge money on me last night. So there is still risk there.

Anyone can feel free to play with the parameters of their trading.py file in their python directory. There are no real ‘rules’ in this trustless system; just what you are and are not capable of. Feel free to drop the deviation on nbt/USD to 1e-10. Increase the offset to something like 0.007 and never lose on hedging. Nbt/cny is similar (though the tolerance is tighter): I have never lost money to hedgers on that pair.

I see in exchanges.py that CCEDK has 0.002 fee fixed in the code while actually it is changeable depending on the monthly volume.
I trading.py there is spread = max(self.exchange.fee, self.offset) so without changing the code one cannot reduce spread lower than 0.002 for ccedk