segunda-feira, setembro 21, 2009

Trocas 1.1

Bem, parece que o Trocas de Opinião esteve com problemas de servidor ontem. Hoje, pelos vistos, está tudo resolvido. E aproveitou-se para fazer duas alterações de fundo (para além arranjos gráficos, que vão continuar ao longo do tempo), fruto de vários comentários recebidos aqui, por e-mail e pessoalmente.

1. A partir de hoje, já é possível a um investidor lançar várias ordens de compra sobre um mesmo contrato, ou várias ordens de venda sobre um mesmo contrato (mas não de compra e de venda simultaneamente). A lógica é simples: eu posso querer comprar 200 títulos do contrato A a 25 pontos, mas não me arrisco a comprar mais de 100 a 30. Caso apareça alguém a vender a 29, compro 100, mas não arrisco comprar 200. Mas se me aparecer um belo negócio (a 24) quero certamente tudo o que me aparecer à frente. Isto permite também, esperamos, que lapsos ou tentativas de manipulação (por exemplo, vendas a descoberto de quantidades brutais de títulos a preços de saldo) tenham uma resposta rápida do mercado, mercê da execução imediata de ordens que foram introduzidas para, precisamente, aproveitar essas pechinchas.

2. Há relatos de investidores que lançaram ordens de compra a um determinado valor e que, sem conseguirem comprar, viram o título a ser transaccionado por valores muito mais baixos. Foi introduzida uma correcção no algoritmo para resolver este problema. A partir de hoje, tem prioridade quem oferece mais. Para ordens iguais, critério cronológico.

Para além disto, haverá outras alterações ao longo do tempo, que se esperam ser apenas de visualização e apresentação. Obrigado a todos pelos contributos para esta experiência.

10 comentários:

Santarém disse...

Eu posso querer e não 'crer'

Unknown disse...

Obrigado santarém mas já estava corrigido quando recebi o seu comentário.

Anónimo disse...

Olá Pedro Magalhães,

Muitos parabéns por esta excelente iniciativa.

Há, de facto, algum caminho a percorrer pois são necessários alguns melhoramentos, nomeadamente, ao nível dos gráficos das cotações e da funcionalidade.

Verifico que continuam a haver ordens que não são executadas apesar da cotação ter "passado" por lá.

Penso que devem de considerar a implementação de um market maker para evitar os excessivos "picos" nas cotações por falta de liquidez.

Abraço,
Tiago

Anónimo disse...

Olá Pedro Magalhães,

Muitos parabéns por esta excelente iniciativa.

Há, de facto, algum caminho a percorrer pois são necessários alguns melhoramentos, nomeadamente, ao nível da apresentação gráfica das cotações e funcionalidade global. Verifico que, por exemplo, continuam a haver ordens que não são executadas apesar da cotação ter "passado" por lá.

Penso que devem de considerar a implementação de um market maker para evitar os excessivos "picos" nas cotações. O mm providência a liquidez que falta ao mercado.

Abraço,
Tiago

JoaoMiranda disse...

««2. Há relatos de investidores que lançaram ordens de compra a um determinado valor e que, sem conseguirem comprar, viram o título a ser transaccionado por valores muito mais baixos. »»

Pedro,

Este problema continua a ocorrer.

João Miranda

JoaoMiranda disse...

«« (mas não de compra e de venda simultaneamente)»»

Estranho. O sistema aceita ordens de venda em simultâneo com ordens de compra. E deve aceitar porque um apostador normalmente tem uma banda de probabilidades em que acredita.

Unknown disse...

Olá João. Primeiro, é preciso notar que pode perfeitamente haver situações em que há transações feitas entre outros investidores por valores abaixo do valor máximo de uma nossa ordem de compra. Se houver no sistema duas ordens de compra, uma com um máximo de 30 (a nossa) e outra com um máximo de 35 (a de outro investidor), assim que surgir uma ordem de venda por um mínimo de 20, a transação vai dar-se entre quem vende a um mínimo de 20 e quem ofereceu um máximo de 35, a um valor de 27.50. Nós não fazemos negócio porque houve quem ofereceu mais, e a transação faz-se pelo valor intermédio entre as duas ofertas. Não confundir isto com o problema anterior - que resolvemos - em que a transação se fazia por maior aproximação de valores.

Sobre ordens simultaneas de compra e venda, de facto, já é possível. Anteriormente, não era, porque não tínhamos ainda determinado como fazer para evitar que investidores transaccionassem consigo mesmos. Mas o problema foi resolvido: posso até introduzir ordens de venda sobre um título, por exemplo, a 20, e uma ordem de compra sobre o mesmo título a 50. O sistema aceita as ordens mas não permite que eu venda o titulo a mim próprio. Obrigado pela paciência.

Unknown disse...

Creio que o exemplo que dei ao João responde também ao Tiago sobre como certas ordens podem permanecer não executadas.

Market maker, sim, estamos a pensar sobre como fazer exactamente. Não é para mim completamente evidente como se implementa isso criando apenas liquidez sem afectar substantivamente cotações e o seu carácter (supostamente) preditivo. Se calhar é óbvio, mas para mim ainda não. Help welcome.

Unknown disse...

Não sei se perceberam que já aderi ao acordo ortográfico, mas só em "transação". Não me peçam para explicar.

Anónimo disse...

Pedro Magalhães - "Se houver no sistema duas ordens de compra, uma com um máximo de 30 (a nossa) e outra com um máximo de 35 (a de outro investidor), assim que surgir uma ordem de venda por um mínimo de 20, a transação vai dar-se entre quem vende a um mínimo de 20 e quem ofereceu um máximo de 35, a um valor de 27.50."

Pedro, obrigado pelas explicações.

Mas, se bem percebi, não concordo. Nos mercados financeiros as ordens são satisfeitas pelos seguintes critérios:
1º Preço
2º Cronologicamente

Se este algoritmo fosse aplicado seria raro os investidores verem a cotação "passar" pelas suas ordens de compra a valores mais baixos e não comprarem. Isto tenderia a eliminar (e muito) os indesejáveis picos na cotação.

Eu arrisco-me a dizer que com esta alteração, e visto que agora permitem comprar vender mais do que 100 contratos, o market maker quase seria dispensável.

Em qualquer dos casos a ideia do market maker é ser um investidor imparcial (podem ser dois, um comprador C e um vendedor V) que vende e compra a mesma quantidade do mesmo contrato. As posições que assume (de compra/venda) são sempre ligeiramente acima/abaixo (e na mesma medida para C e V) da última cotação, simétricas e com grande e igual quantidade de contratos.

Mas, seja como for, teriam de alterar o algoritmo que falei anteriormente porque a lógica do markets maker nos mercados financeiros também não funciona se a vossa forma de encontrar a cotação é que eu entendi ser. A cotação deverá ser encontrada satisfazendo todas as ordens que estão no sistema por preço seguida de tempo.

Espero ter ajudado. Qualquer esclarecimento é só perguntar. Vejam também informações sobre contratos de futuros financeiros. O vosso sistema, para funcionar na perfeição, deveria transaccionar precisamente como estes instrumentos financeiros.

Tiago