Robô para Long and Short para daytrade de ações

2020.03.23 Experts

Termos de Referência

Preciso de um robô para Long and Short para daytrade de ações.

Tenho as informações estatísticas dos pares, programa desenvolvido em python. Tenho as informações de como a razão entre os ativos se comportou nos fechamentos de cada dia, o valor mínimo, máximo, médio dessa razão e a probabilidade que a razão ficou nos dias especificados, o desvio padrão em cada período, a correlação, a volatilidade dos dois ativos, simulações do resultado com diversos valores dos ativos e a razão final entre eles. Tenho tb a informação dos ativos, segundo a segundo dos últimos n dias e gostaria de usar tb essa informação. 

O que preciso nesse robô:

Long and short é uma operação de compra de uma ação e venda de outra ação diferente no mesmo momento (ex.: compra de ELET3 e venda de ELET6), portanto, preciso que nas configurações seja possível acrescentar um par de ações no mínimo.

O ideal seria que apenas em um robô seja possível colocar pelo menos 5 pares para que opere, pois aí ele poderá ter várias entradas durante o dia. E o principal de vários pares poderem operar em um mesmo robô seria poder ter uma configuração onde somente uma operação ocorra por vez, ou mesmo várias ao mesmo tempo. Eu sei que é possível usar mais de um robô ao mesmo tempo no MT5, então caso não dê para apenas um robô cuidar mais de um par de ações, que exista uma opção onde caso exista uma operação aberta, o outro robô de Long and Short não abra operação, e claro, uma opção onde permita abrir mais de uma posição.

Configurações do robô:

Escolha do(s) par(es) de ações, escolha do valor máximo utilizado para cada operação (ou então que seja possível já colocar antecipadamente a quantidade de lotes para cada entrada, bem como para as operações de médio), escolha do timeframe, escolha da média usada, cálculo de desvio padrão, cálculo de banda inferior (que é o valor da média menos duas vezes o desvio padrão, sendo que esse valor de "duas vezes" deve ser configurável), escolha de horário limite para abrir operações, com tempo limite máximo até as 16h30 (eu costumo deixar até as 15h30 nas minhas simulações), sendo que tenha uma opção para colocar o tempo limite para encerrar todas as operações, mesmo se estiver no negativo, pois inicialmente a ideia é operar daytrade, escolha de tempo máximo por operação em minutos (que no caso, quando atingir esse limite, a saída da operação se dará na primeira oportunidade de lucro, ou caso isso não ocorra, sair quando o ratio superar a média, que é a saída padrão). Existem algumas outras configurações, e todas são através de cálculos, parecidas com as anteriores.

Funcionamento do robô:

Primeiramente, o robô deve buscar os dados das ações de acordo com o timeframe escolhido em minutos. Deve armazenar os últimos 300 pares de cotações de cada par de ação escolhido. Muito importante é que os dados sejam armazenados somente se houver a correspondência de horário, pois as ações abrem em tempos diferentes. Um exemplo: Digamos que escolhi PETR3 e PETR4, num tempo gráfico de 2 minutos para operar e resolvi ligar o robô as 10h30. Aí PETR3 abriu as 10h02 e PETR4 as 10h06. O robô vai ter que armazenar os dados do dia anterior, e os dados do dia atual não vai poder armazenar na mesma linha os dados de 10h02 de Petr3 com os dados de 10h06 de Petr4, ou seja, o robô pegará os dados do dia anterior, e no dia atual somente salvará quando as duas ações estiverem sendo negociadas, que no caso, somente salvará dados das duas ações a partir das 10h06, excluindo os dados das 10h02 até 10h05min59s, pois se não excluir, fará os cálculos errado e só tratá prejuízos. Para resumir, os dados tem que ter o horário iguais em cada linha salva, ou seja, 10h06 de Petr3 tem que ser salvo junto de 10h06 de Petr4, 10h08 de Petr8 tem que ser salvo sempre junto de 10h08 de Petr4, e assim por diante.

Com os dados devidamente armazenados, deve ser feito o cálculo de ratio, que o valor de uma cotação em determinado horário, dividido pela cotação da outra ação naquele mesmo horário. O cálculo da média, desvio é fornecido via python.

As entradas na operação podem ocorrer da seguinte forma:

- Banda inferior: no caso, quando o ratio estiver abaixo da banda inferior;

- RPM: quando o RPM estiver abaixo de um valor preestabelecido;

- Banda inferior + RPM (podendo escolher aqui o RPM que quer usar);

- Média D-1, que já foi explicada mais acima.

No caso, que seja possível escolher com qual tipo de entrada se quer operar.

 

A saída da operação pode ocorrer da seguinte forma:

- Ratio superar a média;

- Por tempo de operação em minutos previamente escolhidos (sendo que nessa opção a saída se dará no primeiro lucro a partir do tempo escolhido, lucro esse que caso não ocorra, que a saída aconteça quando o ratio superar a média);

- Por horário limite com lucro (no caso, por exemplo, eu escolho que a partir das 15h30, na primeira oportunidade de lucro seja encerrada a operação,  lucro esse que caso não ocorra, que a saída aconteça quando o ratio superar a média, sendo que o tempo máximo de operação possa ser definido, como por exemplo, 16h45, onde a operação irá ser fechada, superando ou não a média, dando ou não lucro);

 

O robô deve fazer médios, ou seja, fazer novas entradas com valores iguais aos iniciais ou o mais próximo possível disso. Aqui existem duas possibilidades, ou que seja possível que o robô faça os cálculos corretos de quantidade de lotes de acordo com o valor definido para cada lote, ou que seja possível deixar previamente de quantos lotes deve ter cada entrada. Se possível, ter as duas opções seria interessante. 

O MAIS IMPORTANTE: Deve ser ter uma opção para se selecionar se quer ou não que as entradas se deem no primeiro nível de preço. Exemplo: Quero comprar 2000 ações de Petr3 e vender 2200 de Petr4, mas quando as condições de entrada foram satisfeitas, tinha 1800 ações de PETR3 e 2500 de PETR4 disponíveis. PETR4 tinha ações suficientes, mas já PETR3 não, portanto, a operação não deve ser feita. Caso a operação fosse feita, pegaria 200 ações do próximo ou próximos níveis de preço, o que prejudicaria o ratio. Claro, que com o passar do tempo será necessário utilizar mais de um nível de preço dependendo do valor da operação, mas por isso deve ser uma opção que deve ter nas configurações, ou seja, "Operar apenas 1 nível de preço", aí se tem a opção de marcar se quer ou não operar assim. Isso para quem está iniciando é o mais importante, juntamente com o que expliquei dos dados dos pares de ações estarem no mesmo horário.

Se for possível que apareça um POP-UP ou toque algum som quando se entra numa operação, assim como no Profitchart.

Preciso que me explique como que coloco esse robô para operar em uma máquina virtual, pois em casa pode faltar luz, internet, etc, e caso o robô funcione na nuvem, não terá esse problema.


Arquivos anexados:

PNG
bbdc.png
65.0 Kb
PNG
bbdc2.png
48.9 Kb
PNG
20dias.png
16.6 Kb

Respondido

1
Desenvolvedor 1
2020.03.23
Classificação
5
(4)
Projetos
5
0%
Arbitragem
2
0% / 100%
Expirado
0
Livre
2
Desenvolvedor 2
2020.03.23
Classificação
4.43
(14)
Projetos
19
42%
Arbitragem
1
0% / 100%
Expirado
4
21%
Livre
3
Desenvolvedor 3
2020.03.23
Classificação
4.8
(82)
Projetos
129
17%
Arbitragem
51
10% / 59%
Expirado
50
39%
Trabalhando
4
Desenvolvedor 4
2020.03.23
Classificação
4.97
(69)
Projetos
96
7%
Arbitragem
8
25% / 25%
Expirado
29
30%
Trabalhando
5
Desenvolvedor 5
2020.03.23
Classificação
4.93
(71)
Projetos
113
27%
Arbitragem
41
32% / 22%
Expirado
25
22%
Ocupado
6
Desenvolvedor 6
2020.03.23
Classificação
5
(5)
Projetos
6
17%
Arbitragem
2
0% / 100%
Expirado
1
17%
Livre

Informações sobre o projeto

Orçamento
30 - 200 USD
Desenvolvedor
27 - 180 USD

Cliente

Pedidos postados1
Número de arbitragens0