Guia para Trading Automatizado Usando Plataformas Quantitativas e Sinais do Algoritmo da I Know First: Retorno Anual de 48%

Esse guia irá mostrar como se começa o design de uma estratégia utilizando um plataforma quantitativa aberta (QuantConnect), que você pode usar para fazer o design do seu algoritmo e eventualmente executá-lo em tradings fictícios ou com dinheiro real em apenas um click. Também compartilharei um grande número de dados de escolhas históricas baseado no “I Know First Top Investimentos + S&P500” que você poderá usar sem cobranças para prova de teste.

Esperamos que no momento que terminar terá um entendimento básico de como você pode pegar a previsão algorítmica da I Know First e usar para fazer um algoritmo de trading relativamente poderoso para você mesmo. Todos seus pedidos serão executados na abertura do mercado, ajustando os preços de acordo com suas configurações, e finalmente fechando e acordo com seus parâmetros pré definidos.O primeiro passo seria cadastrar-se em uma plataforma open source de desenvolvimento de algoritmo, duas das melhores são a QuantConnect e a Quantopian. Há muitos artigos comparando os dois, então não abordarei isso aqui; entretanto, na essência ambos são ótimos. Talvez uma pequena vantagem seja a habailidade de fazer provas de teste e de fazer trades de moedas no QuantConnect, que é o motivo pelo qual esse guia irá focar-se ai. Usa (majoritariamente) C#, diferente da alternativa Python.

Comece abrindo uma conta gratuita e indo na aba “university” na esquerda. Isso irá ensiná-lo rapidamente entradas e saídas básicas do C#.

QuantConnect IDE

Verifique que clonou o algoritmo para que possa acompanhar durante o vídeo. Os 4 vídeos te deixarão a par rapidamente e só levará algumas horas para te dar uma grande vantagem inicial. Agora você quer programar seu primeiro algoritmo I Know First!! Então o que fazemos? O mais importante é fazer o upload corretamente dos dados do seus arquivos excel no seu algoritmo para que possa usá-lo para tomar decisões. Por sorte temos isso feito para você, abaixo está o código.

Importing Data

Isso irá parecer uma tabela de excel (em formato csv) localizado no dropbox, e escaneado para novos dados que são salvos em um string array (set de nomes). Nesse código enviamos um excel diário com datas recentes nesse formato.

3

 

Basicamente estamos dizendo ao algoritmo para olhar para a tabela de excel e fazer um array de 4 símbolos e 4 sinais. Nesse caso simplesmente  falamos se queremos short ou long, já que as escolhas já foram filtradas de acordo com os sinais absolutos mais fortes. Esse são os símbolos que teremos no portfólio por todo o dia. Os sinais são as top 4 recomendações do “Top Investimentos + S&P500” depois na nova interface de estratégia algorítmica filtrá-los de acordo com o momentum. Depois queremos carregar esse dado no nosso algoritmo. Podemos criar uma cópia do dado pra usar no trading desse dia com o código a seguir.

AddData<Picks>(“SwingTrades”, Resolution.Minute,false, leverageset, false, false) (dentro da parte de inicialização)

public void OnData(Picks data){ todaysPicks = data;} (começo do algo mas depois da inicialização)

Ótimo! Agora você atualizou os dados do algoritmo e está pronto para ser usado para decisões de trading. Porque estamos fazendo tranding de equidades geralmente queremos que o algoritmo faça nada antes que o mercado abra, para esse caso use o seguinte:

if (Time.TimeOfDay <= new TimeSpan(9, 30, 00)) return;

Então agora está pronto para comprar e vender ações. Isso pode ser feito de maneira simples utilizando o SetHolding (ticker, porcentagem do portfólio) que colocará uma ordem no mercado para preencher o portfólio nessa porcentagem, todo o caminho até o limite de ordem complexo e o limite de ordem de parar baseado na variação do preço.

Por agora vamos comprar nossa primeira ação utilizando nossa copia de dados (todayPicks) e nossos dois arrays de informação (symbol_E and signal_E). Então vamos preparar nosso portfólio para as escolhas de hoje que sempre carregarão nas primeira posição do array (position 1).

if (todayPicks.symbol_E[1]!=cash_eq){ // check that it is not supposed to be cash.

if ((todayPicks.signal_E[1] > 0){ // check if we should go long

SetHoldings(todayPicks.symbol_E[1], 1);}// if yes set 100% to our pick

if ((todayPicks.signal_E[1]< 0){ //check if to go short

SetHoldings(SymbolInput, -1);} //if yes set -100% of your equity to this stock.

}

Quando estiver mais confortável configure sua rotina de trading complexa, ajuste os limites de saída e mais! Aqui está o exemplo da minha metodologia algorítmica.

Step 1: At 9:31 Check which stocks need to be sold and create limit orders 1% away from the average price. Here you are closing yesterday’s positions.

Step 2: At 9:55 If orders didn’t fill than update them to the current average price !

Step 3: At 10:00 If orders didn’t fill than sell them at current market price L, what a bummer.

Step 4: At 10:01 Buy all of today’s recommendations which are not already in my portfolio with limit orders 1% away from average.

Step 5: At 10:25 If orders didn’t fill than set them to the current average price.

Step 6: At 10:30 Shame shame, fill all orders at the market price.

Step 7: Continuously check if a trade is at a 2% loss, if it is immediately sell it at market price to avoid further losses.

Depois de simular trading por um ano desde 1º de julho de 2014 aqui estão meus resultados,

Automated Trading

Porque QuantConnect já está preparado para você com Interactive Broker’s API você pode ir de prova de teste para real em um click!

5

 

Sinta-se livre de usar a comunidade para ajudá-lo a fazer o design do seu código e aprender novas ideias! Eu estou compartilhando nossas escolhas diárias históricas AQUI que usei na minha prova de teste. Se puder bater nosso retorno anual de 48.47% e relação Sharpe de 2.065 por mais de 10%, com uma menor caída, e você nunca utilizar mais de 25% do seu portfólio em uma ação escreva para nós em research@iknowfirst.com, tem um grande prêmio lhe esperando!

I Know First Research é um braço da I Know First, uma Start-up financeira especializada em previsões quantitativas da bolsa de valores. esse artigo foi escrito por Daniel Hai. Não recebemos compensações pelo artigo, e não temos relações com nenhuma empresa das quais as ações são mencionadas neste artigo.