Python no trading algorítmico: quando é necessário programar
Python no trading algorítmico soa para muitos iniciantes como um obstáculo alto: quem quer usar o StrategyQuant X para construir estratégias automatizadas pergunta-se cedo se precisa saber programar para isso. A resposta curta é não, porque o núcleo do software foi pensado para a construção de estratégias sem código próprio. Mesmo assim, há vários pontos no programa onde a programação, inclusive com Python, pode ser acoplada. Este artigo mostra o que o caminho no-code entrega, onde começa o nível opcional de programação e como um usuário realmente aplica Python na prática.
Python no trading algorítmico: primeiro o núcleo no-code
Segundo um post do blog do fabricante, é possível construir estratégias de trading com o StrategyQuant sem escrever uma única linha de código. O software combina regras, indicadores e blocos que você seleciona e combina pela interface, em vez de programá-los.
Essa é uma descrição do marketing do fabricante, não uma especificação técnica verificada de forma independente. Ela não diz nada sobre se uma estratégia construída assim acaba sendo bem-sucedida, nem sobre se estratégias programadas, de modo geral, têm desempenho melhor ou pior do que as construídas no-code. Para iniciantes, isso significa sobretudo: você pode começar a construir suas próprias estratégias sem antes aprender uma linguagem de programação.
O nível de programação: o que o Code Editor oferece além disso
Além do núcleo no-code, o fabricante documenta três pontos onde a programação própria pode ser acoplada: o Code Editor, a interface Program e a extensão Custom Analysis.

O Code Editor reúne vários pontos de entrada. Entre eles estão uma API pública, o trabalho com Result Groups, a adição de indicadores ou sinais próprios, colunas ou filtros próprios do Databank, logging, além da integração de bibliotecas JAR próprias e da importação ou exportação de indicadores e snippets próprios.

Como exatamente os itens de menu individuais se chamam pode variar entre versões do programa. Importante para o enquadramento: o Code Editor é uma extensão, não um pré-requisito. Nem todo ponto de entrada mencionado é acessível imediatamente sem qualquer experiência em programação, alguns exigem conhecimentos básicos de programação.
Exemplos documentados de sessões de programação mostram para que serve esse caminho: otimizações e backtests podem ser acionados por código, assim como backtests com testes de robustez adicionais. Também parâmetros de estratégia e a configuração de uma tarefa podem ser alterados por código, e dados históricos podem ser carregados em snippets próprios. São exemplos de fluxos de trabalho documentados, não passos obrigatórios para cada usuário e também não uma lista completa de todas as possíveis sessões de programação.
A interface de programa: blocos de construção chamam uns aos outros
Para snippets ou plugins próprios, o fabricante também documenta uma interface de programa. Por meio dela, um bloco de construção próprio pode chamar funcionalidades de outros plugins ou da biblioteca interna do programa, normalmente obtendo primeiro a interface adequada e depois chamando um método com os parâmetros necessários.
Essa interface faz parte da API interna para desenvolvimento próprio e destina-se a alguém que já programa. Ela não é um recurso para iniciantes que fosse utilizável sem experiência em programação.
Custom Analysis: acoplar cálculos próprios e scripts externos
Outra extensão documentada chama-se Custom Analysis. Ela permite aplicar cálculos ou filtros próprios a estratégias geradas, retestadas ou otimizadas, inclusive a databanks inteiros. Isso inclui a possibilidade de chamar programas ou scripts externos, por exemplo Python.

Custom Analysis é um ponto de extensão do módulo correspondente. Uma interação com Python é possível com isso, mas essa conexão não entrega automaticamente estratégias melhores. Se e como você a usa, fica a seu critério.
Um exemplo prático: para que um usuário realmente usa Python
Como isso pode parecer na prática, descreve um autor em um artigo próprio. Ele usa Python ao lado do StrategyQuant para várias tarefas: para a análise de bancos de dados de resultados, para scripts próprios dentro de um fluxo de trabalho analítico, para o uso da linha de comando do SQX, para a decorrelação de estratégias, para o uso de machine learning e para extrair regras de estratégias existentes e construir a partir delas novos blocos próprios.
Esse é o fluxo de trabalho de uma única pessoa, não uma lista oficial de funções do fabricante e nem um caminho que todo usuário precisa reproduzir.
Uma série de vídeos como introdução
Quem quer se aprofundar nos fundamentos encontra um ponto de partida para isso em um artigo do blog do fabricante: lá é descrito um curso em vídeo contínuo, que é disponibilizado como playlist e trata da construção de estratégias para mercados de forex, futuros e ações.
Isso também é uma descrição de um artigo do blog. Conteúdo e disponibilidade da playlist podem mudar com o tempo. Um curso desses não substitui uma verificação própria dos resultados e não é uma promessa de que você depois vai operar com sucesso de forma automática.
O que esta comparação não mostra
Este artigo não compara se uma estratégia ampliada com Python acaba sendo mais bem-sucedida do que uma que surgiu exclusivamente com o construtor no-code. Também não se trata aqui de qual caminho é o melhor. Trata-se de quais ferramentas estão à sua disposição, e a decisão a favor ou contra a programação é sua, não do software.
Com ou sem código próprio: cada resultado de backtest ou de otimização que surge disso descreve exclusivamente dados passados. Ele não permite nenhuma afirmação sobre como uma estratégia se comporta no futuro.
Este artigo tem fins educativos e não é aconselhamento de investimento. Resultados passados, incluindo os de backtests, não garantem resultados futuros. Negociar instrumentos financeiros envolve riscos e você pode perder dinheiro.
Este artigo tem fins educacionais e não é aconselhamento de investimento. Resultados passados não garantem resultados futuros.
E você, como faz? Conte na comunidade. Grátis, no seu idioma.
Cadastre-se grátis