Escolar Documentos
Profissional Documentos
Cultura Documentos
Casa / / Noções básicas de negociação algorítmica / / Passo a passo para criar um bot de negociação de ações
262588213843476 • Essência
Considero o Python uma boa linguagem para esse tipo de ciência de dados, pois a sintaxe é fácil de entender
e há uma grande variedade de ferramentas e bibliotecas para ajudá-lo no seu desenvolvimento. Além disso, a
API do Alpaca Python nos fornece uma maneira fácil de integrar dados de mercado sem a necessidade de
implementar um novo wrapper de API.
alpacahq / alpaca-trade-api-python
alpacahq • GitHub
Para processamento e plotagem de dados, recomendo o uso do TA-Lib e Matplotlib . O Ta-Lib fornece uma
boa biblioteca para calcular indicadores comuns de mercado, para que você não precise reimplementá-los;
enquanto o matplotlib é uma ferramenta de plotagem simples, porém poderosa, que o servirá bem para
todos os tipos de visualização de dados.
script visualizador
262588213843476 • Essência
https://alpaca.markets/learn/stock-trading-bot-instruction/ 1/6
7/24/2020 Step-by-Step to Build a Stock Trading Bot
O script adiciona uma estratégia cruzada de média móvel simples contra alguns símbolos de negociação
Alpaca Top Documentos da API INSCREVA-SE ->
diferentes para fornecer uma pequena amostra de como isso pode ser justo nas negociações ao vivo. Isso
permite uma primeira verificação de sanidade para os sinais de uma nova estratégia. Depois que uma
estratégia passa na inspeção visual, você pode executá-la através de uma ferramenta de backtesting .
Você pode até adicionar marcadores visuais a cada negociação simulada e, para uma estratégia avançada de
movimentação, os indicadores dos quais o sinal foi derivado. Isso pode facilitar ainda mais a análise dos
pontos fracos de um conjunto de sinais, para que você possa ajustar seus parâmetros.
https://alpaca.markets/learn/stock-trading-bot-instruction/ 2/6
7/24/2020 Step-by-Step to Build a Stock Trading Bot
returned_data = api.get_bars(symbol,barTimeframe,start_dt=startDate).bars
timeList = []
openList = []
highList = []
lowList = []
closeList = []
volumeList = []
# Fills the green region if SMA20 > SMA50 and red if SMA20 < SMA50
ax.fill_between(timeList, SMA50, SMA20, where=SMA20 >= SMA50, facecolor='green', alpha=0.5, interpolate=
ax.fill_between(timeList, SMA50, SMA20, where=SMA20 <= SMA50, facecolor='red', alpha=0.5, interpolate=Tr
iteratorPos += 1
plt.show()
https://alpaca.markets/learn/stock-trading-bot-instruction/ 3/6
7/24/2020 Step-by-Step to Build a Stock Trading Bot
Depois de passar do estágio de backtesting, você precisará de uma estrutura de negociação simples para
integrar suas estratégias para testes ao vivo. Isso pode ser executado em uma conta de negociação em papel
para testar os sinais em um feed de dados ativo.
Este é um passo importante no desenvolvimento, pois testa se a estratégia foi super ajustada ao seu conjunto
de dados. Por exemplo, uma estratégia poderia ser facilmente ajustada para negociar perfeitamente um
símbolo específico durante um período de backtesting. No entanto, é improvável que isso generalize bem
para outros mercados ou períodos diferentes - levando a sinais e perdas ineficazes.
Como tal, você desejará uma maneira simples de testar suas estratégias em um ambiente de preparação,
antes de investir algum dinheiro com uma conta de negociação real. Isso serve para testar a estratégia e a
implementação, pois um pequeno bug no seu código pode ser suficiente para acabar com uma conta, se não
estiver marcada.
Aqui está outro exemplo de snippet de um bot de negociação que implementa a estratégia cruzada de média
móvel (script completo no final desta seção).
(TRECHO DE CÓDIGO DE UM BOT DE NEGOCIAÇÃO QUE IMPLEMENTA A ESTRATÉGIA CRUZADA DE MÉDIA MÓVEL -
Para transformar isso em um bot de negociação completo, você pode optar por adicionar um loop
temporizado ao próprio código ou fazer com que todo o script seja executado em uma programação
periódica. A última é geralmente uma escolha melhor, pois uma exceção que causa um acidente inesperado
interromperia completamente o bot de negociação se fosse um loop independente. Onde como, uma tarefa
agendada não apresentaria esse problema, pois cada etapa da pesquisa é uma instância separada do script.
Além disso, você provavelmente desejará implementar um sistema de registro, para poder monitorar
facilmente o bot e identificar quaisquer bugs enquanto ele é executado. Isso pode ser conseguido
adicionando uma função para gravar um arquivo de texto com qualquer informação relevante no final de
cada processo.
Depois de ter uma estratégia de trabalho, a API da Alpaca deve facilitar a expansão do seu bot de negociação
em um sistema de produção completo, permitindo que você comece a negociar rapidamente.
https://alpaca.markets/learn/stock-trading-bot-instruction/ 4/6
7/24/2020 Step-by-Step to Build a Stock Trading Bot
from datetime import datetime Alpaca Top Documentos da API INSCREVA-SE ->
import numpy as np
import talib
import alpaca_trade_api as tradeapi
returned_data = api.get_bars(symbol,barTimeframe,limit=100).bars
timeList = []
openList = []
highList = []
lowList = []
closeList = []
volumeList = []
else:
# Closes position if SMA20 is below SMA50
openPosition = api.get_position(symbol)
iteratorPos += 1
https://alpaca.markets/learn/stock-trading-bot-instruction/ 5/6
7/24/2020 Step-by-Step to Build a Stock Trading Bot
Atualizada há 4 meses
Artigos relacionados
Algo de escalpelamento simultâneo usando Python assíncrono
© 2020 Alp aca S ec ur iti es LLC To dos o s d ire i tos res e r vado s.
© 2020 Alp acaDB, Inc. Todos os direitos res e r va dos .
O s ser viços de c orreta gem são fo r necido s pe l a Al p aca S e cu ri ti e s LLC ("Al p aca") , m em bro d a F IN RA / SI PC , s ubsidiá ria i ntegra l da Alpa caDB, I nc. A t ec nol ogia e os ser viço s
sã o oferec i do s p ela Alpaca DB, In c.
E sta nã o é uma o fer ta , solicit açã o de o fer t a, ou conse l h os p ara comp rar o u ve nd e r va lore s mob i l i á ri os ou a bri r uma co nta de corretagem em qua lquer juris di ção em que a
A lpac a não est eja regist rada (a Alp ac a est á reg i st rad a ap e nas nos Es ta dos Uni d os) .
https://alpaca.markets/learn/stock-trading-bot-instruction/ 6/6