Nos mercados de previsão com N resultados, ouvi dizer que eles mantêm um livro de ordens separado de SIM/NÃO para cada resultado e dependem de arbitradores para "equilibrar" esses mercados. Se este for o caso, por quê? Por que as exchanges não estão fazendo a correspondência implícita de forma atômica para aumentar a liquidez?
Por exemplo, se houver 3 resultados e eu submeter um limite NÃO com uma chance de 30% de cada resultado acontecer, então essas ordens ficarão lá até que um arbitrador combine todos os 3 por um total de 90 cêntimos. Depois de colocar as duas primeiras ordens, a bolsa deve, em vez disso, mostrar uma ordem implícita SIM de 40 cêntimos para o terceiro resultado, e impedir-me de colocar a minha terceira ordem. Isso parece aumentar estritamente a liquidez para os usuários, dando-lhes melhores preços, spreads mais apertados e também um volume maior para a bolsa, uma vez que cada ordem que puder ser combinada será combinada. Além disso, os arbitradores não combinarão negociações implícitas de zero líquido, uma vez que não há ganho na arbitragem, enquanto as bolsas farão isso com prazer.
Por último, isso não parece particularmente complexo do ponto de vista computacional para o motor de correspondência. Para um único mercado de previsões, ele pode simplesmente manter a soma atual das melhores ofertas e a soma atual das melhores solicitações para cada um dos N resultados. Esta é uma operação O(1) na colocação de ordens. Se a soma das melhores ofertas ultrapassar 1, ou a soma das melhores solicitações ultrapassar N-1, então combine ordens em todos os resultados em uma negociação implícita. Isso é O(N), mas você está combinando N ordens.
Atualmente, não consigo pensar em uma maneira de servir eficientemente o "livro de ordens implícito" completo, mas pelo menos o preço de toque pode ser servido de forma extremamente eficiente com mínima sobrecarga. A quantidade de toque poderia ser servida se um min-heap (sobre o tamanho da ordem no toque) for mantido, embora isso seja menos eficiente do que O(1) por ordem (poderia ser O(log n)).
1,81K