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.
  • O vetor portfolio é descrito como

    \[portfolio = \{w_1,w_2,\dots,w_{50}\}\text{ onde }w_i\text{ é o percentual investido no ativo }i.\]

  • Sendo que

    \[\sum_{i=1}^{50} w_i \leq 1\text{ e }\sum_{i=1}^{50} |w_i| \leq 1.10\]

  • 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:

    \[R_{5,0} = \frac{Carteira(5) - Carteira(0)}{Carteira(0)}\quad\text{ e } \quad SR = \frac{\hat{\mu}}{\hat{\sigma}}\]

    \[\text{onde }\hat{\mu}\text{ e } \hat{\sigma}\text{ são a média e o desvio-padrão do vetor de log retornos, }r = \{r_1,\dots,r_{5}\},\text{ e } r_j \text{ é o log retorno, dado por }\]

    \[r_j = {\log Carteira(j) }-{ \log Carteira(j-1)}.\]

  • 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.
Rolar para cima