Recriação do Livro de Ofertas para Estratégias Algorítmicas

Hoje vamos falar da recriação de um livro de ofertas, suas importâncias e riscos que são evitados com esse tipo de tratamento.


Para fazer qualquer tipo de análise em cima dos preços históricos captados pelo front-office, é necessário entender as condições em que aquelas ofertas se encontravam no passado. Dentro da criação de qualquer estratégia de negociação seja algorítmica ou não, se o passado não é perfeitamente recriado, não é possível ter 100% de confiança nos resultados dos testes. Numa estratégia algorítmica, tem de haver uma base sólida em volta para medir seus resultados, e no caso da comercialização de energia elétrica, recriar o passado como ele realmente aconteceu, é um ponto fundamental.


Vamos começar entendendo como uma oferta na BBCE retorna pela sua API, e os tratamentos necessários para o armazenamento dessas ofertas na base de dados.


Pela API da BBCE, é permitido consultar o book de oferta por produto ativo naquele exato momento. Quando é executado uma chamada na API, ela deve retornar algo semelhante ao exemplo a baixo:



Como é possível visualizar, nós obtemos as informações de preços de compra ou de venda, quantidades de compra ou de venda, e crédito que o cliente possui para aquela oferta, de determinado produto. Para os clientes do Navarra Trader, nós puxamos essas informações para todos os produtos disponíveis naquele momento na BBCE.


Ao armazenar essas informações num banco de dados, adicionamos mais 3 informações extremamente importantes para uma análise futura:

  • A data, hora, minuto e segundo que determinada oferta apareceu no nosso banco de dados pela primeira vez;

  • Se ela já apareceu em outras chamadas da API, e ainda está lá, a informação de que determinada oferta ainda está ativa no book de ofertas;

  • A data, hora, minuto e segundo que determinada oferta que está no banco de dados, não foi mais encontrada na chamada da API, significando que ela não está mais disponível no livro de ofertas e consequentemente, que não está mais ativa.



Um exemplo prático de como a oferta fica armazenada no banco de dados. TODOS OS DADOS MOSTRADOS NESTA IMAGEM SÃO FICTÍCIOS.


Com estas informações armazenadas, temos tudo que precisamos para olhar para o passado, e entender realmente como estava o livro de ofertas, e consequentemente que ofertas estavam disponíveis para os nossos clientes, á qualquer momento do tempo.


Para ilustrar melhor como está situação pode prevenir erros de análise estratégica, vamos utilizar um exemplo prático:

Quando analisamos as ofertas a baixo visualizamos uma possível arbitragem entre 3 produtos mensais e 1 produto trimestral no dia 29/07/2021. Enquanto a média do preço das ofertas destes 3 produtos mensais estava em R$ 486,00, o produto trimestral referente estava em R$ 498,00, abrindo margem para a arbitragem. Caso analisássemos o histórico de ofertas da BBCE buscando esta estratégia, entenderíamos que este foi um caso onde a estratégia teria funcionado.


Agora vamos adicionar os horários de entrada e saída das ofertas no livro de oferta, e olhar novamente:

Agora conseguimos entender que na prática essa oportunidade nunca existiu. Apesar de terem existido no mesmo dia, quando o produto mensal de novembro de 2021 entrou no livro de oferta, o produto de outubro de 2021 já não estava mais disponível.


Este foi apenas um de alguns exemplos que encontramos na nossa base dados, que ressalta a importância de recriarmos o livro de ofertas para testar qualquer tipo de estratégia em uma análise histórica.


Como sempre, gostamos de relembrar que tudo o que criamos aqui na Navarra é feita para e com o mercado! Fique a vontade para nos mandar qualquer feedback e sugestão.




66 visualizações0 comentário