Obs: Em uma versão anterior, estava descrito nas regras que seriam 10 dias de dados, porém o correto é 5 dias. Verifique se o seu código roda CORRETAMENTE na VERSÃO 1.4, ver aba Códigos, para análise de 5 dias úteis..
# Sobre as Inscrições e Equipes
- As inscrições ocorrerão de forma online, veja mais na aba Inscrições.
- Deverá ser feita apenas uma inscrição por equipe.
- As equipes deverão conter de um a quatro alunos, podendo ter, ou não, um professor supervisor.
- Os alunos, devidamente matriculados, poderão ser
- de qualquer curso de graduação, mestrado ou doutorado,
- de qualquer universidade, pública ou privada.
- No momento da inscrição a equipe deverá enviar os códigos a serem avaliados, ver item # Sobre os Códigos abaixo.
# Sobre a Simulação
- Cada equipe iniciará com total de R$ 100.000,00 (dinheiro fictício).
- Os custos de compra/venda e de aluguel de ativos serão considerados nulos.
- Cada equipe terá a sua estratégia avaliada por um período de 5 dias úteis.
- A cada dia o algoritmo proposto deverá avaliar o histórico de preços e fornecer um vetor portfolio contendo as decisões de compra e venda (long e short).
- A simulação, dia a dia, se dará da seguinte forma:
- Dia 0
- Recebe os dados de fechamento do dia 0.
- Carteira(0) igual a 100.000,00
- Construção do vetor portfolio para próximo dia útil.
- Dia 1
- Recebe os dados de fechamento do dia 1.
- Calcula Carteira(1), que é igual a valores não investidos mais montante investidos a preços de fechamento do dia 1.
- Construção do vetor portfolio para próximo dia útil.
- …
- Dia 5
- Recebe os dados de fechamento do dia 5.
- Calcula Carteira(5), que é igual a valores não investidos mais montante investidos a preços de fechamento do dia 5.
- Dia 0
- O vetor portfolio é descrito como
![]()
- Sendo que
![Rendered by QuickLaTeX.com \[\sum_{i=1}^{50} w_i \leq 1\text{ e }\sum_{i=1}^{50} |w_i| \leq 1.10\]](https://www.ufrgs.br/trading-challenge/wp-content/ql-cache/quicklatex.com-4a3ed7b35e809ee4a7deb6eefc99ac8b_l3.png)
- Caso o algoritmo não fornecer um vetor portfolio válido, por exemplo soma(portfolio) > 1, o mesmo será rebalanceado.
- Caso não haja modificação nos pesos, de um dia para o outro, o algoritmo deve devolver o portfolio do dia anterior.
- Caso não for enviado um vetor portfolio, será entendido que o montante total não foi investido em nenhum ativo.
# Sobre a Avaliação e Premiação
- As estratégias serão avaliadas em dois quesitos: (i) maior retorno sobre o valor inicial e (ii) maior retorno sobre risco (Índice de Sharpe).
- Calculados da seguinte forma:
![]()
![]()
![]()
- Obs: assumimos a taxa livre de risco como zero para o cálculo do Índice de Sharpe.
- A premiação das equipes, para quesito, se dará da seguinte forma:
- 1º Lugar: Placa comemorativa e Certificado de Primeiro lugar.
- 2º Lugar: Certificado de Segundo lugar.
- 3º Lugar: Certificado de Terceiro lugar.
- Demais: Certificado de participação.
- Os resultados finais de todas as equipes serão apresentados neste site ao final do desafio.
- Obs: verifique com a COMGRAD do seu curso sobre a validação dos créditos de extensão.
# Sobre o Banco de Dados
- O banco de dados será restrito as ações presentes no IBx50.
- Não será permitido o envio de um banco de dados complementar. Todavia, é permitido o envio de data frames embutidos no código, respeitando o tamanho máximo de envio (ver item # Sobre o Envio abaixo).
- Dados fornecidos compreendem dados diários de abertura, max, min, fechamento, volume.
- A cada dia será fornecido uma janela de dados com as 500 últimas observações.
# Sobre os Códigos
- Os códigos devem ser elaborados exclusivamente em ambiente R.
- Apenas pacotes disponíveis no CRAN poderão ser utilizados.
- Todos os códigos deverão rodar em single core, não sendo permitido execução em paralelo.
- O código não pode acessar sites web, devendo rodar offline.
- Tempo total de execução será restringido a 10min.
- Para evitar incompatibilidade, use a versão 4.3.1 do R.
- A equipe do Trading Challenge não se responsabiliza caso o código não execute adequadamente.
# Sobre o Envio
- Arquivos:
- meus_pacotes.R: script contendo exclusivamente a lista dos pacotes utilizados.
- minhas_funcoes.R: script com todas as funções auxiliares e função obrigatória “portfolio_update” (ver exemplos em Códigos).
- Resumo da estratégia: arquivo pdf onde explica de forma geral a ideia por trás do algoritmo (max 10 linhas).
- O tamanho máximo do envio é restrito a 2MB por arquivo.
- Obs: veja mais na aba Inscrições.
# Sobre Desqualificações
- A equipe responsável pelo Trading Challenge reserva-se o direito de desqualificar qualquer equipe que não cumpra as regras estabelecidas ou que adote práticas destinadas a prejudicar o curso adequado da competição.
