Python para negociação algorítmica - página 15

 

Baixe, Transforme e Grave Dados no Excel com Python || Análise de Estoque com Python Parte 6



Baixe, Transforme e Grave Dados no Excel com Python || Análise de Estoque com Python Parte 6

Bem-vindo à sexta parte da minha série sobre análise de ações com Python. Na descrição do vídeo, você encontrará links para os cinco vídeos anteriores, bem como um link para o repositório GitHub contendo o código.

Na parte anterior, exploramos diferentes formas de plotar preços de fechamento para ações selecionadas. Agora, na parte seis, faremos uma abordagem diferente para obter dados e trabalhar com arquivos do Excel. Criaremos uma função chamada "get_return_data" que recebe pelo menos um ticker como entrada (vários tickers podem ser separados por vírgulas ou armazenados em um objeto de coleção Python). Além disso, a função permite que os usuários especifiquem uma data e escolham entre os preços de fechamento ou de fechamento ajustado. Os dados serão salvos em um arquivo Excel e também podem ser armazenados em uma variável.

Para começar, precisamos configurar o cliente da API. Como antes, usaremos a API "dados históricos do final do dia". Você precisará substituir a variável "key" por sua própria chave de API.

Em seguida, criamos um DataFrame temporário para armazenar os dados baixados. Fazemos um loop sobre os tickers passados para a função e usamos um bloco try-except para lidar com possíveis erros. Dependendo se o usuário deseja fechar ou fechar preços ajustados, anexamos a coluna correspondente do resultado da chamada da API à coluna do ticker no DataFrame.

Depois de baixar e armazenar os dados, podemos realizar as transformações desejadas. Nesse caso, calculamos a taxa instantânea de retorno usando NumPy e descartamos a primeira linha. Também calculamos a variação percentual regular usando um método integrado.

Por fim, gravamos os dados em um arquivo Excel usando o objeto de escrita pandas Excel dentro de um gerenciador de contexto. Esta etapa requer o fornecimento do nome do arquivo e o formato de data opcional. Cada variável é inserida no arquivo "devoluções" e uma mensagem é impressa para indicar a conclusão da tarefa. A função retorna os preços de fechamento e pode ser expandida para retornar também outros dados.

Testando a função com quatro tickers, podemos ver o arquivo gerado contendo os dados baixados. O arquivo pode ser aberto no Excel para visualizar os dados.

Isso conclui a parte seis da série. Na parte sete, exploraremos como plotar o desempenho de várias ações em um único valor.

Download, Transform and Write Data to Excel with Python || Stock Analysis with Python Part 6
Download, Transform and Write Data to Excel with Python || Stock Analysis with Python Part 6
  • 2022.06.23
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Python and Excel - Learn how to use Data API to download, transform and export data to...
 

Python para análise de ações: plotagem da grade de desempenho de vários títulos w\matplotlib || Parte 7



Python para análise de ações: plotagem da grade de desempenho de vários títulos w\matplotlib || Parte 7

Bem-vindo à parte sete da minha série sobre como usar o Python para análise de ações. Na descrição do vídeo, você encontrará links para os seis vídeos anteriores, bem como o repositório GitHub contendo o código.

Na parte seis, desenvolvemos uma função para baixar dados, realizar transformações e salvá-los em um arquivo Excel. Agora, na parte sete, vamos nos concentrar em plotar os desempenhos relativos de várias ações em um único gráfico.

Para começar, vamos ler todos os arquivos em uma pasta específica. Neste caso, estaremos procurando na pasta "energia". Vamos pular todos os arquivos que começam com zero.

Usando a biblioteca matplotlib, criaremos um objeto subplot. O número de linhas será determinado pelo teto do comprimento dos arquivos dividido por quatro, pois queremos exibir quatro gráficos por linha. Faremos a figura grande para acomodar potencialmente muitos gráficos.

Em seguida, acompanharemos o número de gráficos adicionados e usaremos um loop for aninhado para percorrer as linhas e colunas da figura. Se chegarmos à última linha e ela não estiver cheia, trataremos a exceção incrementando a contagem.

Dentro do loop, leremos os preços de fechamento de cada arquivo e transformaremos os dados em desempenho relativo. Traçaremos o desempenho relativo nos eixos correspondentes e adicionaremos uma linha horizontal em 0. Para formatar os dados como uma porcentagem, importaremos o módulo ticker de matplotlib.

No bloco de exceção, não realizaremos nenhuma ação, pois sabemos que ficamos sem dados para plotar. Simplesmente passaremos e incrementaremos a contagem para passar para o próximo arquivo.

Uma vez plotados todos os dados, mostraremos o gráfico.

Testando o código com os arquivos da pasta "energia", podemos ver o gráfico resultante exibindo os desempenhos relativos de 21 títulos ao longo de aproximadamente um ano.

Isso conclui a parte sete da série. No próximo vídeo, exploraremos cortes de dados adicionais da API de dados históricos de fim de dia.
Python for Stock Analysis: Plotting Performance Grid of Multiple Securities w\matplotlib || Part 7
Python for Stock Analysis: Plotting Performance Grid of Multiple Securities w\matplotlib || Part 7
  • 2022.06.27
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket ✅ Please SUBSCRIBE:https://www.youtube.com/subscription_center?add_user=mjmacartyVid...
 

Baixar Lista de Ações Prestes a Anunciar Lucros ou Dividendos || Análise de Estoque com Python Parte 8



Baixar Lista de Ações Prestes a Anunciar Lucros ou Dividendos || Análise de Estoque com Python Parte 8

Bem-vindo à oitava parte da minha série sobre como usar o Python para análise de ações. Neste vídeo, vamos nos aprofundar na API de dados históricos de fim de dia e explorar funcionalidades adicionais além da recuperação de preços. A API é abrangente e, embora não abordemos tudo, mostrarei alguns exemplos que podem ser úteis. A documentação fornecida pela API é extensa e pode orientá-lo na exploração de diferentes conjuntos de dados.

Primeiro, vamos nos concentrar na obtenção de dados de ganhos para as empresas relatadas esta semana. Para começar, inicializaremos nosso cliente de API passando nossa chave de API (substitua-a pela sua). Em seguida, baixaremos os dados e os armazenaremos em um DataFrame.

A função que usaremos para esta tarefa não requer nenhum parâmetro. Assim que tivermos o DataFrame, vamos extrair os símbolos das empresas que relatam ganhos esta semana e armazená-los em uma lista.

Para filtrar os dados de uma troca específica, como os EUA, faremos um loop em cada linha do DataFrame e verificaremos se o símbolo termina com "nós". Os símbolos de ações são referidos como códigos nos dados históricos do final do dia e seus finais correspondem à bolsa a que pertencem. Acrescentaremos os símbolos relevantes à nossa lista, excluindo as informações de câmbio.

Depois de percorrer todas as linhas, imprimiremos o número de empresas que relatam ganhos esta semana e retornaremos a lista de símbolos para análise posterior.

Seguindo em frente, vamos explorar como recuperar dividendos para um ex-encontro específico. Vamos começar com a data de hoje. A configuração da função será semelhante à anterior, onde criamos um cliente API e baixamos os dados para um DataFrame.

A função que usaremos desta vez é chamada get_bulk_market. A partir desta função, você pode obter vários pontos de dados, incluindo preços de fechamento de um mercado inteiro. Para dividendos, especificaremos os dados nos quais estamos interessados como "dividendos".

Após fazer a chamada, retornaremos o DataFrame resultante.

Testando esta função, vamos recuperar os dividendos com a ex-data de hoje. O código imprimirá os dividendos, assumindo os valores padrão para o mercado americano e a data de hoje.

O DataFrame resultante exibirá os dividendos com suas respectivas taxas. Como estamos olhando para o mercado americano, os dividendos serão em dólares americanos. Além disso, o DataFrame fornece informações sobre a frequência dos pagamentos de dividendos.

Isso encerra a parte oito. Na parte nove, concluiremos a seção um construindo um rastreador simples.
Download List of Stocks About to Announce Earnings or Dividends || Stock Analysis with Python Part 8
Download List of Stocks About to Announce Earnings or Dividends || Stock Analysis with Python Part 8
  • 2022.07.05
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Use API to Download List of Stocks that will announce earnings or dividends for a spec...
 

Como criar um rastreador de estoque usando uma API || Análise de Estoque com Python Parte 9



Como criar um rastreador de estoque usando uma API || Análise de Estoque com Python Parte 9

Esta é a parte 9 da nossa série sobre análise de ações com Python. Você pode encontrar links para os vídeos anteriores na descrição, bem como o código no GitHub.

Neste segmento final da seção 1, exploraremos um exemplo de um visualizador de ações. O objetivo é criar um rastreador simples que analise a alta de 52 semanas, o preço atual e a relação preço/lucro de vários títulos. Isso nos ajudará a identificar títulos para análise posterior.

Para fazer isso, usaremos o feed fundamental de dados históricos de fim de dia. Vamos começar examinando os dados que obtemos de uma chamada para esse feed. Vamos criar um objeto cliente e recuperar dados fundamentais para uma segurança específica, como a Apple. Isso nos dará um grande quadro de dados com várias informações, incluindo finanças, balanços e muito mais. Podemos explorar seções específicas usando locais de índice.

Em seguida, vamos nos concentrar nos aspectos técnicos do índice e usar a biblioteca auxiliar de dados históricos do final do dia e um endpoint para fazer o download em massa dos preços de fechamento do dia mais recente. Armazenaremos os dados em um quadro de dados e redefiniremos o índice. Esta chamada busca preços de fechamento para todos os títulos na bolsa de valores dos EUA. Podemos então filtrar os dados para incluir apenas os títulos nos quais estamos interessados.

Para construir nosso rastreador de estoque, criaremos um cliente e percorreremos os símbolos que desejamos analisar. Vamos preencher um dicionário com o máximo de 52 semanas para cada título. Se um título não tiver essa informação disponível, vamos ignorá-la e continuar o loop.

Depois de obter os dados necessários, mesclaremos os preços de fechamento, as máximas de 52 semanas e calcularemos a relação preço/lucro. Retornaremos o quadro de dados resultante contendo os títulos, seus preços de fechamento, máximos e índices.

Para testar nosso rastreador, recuperaremos os símbolos do S&P 500 usando a função get_sp e imprimiremos o resultado. Isso mostrará os preços de fechamento, máximos de 52 semanas e índices para os 10 primeiros títulos do S&P 500.

Na Parte 10, nos aprofundaremos na análise de títulos individuais à medida que começarmos a criar uma classe para esse fim. Junte-se a nós na próxima parte para saber mais sobre a análise de títulos em um nível individual.

How to Create a Stock Screener Using an API || Stock Analysis with Python Part 9
How to Create a Stock Screener Using an API || Stock Analysis with Python Part 9
  • 2022.07.18
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Use API to create a stock screener✅ Please SUBSCRIBE:https://www.youtube.com/subscri...
 

Python para análise de ações: como analisar ações automaticamente com Python || Parte 10



Python para análise de ações: como analisar ações automaticamente com Python || Parte 10

Esta será a Parte 10 da minha série sobre Python para análise de ações. Você pode encontrar os links para os vídeos anteriores na descrição abaixo, bem como um link para o repositório GitHub onde todo o código está disponível. Nesta parte, começaremos a nos concentrar em títulos individuais em vez de bolsas de valores inteiras ou grandes listas de símbolos de ações.

Para começar, já incluí os imports necessários para esta parte, como datetime, matplotlib, numpy, pandas e seaborn. Também defini uma constante simbólica que representa uma data de cerca de um ano atrás, que pode ser alterada pelo usuário usando uma data no formato ISO.

Em seguida, escreverei uma classe chamada "Estoque" que lidará com títulos individuais. A classe será inicializada com parâmetros para o símbolo de ações, chave de API e data (com um valor padrão). Além disso, permitirá que o usuário especifique uma pasta onde os dados podem ser salvos, com um valor padrão de Nenhum.

Dentro da classe, definirei um método chamado "get_data" que irá buscar os dados do estoque. Ele primeiro verificará se os dados já estão disponíveis na pasta especificada comparando o símbolo com os arquivos disponíveis. Se os dados forem encontrados, eles serão lidos em um DataFrame e padronizados. Caso contrário, ele buscará os dados usando a API e os retornará como um DataFrame.

Ao inicializar uma instância Stock, o símbolo, a chave API, a data e os dados serão armazenados como variáveis de instância. Para testar a funcionalidade, criarei um objeto Stock e imprimirei os dados.

Isso conclui a Parte 10 da série. Na Parte 11, adicionaremos mais transformações de dados à classe Stock.
Stock Analysis Python: How to Automatically Analyze Stocks with Python || Part 10
Stock Analysis Python: How to Automatically Analyze Stocks with Python || Part 10
  • 2022.07.21
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Create Stock class in Python to automate stock data analysis✅ Please SUBSCRIBE:https...
 

Python para análise de ações: cálculo e gráfico automáticos dos retornos e volatilidade das ações || Parte 11



Python para análise de ações: cálculo e gráfico automáticos dos retornos e volatilidade das ações || Parte 11

Bem-vindo à Parte 11 da minha série sobre Python para análise de ações. Você pode encontrar os links para os vídeos anteriores e o repositório do GitHub na descrição abaixo.

Na Parte 10, criamos uma classe simples para inicializar um símbolo de ações e buscar seus dados em uma pasta local ou por meio de uma API. Nesta parte, vamos nos aprofundar mais nas transformações de dados e começar a plotar os dados.

Primeiro, adicionarei um novo método chamado "calculate_volatility" que usa um DataFrame como entrada. Para integrar este método com o método "get_data", vou modificá-lo de acordo. Dentro do método "calculate_volatility", adicionarei várias colunas ao DataFrame. A primeira coluna serão os retornos, calculados como a diferença logarítmica dos preços de fechamento com precisão de quatro casas decimais.

Em seguida, calcularei a volatilidade contínua, que representa o desvio padrão dos retornos em um período de 21 dias. Vou arredondar o resultado para quatro casas decimais. Além disso, incluirei as colunas de alteração absoluta, spread alto-baixo e alteração esperada, com os arredondamentos apropriados.

Para analisar a magnitude do movimento da ação, vou calcular uma coluna chamada "magnitude" que representa a variação real dividida pela variação esperada, arredondada para duas casas decimais. Por fim, incluirei uma coluna de valor absoluto para possíveis propósitos gráficos.

Vou descartar as linhas iniciais que contêm valores NaN resultantes dos cálculos e, em seguida, chamarei o método "calculate_volatility" dentro do método "get_data".

Vamos testar o código inicializando uma instância Stock e imprimindo o DataFrame.

Agora, vamos plotar a distribuição de retorno criando um histograma. Determinarei as datas de início e término e, em seguida, plotarei o histograma com 20 compartimentos e uma cor de borda. Para aprimorar o título, usarei um supertítulo com duas linhas, especificando o intervalo de datas. Finalmente, vou mostrar o enredo.

Vamos executar o código e examinar o histograma, que fornece uma visão geral da distribuição do retorno da ação no último ano.

Isso conclui a Parte 11. Na Parte 12, continuaremos trabalhando em plotagens adicionais antes de passar para outras transformações de dados.
Python for Stock Analysis: Automatically Calculate & Graph Stock Returns & Volatility || Part 11
Python for Stock Analysis: Automatically Calculate & Graph Stock Returns & Volatility || Part 11
  • 2022.07.25
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Use API to create a stock screener✅ Please SUBSCRIBE:https://www.youtube.com/subscri...
 

Como calcular e normalizar os retornos esperados das ações || Análise de Ações Python Parte 12



Como calcular e normalizar os retornos esperados das ações || Análise de Ações Python Parte 12

Bem-vindo à Parte 12 da minha série sobre Python para análise de ações. Você pode encontrar o código e links para outros vídeos na descrição abaixo.

Na Parte 11, realizamos transformações básicas de dados em nossa classe Stock adicionando colunas ao DataFrame e plotando a distribuição de retornos. Neste vídeo continuaremos com mais opções de plotagens que podem ser úteis para análise de estoque.

Para começar, vamos plotar a volatilidade da ação. A configuração será semelhante ao que fizemos antes, incluindo o super título e as datas de início e término. Vamos criar um gráfico de dispersão, onde o eixo x representa os retornos e o eixo y representa a magnitude absoluta da mudança nos desvios padrão. Vamos adicionar linhas horizontais e verticais para referência.

Vamos executar o código e examinar o gráfico de dispersão da volatilidade. Podemos observar o intervalo de variações percentuais e o número de desvios padrão. Por exemplo, no ano passado, não houve nenhuma mudança além de três desvios padrão e meio.

A seguir, vamos plotar o desempenho da ação. Novamente, a maior parte do código permanece a mesma, então podemos copiá-lo e fazer alguns ajustes. Em vez de um gráfico de dispersão, criaremos um gráfico de linhas para acompanhar o desempenho relativo ao longo do tempo. Vamos dividir os preços de fechamento pelo preço de fechamento no primeiro dia, subtrair 1 para obter a variação percentual, multiplicar por 100 e formatá-lo como uma porcentagem no eixo y. Vamos manter a linha horizontal para referência.

A execução do código exibirá o gráfico de linhas do desempenho da ação. Podemos ver como a ação se saiu durante um determinado período de tempo, comparando-a com o preço inicial. Nesse caso, podemos observar uma tendência positiva seguida de queda nos últimos meses.

Sinta-se à vontade para personalizar o tamanho da figura e explorar outras opções de plotagem de acordo com suas necessidades.

Isso conclui a Parte 12. Na Parte 13, vamos nos aprofundar nas transformações de dados adicionais.
How to Calculate & Normalize Expected Stock Returns || Python Stock Analysis Part 12
How to Calculate & Normalize Expected Stock Returns || Python Stock Analysis Part 12
  • 2022.07.28
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Calculate and Normalize Stock Returns ✅ Please SUBSCRIBE:https://www.youtube.com/sub...
 

Python para análise de ações: filtrar dados por vencimento e volatilidade da opção || Parte 13



Python para análise de ações: filtrar dados por vencimento e volatilidade da opção || Parte 13

Bem-vindo à Parte 13 da minha série sobre Python para análise de ações. Você pode encontrar o código e links para outros vídeos no GitHub na descrição abaixo.

Na Parte 12, exploramos vários gráficos que podem ser úteis para a análise de estoque. Neste vídeo, estenderemos nossa classe Stock adicionando alguns métodos para examinar diferentes partes dos dados.

Primeiro, vamos escrever um método para identificar os dias em que as opções expiram. Estas são as terceiras sextas-feiras de cada mês. Chamaremos esse método de "option_expiration". Para fazer isso, criaremos uma máscara usando a função np.where do NumPy. Especificaremos três condições: o índice dos dados deve ser maior que 14 (terceira sexta-feira mais cedo possível), menor que 21 (terceira sexta-feira mais cedo possível) e corresponder a uma sexta-feira (dia da semana 4). Retornaremos os dados com essa máscara aplicada, resultando em um DataFrame que inclui apenas as sextas-feiras de vencimento.

Em seguida, escreveremos nosso método final, que determina quanto tempo durou a baixa volatilidade desde os dois últimos movimentos de desvio padrão. Chamaremos esse método de "low_vol_duration". Para implementar isso, adicionaremos uma coluna aos dados chamada "dias menores que 2 desvios padrão" e a inicializaremos com zeros. Em seguida, vamos iterar sobre os dados e verificar a magnitude de cada linha. Se a magnitude for menor que dois, incrementaremos a contagem e atualizaremos a linha correspondente na coluna "dias menores que 2 desvios padrão". Se a magnitude for dois ou mais, redefiniremos a contagem para zero. Por fim, retornaremos o DataFrame contendo apenas as linhas com dois movimentos de desvio padrão, mostrando o número de dias entre cada movimento.

Vamos executar o código e examinar os resultados. Podemos ver os dias de vencimento da opção, que caem entre os dias 15 e 21 de cada mês. Além disso, temos a duração da baixa volatilidade, indicando o número de dias desde o movimento anterior de dois desvios padrão. Por exemplo, cerca de um ano atrás, passamos dois dias desde o movimento anterior de dois desvios padrão, seguido por períodos de 32, 41 e assim por diante.

Isso encerra a Parte 13 e conclui a Seção 2. Encorajo você a continuar desenvolvendo e expandindo a classe Stock de acordo com suas necessidades. Na Parte 14, exploraremos como empacotar nossas funções em um pacote Python que pode ser instalado usando pip.
Python for Stock Analysis: Filter Data by Option Expiration and Volatility || Part 13
Python for Stock Analysis: Filter Data by Option Expiration and Volatility || Part 13
  • 2022.08.15
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Calculate and Normalize Stock Returns ✅ Please SUBSCRIBE:https://www.youtube.com/sub...
 

Python Stock Analysis: crie e publique seus próprios pacotes Python personalizados com Pip no código VS


Python Stock Analysis: crie e publique seus próprios pacotes Python personalizados com Pip no código VS

Neste vídeo, guiarei você pelo processo de empacotar seu código Python em uma biblioteca que pode ser instalada usando pip. Este é o último vídeo da minha série sobre Python para análise de ações, onde abordamos tópicos como recuperação de dados, transformação de dados, visualização e triagem de dados. Você pode encontrar links para os vídeos anteriores na descrição abaixo, bem como um link para o repositório GitHub.

O objetivo de empacotar nosso código é torná-lo mais conveniente para uso e reutilização em projetos Python específicos. Embora eu demonstre o processo como se estivéssemos publicando o código no PyPI (Python Package Index), é importante observar que o código pode não estar pronto para o PyPI imediatamente. Primeiro, vamos configurá-lo e instalá-lo localmente para entender o processo. No entanto, no futuro, você pode modificar o código e criar algo que gostaria de compartilhar com um público mais amplo.

O processo de embalagem pode variar dependendo da complexidade do projeto. No nosso caso, como nosso código é composto por dois módulos, o processo é relativamente simples. Aqui está uma visão geral das etapas:

  1. Crie uma pasta pai para armazenar o código-fonte e outros arquivos.
  2. Dentro da pasta pai, crie uma pasta "source" e uma pasta "tests". A pasta de origem conterá o pacote real quando instalado.
  3. Copie os dois arquivos de código dos segmentos anteriores para a pasta de origem.
  4. Crie um arquivo " init .py" com sublinhado duplo na pasta de origem para permitir a importação dos módulos.
  5. Crie um arquivo de licença para proteger seu código e minimizar os riscos legais.
  6. Adicione um arquivo README para fornecer documentação e servir como página inicial no GitHub ou PyPI.
  7. Crie arquivos de configuração que definam como o Python interage com seu código.
    • Crie um arquivo "pyproject.toml" para o sistema de compilação e especifique as dependências.
    • Crie um arquivo "setup.cfg" para fornecer metadados sobre seu projeto (nome, versão, descrição, licença, etc.) e especifique as dependências do pacote.

Depois de configurar as pastas e os arquivos de configuração, você pode instalar a biblioteca localmente usando pip. Abra a linha de comando, navegue até a pasta pai e execute o comando "pip install". Isso instalará a biblioteca, tornando-a acessível em qualquer ambiente Python.

Após a instalação, você pode testar a biblioteca iniciando o Python e importando o módulo "analisar". Você também pode usar a função "ajuda" para visualizar metadados sobre o pacote.

Lembre-se de que o processo de empacotamento pode evoluir com o tempo e há várias maneiras de empacotar o código para instalação. As etapas que descrevi aqui são um ponto de partida e você pode explorar opções adicionais à medida que seus projetos se tornam mais complexos.

Espero que este tutorial ajude você a começar a criar seus próprios pacotes Python.

Python Stock Analysis: Create & Publish Your Own Custom Python Packages with Pip in VS Code
Python Stock Analysis: Create & Publish Your Own Custom Python Packages with Pip in VS Code
  • 2022.11.13
  • www.youtube.com
​ @Matt Macarty #python #trading #algotrading ✅ Please SUBSCRIBE:https://www.youtube.com/subscription_center?add_user=mjmacarty✅ Visit Lumiwealth ...
 

Backtesting e negociação ao vivo com corretores interativos usando Python.


Backtesting e negociação ao vivo com corretores interativos usando Python.

Dr. Julio inicia a sessão fornecendo uma introdução à negociação algorítmica e seus benefícios. Ele explica que a negociação algorítmica permite que os traders reduzam a pressão de monitorar constantemente o mercado, minimizem os erros humanos e criem mais tempo livre para outras atividades. Ele destaca os quatro principais componentes da negociação algorítmica, que são corretores, internet, programas e computadores.

O foco então muda para a Interactive Brokers (IB), que é apresentada como a maior plataforma de negociação eletrônica nos Estados Unidos. O Dr. Julio explica que o IB oferece uma tecnologia de API avançada que permite que os comerciantes usem programas para negociar, fornecendo preços competitivos e acesso aos mercados globais. Ele enfatiza que os programas Python podem ser usados para negociar algoritmicamente com o IB.

Em seguida, o Dr. Julio apresenta um software Python chamado Hybrid Fat Pack, que permite aos comerciantes configurar uma plataforma de negociação algorítmica em seus computadores locais ou na nuvem. Ele destaca a principal vantagem dessa plataforma, que é a possibilidade de proteger a propriedade intelectual ao não precisar divulgar ou fazer upload de nenhuma informação na internet. Os comerciantes também podem realizar backtesting e negociação ao vivo em um só lugar, gerenciar várias contas e negociar com diferentes corretores usando vários pacotes Python, como TensorFlow e Scikit-learn. Ele fornece instruções sobre como baixar e configurar a plataforma Hybrid Fat Pack no site do AI Bridge PI.

Seguindo em frente, o Dr. Julio explica as etapas necessárias para configurar as ferramentas para backtesting e negociação ao vivo com corretores interativos usando Python. Ele aconselha os usuários a baixar e salvar as ferramentas necessárias, incluindo Interactive Brokers, terminais IP oficiais e Python. Ele também fornece links para tutoriais, documentação e um fórum da comunidade para suporte adicional. Dr. Julio demonstra como configurar WS (Workstation) e IB Gateway e mostra como abrir um ambiente Python usando o Anaconda. Ele executa um código Python para mostrar o processo de configuração e fornece dicas sobre como organizar janelas para melhorar a produtividade.

O palestrante passa a explicar as etapas iniciais do uso de Interactive Brokers com Python. Ele instrui os usuários a abrir um arquivo chamado 'Romina Eva' e localizar o código de sua conta, que precisa ser atualizado no arquivo de acordo. O palestrante demonstra como escolher e executar um código Python, inicializando um trader e exibindo o saldo da conta, valor em dinheiro, valor do portfólio e ordens pendentes. Os usuários podem negociar vários títulos, como ações, opções, futuros e Forex usando o Hybrid Fat Pack. O palestrante menciona que os pedidos feitos não podem ser manipulados e são listados com um ID de permissão.

O processo de recuperação de dados de preços históricos e em tempo real de corretores interativos é demonstrado. Ao comentar/descomentar linhas de código específicas, o palestrante mostra como recuperar dados em tempo real ou históricos e imprimi-los em um formato amigável. A estrutura do código e três funções essenciais no código Python são explicadas, incluindo a função "inicializar" que é executada no início e a função "manipular dados" onde as decisões de negociação são tomadas e executadas a cada 2 segundos por padrão.

Dr. Julio explica como tomar decisões de negociação usando Python e Interactive Brokers. Os usuários podem configurar o código para tomar decisões em horários fixos, seja a cada segundo, hora, dia ou em horários específicos. Ele apresenta três funções cruciais para a criação de decisões de negociação: inicialização, manipulação de dados e colocação de um pedido. Para demonstrar o processo, são fornecidos exemplos de códigos para buscar dados históricos e imprimir o preço de venda do I Spears ETF. O palestrante utiliza o quadro de dados do Panda para recuperar e imprimir dados históricos, mostrando como o Python pode ser utilizado para decisões comerciais.

O palestrante discute a colocação de ordens usando variáveis globais e preços em tempo real, fornecendo exemplos de compra de ações. O Interactive Brokers é usado para pesquisar valores mobiliários, aplicar filtros como o mercado principal dos EUA e um preço acima de $ 100 e usar a função de resultado de varredura de gato para obter informações relevantes. As etapas para construir uma estratégia de algoritmo são explicadas, incluindo identificação do contrato, frequência das decisões de negociação usando dados de manipulação ou funções agendadas, solicitação de dados históricos e escolha do tipo de ordem. É apresentado um exemplo de estratégia de reversão de fechamento diário, onde as decisões de negociação são tomadas com base no preço de fechamento do dia anterior. Uma função de agendamento é definida para ser executada diariamente em um horário específico para acionar o processo de tomada de decisão e as ações subsequentes.

O vídeo aborda dois exemplos de estratégias de negociação em Python. O primeiro exemplo demonstra uma estratégia básica baseada nos preços de fechamento de dois dias consecutivos. Se o fechamento de hoje for maior que o de ontem, todas as posições serão vendidas; caso contrário, o SPY é comprado. O código é explicado e é relativamente simples. O vídeo apresenta o conceito de backtesting e apresenta um exemplo mais avançado de uma estratégia de cruzamento de média móvel. O processo de aplicação de uma estratégia a dados históricos e avaliação de seu desempenho é discutido. O código para esta estratégia é explicado e permanece direto. O vídeo também aborda a recuperação e o processamento de dados, bem como a análise dos resultados dos testes e a visualização dos valores do portfólio.

Dr. Julio discute o processo de backtesting e negociação ao vivo com corretores interativos usando Python. Ele explica o modo padrão de execução da função manipular dados a cada minuto para fins de teste e a importância de ter um plano de injeção de dados históricos. Ele detalha como fornecer dados minuto a minuto e diários ao código e como especificar o período de tempo e a frequência para backtesting com Interactive Brokers. Um exemplo de código é demonstrado, mostrando como executar um backtester, recuperar e gerenciar informações da conta e verificar a pasta de saída para saldo da conta e valor em dinheiro.

O palestrante enfatiza os benefícios de fornecer dados históricos fornecidos pelo usuário para melhorar o desempenho do código. Embora os dados de simulação exatos do Interactive Brokers sejam necessários para fins de depuração, solicitar informações desnecessárias pode consumir muito tempo. O Dr. Julio sugere fornecer apenas uma parte dos dados históricos ou usar dados aleatórios, o que pode melhorar significativamente o desempenho do código. Ele demonstra como fornecer dados históricos de um arquivo CSV local, especificar o intervalo de tempo e o tipo de dados desejados e executar testes com mais rapidez e eficiência usando uma lista de tempo personalizada e o provedor de dados 'render'.

O Dr. Julio discute a análise de desempenho e sua importância na avaliação do desempenho de uma estratégia de negociação algorítmica. Ele explica a necessidade de dados históricos para testar e refinar o código e como um gráfico de análise de desempenho pode calcular variáveis como a proporção de Sharpe para auxiliar nesse processo. Uma vez confortável com os resultados do backtesting, o palestrante aconselha mudar para uma conta de papel para executar a estratégia em condições reais de mercado. Ele também demonstra como usar o iBridgePy para lidar com várias contas, o que é crucial para os gestores de fundos.

O Dr. Julio conclui destacando a flexibilidade e a natureza amigável do software Hybrid Fat Pack, tornando-o uma ferramenta poderosa para negociação algorítmica.

  • 00:00:00 O Dr. Julio faz uma introdução sobre trading algorítmico e corretores interativos, seguido por uma explicação de uma estratégia de trading simples chamada "Daily Close Reverse". Ele explica a implementação dessa estratégia usando iBridgePy e backtesting usando dados históricos fornecidos por Interactive Brokers ou outros provedores de dados. Depois que o backtesting é concluído, ele é analisado quanto a possíveis resultados e, se a estratégia tiver um bom desempenho, a estratégia de negociação ao vivo é implementada usando o iBridgePy e os pedidos são feitos nas contas martillo. O Dr. Julio enfatiza que essa é uma característica essencial para os gestores de fundos de hedge.

  • 00:05:00 O palestrante fala sobre os benefícios da negociação algorítmica, que incluem menos pressão de observar constantemente o mercado, menos erros humanos e mais tempo livre. Os quatro principais componentes da negociação algorítmica são corretores, internet, programas e computadores. O palestrante passa a discutir a Interactive Brokers (IB), que é uma LLC e a maior plataforma de negociação eletrônica dos Estados Unidos. A IB oferece uma tecnologia de API avançada que permite que os comerciantes usem programas para negociar, fornecendo preços competitivos e acesso ao mercado global. Para negociar algoritmicamente com o IB, os comerciantes podem usar programas Python e conectá-los ao IB para começar a negociar.

  • 00:10:00 O palestrante apresenta um software Python chamado Hybrid Fat Pack, que permite aos traders configurar uma plataforma de negociação de algo em seus computadores locais ou na nuvem. A principal vantagem de usar esta plataforma é que os comerciantes podem proteger suas propriedades intelectuais, pois não precisam divulgar ou fazer upload de qualquer informação na internet como fazem outros concorrentes. Além disso, os comerciantes podem fazer backtest e negociar ao vivo juntos em um só lugar, gerenciar várias contas e negociar com diferentes corretores usando qualquer pacote Python, incluindo TensorFlow e Scikit-learn. O palestrante também fornece instruções sobre como configurar a plataforma, que podem ser baixadas no site do AI Bridge PI.

  • 00:15:00 O palestrante explica as etapas necessárias para configurar as ferramentas necessárias para backtesting e negociação ao vivo com corretores interativos usando Python. O primeiro passo é baixar e salvar as ferramentas necessárias, incluindo Interactive Brokers, terminais IP oficiais e Python. O palestrante também fornece links para tutoriais, documentação e um fórum da comunidade que fornece informações úteis aos usuários. O palestrante então faz uma demonstração de como configurar o gateway WS e IB antes de demonstrar como abrir um ambiente Python usando o Anaconda e executar um código Python. A seção termina com dicas sobre como organizar janelas para melhor produtividade.

  • 00:20:00 O palestrante explica os passos iniciais necessários para usar Interactive Brokers com Python abrindo um arquivo chamado 'Romina Eva.' O usuário precisa encontrar seu código de conta e alterá-lo no arquivo para refletir sua própria conta. O palestrante demonstra como escolher um código Python e executá-lo e, em seguida, mostra como inicializar um trader e exibir o saldo da conta, valor em dinheiro, valor do portfólio e ordens pendentes. O usuário pode negociar ações, opções, futuros, Forex e outros contratos usando o caminho híbrido. Se o usuário fizer pedidos que não podem ser manipulados, eles serão listados com um ID de permissão.

  • 00:25:00 O apresentador demonstra como executar uma ponte entre Python e Interactive Brokers para obter dados de preços históricos e em tempo real. Ao comentar linhas de código específicas, o apresentador mostra como recuperar dados históricos ou em tempo real e imprimi-los de maneira direta. O apresentador então explica a estrutura do código e as três funções básicas usadas no código Python, incluindo a função "initialize", que é executada no início da execução do código, e a função "handle data", onde as decisões de negociação são tomadas e executadas a cada 2 segundos por padrão.

  • 00:30:00 O palestrante explica como usar o Python para tomar decisões de negociação com corretores interativos. Ao configurar o código, os usuários podem definir um cronograma fixo para tomar decisões a cada segundo, hora, dia ou em horários específicos. Além disso, o palestrante apresenta três funções básicas que são essenciais na criação de decisões de negociação, incluindo inicializar uma função, manipular dados e fazer um pedido. Para demonstrar o processo, o palestrante fornece exemplos de códigos que buscam dados históricos e imprimem o preço de venda do I Spears ETF. Usando o quadro de dados do Panda, o palestrante pode recuperar dados históricos e imprimi-los, demonstrando ainda mais como o Python pode ser usado para tomar decisões comerciais.

  • 00:35:00 O apresentador discute como colocar ordens usando variáveis globais, preços em tempo real e exemplos para comprar ações. O apresentador também apresenta o uso de Interactive Brokers para pesquisar valores mobiliários, adicionar filtros como o principal mercado dos EUA e um preço acima de $ 100 e usar a função cat scan result para obter informações relevantes. Ele então explica as etapas para construir uma estratégia de algo, que inclui identificar o contrato, a frequência das decisões de negociação usando dados de manipulação ou uma função agendada, solicitando dados históricos e escolhendo o tipo de ordem. O apresentador fornece um exemplo de estratégia de reversão de fechamento diário, que envolve a tomada de decisões de negociação com base no preço de fechamento do dia anterior. Ele também define uma função de agendamento para executar todos os dias em um horário específico para acionar a função diária onde as decisões e ações são tomadas.

  • 00:40:00 O vídeo mostra dois exemplos de estratégias de negociação em Python. O primeiro exemplo utiliza uma estratégia básica baseada nos preços de fechamento de dois dias, onde se o fechamento de hoje for maior que ontem, venda todas as posições, caso contrário, compre SPY. O código é então explicado e é bastante simples. O vídeo então passa para o conceito de backtesting, e um exemplo mais avançado de uma estratégia de cruzamento de média móvel é detalhado. O processo de aplicação de uma estratégia a dados históricos para ver o quão bem ela estima os resultados comerciais é discutido. O código para esta estratégia é explicado e ainda é bastante simples. O vídeo também explica como recuperar e processar esses dados, bem como analisar os resultados dos testes e visualizá-los nos valores do portfólio.

  • 00:45:00 O palestrante discute o processo de backtesting e negociação ao vivo com corretores interativos usando Python. Eles começam explicando o modo padrão de executar dados de manipulação a cada minuto para teste e a necessidade de um plano de injeção de dados históricos. O palestrante explica como fornecer dados minuto a minuto e diários ao seu código. Eles também abordam como informar aos Interactive Brokers o prazo e a frequência do backtesting. O palestrante demonstra um exemplo de código de execução de um backtester e recuperação e gerenciamento de informações da conta e como verificar a pasta de saída para saldo da conta e valor em dinheiro.

  • 00:50:00 O palestrante discute os benefícios de fornecer dados históricos pelo usuário para melhorar o desempenho do código. O palestrante explica que, para fins de depuração, são necessários dados de simulação exatos de Interactive Brokers (IB) para cada teste, mas solicitar muitas informações é desnecessário e desperdiça muito tempo. Às vezes, apenas uma parte dos dados históricos é necessária e o fornecimento de dados aleatórios pode ser suficiente. Isso pode melhorar muito o desempenho do código de alguém. O palestrante demonstra como fornecer dados históricos de um arquivo CSV local e como especificar o intervalo de tempo desejado e o tipo de dados necessários. Além disso, o palestrante mostra como executar testes com muito mais rapidez e eficiência, especificando uma lista de tempo personalizada e usando o provedor de dados 'render'.

  • 00:55:00 O palestrante discute a análise de desempenho e como usá-la para analisar o desempenho de sua estratégia de negociação algorítmica. Para começar, são necessários dados históricos para testar e refinar seu código, e o palestrante explica como usar um gráfico de análise de desempenho para calcular variáveis como o índice de Sharpe para auxiliar nesse processo. Assim que estiver confortável com os resultados do seu backtesting, você pode mudar para uma conta de papel para executar sua estratégia em condições reais de mercado. Por fim, o palestrante demonstra como usar o I Bridge PY para lidar com várias contas, um recurso importante para gestores de fundos. No geral, as médias e o software são flexíveis e fáceis de usar, tornando-os uma ferramenta poderosa para negociação algorítmica.
Backtesting and live trading with Interactive Brokers using Python.
Backtesting and live trading with Interactive Brokers using Python.
  • 2019.11.15
  • www.youtube.com
This is your go-to guide to backtesting with Interactive Brokers and going live with your trading strategy. In this session, we have Dr Hui Liu (Faculty, EPA...