Tuesday, February 9, 2010

9

Continuando o post de segunda-feira, descobri que é possível retirar o arquivo de log das mensagens do servidor do meu HomeBroker e depois de tratar esse arquivo eu consigo separar as operações em agressivas e passivas, cruzá-las com meu banco de dados por operação e descobrir detalhes importantes sobre minhas estratégias.

Por exemplo, considerando somente as operações feitas esse ano, as operações a mercado demoraram em média 9 segundos para serem confirmadas pela corretora a partir do momento que eu envio a ordem, por outro lado as operações passivas demoram em média 2:26 minutos para serem executadas (ficam sentadas no livro esperando liquidez).

9 segundos??? Apertar um botão pra comprar/vender a mercado leva tudo isso? Não é a toa que High-frequency-trading faz tanto sucesso.

A um tempão atrás eu jogava um jogo chamado Americas Army (http://www.americasarmy.com/) e o "ping" nos servidores lá fora ficava em torno de 300ms(0,3 segundo), ou melhor, se eu desse um tiro em um oponente levaria em torno de 1/3 de segundo para eu ver a cabeça do camarada explodir!!! Teoricamente, latências superiores a 100ms tornam a maioria dos jogos injogáveis, imagine um "ping" de 9.000ms!!!

Analisando trade a trade para tentar descobrir por que tanta demora percebi que é possível dividir as operações em 2 grupos, um deles que eu vou chamar de "normal" tem média de tempo de execução de 4s e o outro de "problemático" que possui uma média de 35s para ser executadas. Isso significa que SE (e somente se) a comunicação Trader-corretora-bolsa-corretora-trader fosse "normal" a média de tempo entre as operações seria de 4s.


Sendo extremamente conservador, em um mundo "normal" o Trader envia a ordem, que é executada, e a bolsa/corretora envia a mensagem de volta dizendo que a ordem foi executada. Então, no final das contas, é possível que o tempo real para uma ordem ser executada seja de no máximo metade do tempo médio ou 2s(embora só vamos descobrir que ela foi executada 2s depois). O problema é que o mundo não é "normal" e que problemas de comunicação não são exceção e sim regra e isso pode afetar negativamente o resultado das operações.

No comments:

Post a Comment