I wrote a small piece of code that traverse the pair graph found on page 3. I wanted to find out all the possible cycle paths that starts and ends from/to XBT.
Visually, you can spot few trivial ones. For instance XBT/USD -> ETH/USD -> ETH/XBT and few more that have 3 transitions...
but I clearly under evaluated the number of possible chains. I was at over 12 millions possible combinations when my system did run out of memory and my program crashed.
I spotted a glitch where few invalid cycles were added. I call those noops. One such noop useless cycle is: XBT/USD -> XBT/USD. I have remove those but there is only 39 of those so it is not a big part of the 12 millions combinations that I have found.
there is 2 things that I'm going to do:
1. I'll optimize memory usage of that code. When I ran out of memory the code was processing ZEC and they are processed in alphabetical order so I was almost done. To fulfill my curiosity, I want to know the exact number of cycles in that graph around XBT.
2. I'll certainly have to limit the length of a cycle chain. The longest that I have seen is 11 such as:
ZEC/XBT -> ZEC/USD -> XTZ/USD -> XTZ/EUR -> XRP/EUR -> XRP/JPY -> ETH/JPY -> ETH/USDC -> USDC/USDT -> USDT/CAD -> XBT/CAD
That length is possibly too long to be useful for anything. Plus if I have millions of combination to check every time a new best quote comes in, I won't be able to keep the system operate in real time.
On a different note, I went to do small errand with my family. I was annoyed that doing them was slow and members were distracted by things they saw on our way instead of staying focussed on the list of items to buy. I was feeling a strong drive to complete these tasks fast! It is first time that I notice such a drive in me...
Visually, you can spot few trivial ones. For instance XBT/USD -> ETH/USD -> ETH/XBT and few more that have 3 transitions...
but I clearly under evaluated the number of possible chains. I was at over 12 millions possible combinations when my system did run out of memory and my program crashed.
I spotted a glitch where few invalid cycles were added. I call those noops. One such noop useless cycle is: XBT/USD -> XBT/USD. I have remove those but there is only 39 of those so it is not a big part of the 12 millions combinations that I have found.
there is 2 things that I'm going to do:
1. I'll optimize memory usage of that code. When I ran out of memory the code was processing ZEC and they are processed in alphabetical order so I was almost done. To fulfill my curiosity, I want to know the exact number of cycles in that graph around XBT.
2. I'll certainly have to limit the length of a cycle chain. The longest that I have seen is 11 such as:
ZEC/XBT -> ZEC/USD -> XTZ/USD -> XTZ/EUR -> XRP/EUR -> XRP/JPY -> ETH/JPY -> ETH/USDC -> USDC/USDT -> USDT/CAD -> XBT/CAD
That length is possibly too long to be useful for anything. Plus if I have millions of combination to check every time a new best quote comes in, I won't be able to keep the system operate in real time.
On a different note, I went to do small errand with my family. I was annoyed that doing them was slow and members were distracted by things they saw on our way instead of staying focussed on the list of items to buy. I was feeling a strong drive to complete these tasks fast! It is first time that I notice such a drive in me...