O Simulador SmarttBot, ou módulo Paper Trading, tem o intuito de simular o funcionamento do mercado real nos segmentos BM&F e Bovespa. O ambiente, funcionamento, infra-estrutura, eficiência e robustez dos robôs em simulação seguem os mesmos padrões aplicados ao mercado real. A grande diferença é que o envio, alteração e cancelamento de ordens e stops não são enviados do SmarttBot para as corretoras (através dos seus OMSs, Order Management Systems), e sim para o Simulador SmarttBot (módulo Paper Trading).
A SmarttBot utiliza dados tick by tick (negócio a negócio) para registrar seus negócios simulados. Atualmente temos duas formas de simular, sendo elas:
- Simulador Otimista (antigo Padrão): Utiliza os próximos negócios no mercado após a ordem de entrada/saída de sua estratégia automatizada para considerar que sua ordem foi executada;
- Simulador Pessimista (antigo Moderado): Utiliza os próximos negócios no mercado após a ordem de entrada/saída de sua estratégia automatizada e considera o agressor dos negócios para definir se a sua ordem foi efetivamente executada e qual o preço.
Vamos explicar melhor abaixo, diferenciando ordens a mercado e a limite. Vamos utilizar como exemplo uma ordem de compra, para não duplicar as explicações. O funcionamento do simulador acontece de forma equivalente em ordens de venda, de forma simétrica.
Ordem a mercado:
Simulador Otimista: Suponha que você enviou uma ordem a mercado de compra de 100 contratos no mini-dólar (cada tick vale 0,5 pontos). O simulador irá receber o próximo negócio e considerar que o preço de compra foi equivalente ao preço desse negócio. Se esse negócio possuir menos de 100 contratos, a simulação irá considerar novos negócios até totalizar os 100 contratos necessários, conforme exemplo abaixo: (Essa medida visa garantir que o mercado tinha liquidez no momento da ordem enviada)
Exemplo de uma ordem a mercado no simulador otimista
Simulador Pessimista: O simulador pessimista possui a mesma lógica do simulador otimista, mas se diferencia ao considerar preços diferentes de execução de acordo com o agressor do negócio recebido. No caso de uma compra, se o agressor também for de compra será considerado o mesmo preço, porém se o agressor for de venda o simulador irá piorar o preço em um tick. Essa medida tem o objetivo de trazer mais realidade para o simulador, pois uma ordem de compra enviada a mercado será necessariamente uma agressão de compra.
Na melhor das hipóteses, o preço médio final da ordem será o mesmo que no simulador otimista. Na pior das hipóteses, será um tick pior. Abaixo mostramos o preço de execução para diferentes agressores, considerando o mesmo exemplo anterior.
Exemplo de uma ordem a mercado no simulador pessimista
Ordem a limite:
Simulador Otimista: Suponha que você enviou uma ordem limite de compra de 100 contratos com o preço de 3700 no mini-dólar (cada tick vale 0,5 pontos). A ordem ficará “pendurada” no book, como se fosse a primeira da fila no nível de preço enviado. Ou seja, quando acontecer o primeiro negócio num preço menor ou igual ao preço da ordem limite, ela começará a ser executada, até completar o número de contratos definido.
Simulador Pessimista: Vamos considerar novamente o exemplo anterior de compra. No simulador pessimista consideramos que a ordem limite fica “pendurada” no book como a última da fila. Para isso, a ordem será executada apenas se tiver um negócio um tick abaixo (no caso da compra) ou então se tiver um negócio no mesmo nível de preço mas o agressor for de compra, assim como a ordem enviada. De ambas as formas, é garantido que não existe mais nenhuma ordem no book no preço da ordem limite, ou seja, garantimos que a ordem haveria sido executada.
Abaixo temos um exemplo com 5 negócios após o envio da ordem limite de compra de 100 contratos a 3700.
Exemplo de uma ordem limite nos simuladores Otimista (Padrão) e Pessimista (Moderado)
Para saber mais, confira o post Como funciona a simulação com robôs investidores na SmarttBot.