Construindo Automated Trading System a partir do zero.
Eu sinto muito se isso parece ser uma pergunta que eu posso facilmente encontrar a resposta para algum lugar por aqui, mas eu olhei através de muitos dos principais posts neste fórum e não consigo encontrar o que Eu estou procurando.
Meu objetivo é tentar construir um sistema de negociação automatizado a partir do zero (até o ponto em que basicamente posso pressionar um botão para iniciar o programa e ele será negociado durante as horas de mercado antes de fechá-lo). Eu prefiro poder usar o Python para isso (já que usar o Python também pode ajudar a melhorar minhas habilidades de codificação), mas não sei por onde começar.
Eu vejo muitos, muitos posts e livros sobre estratégias de negociação de algo e tudo mais, mas eu quero realmente construir o sistema que o comercializa.
Há algum recurso específico (cursos on-line, livros, sites) que vocês recomendariam para descobrir isso?
Além disso, quais são as partes específicas que eu preciso? Eu sei que preciso de algo para coletar dados, analisar os dados, executar a estratégia nos dados e enviar pedidos. É isso?
Como uma nota lateral, quanto tempo levaria um projeto como esse? Meu palpite inicial é de 4-6 meses trabalhando nos fins de semana, mas eu posso estar longe. FYI, eu sou um graduado recente do CS.
Além disso, estou na metade do livro Quantitative Trading de Ernie Chan e até agora foi interessante! Infelizmente é tudo em MATLAB e abrange mais no lado da estratégia.
Sistemas de Negociação: Outras Considerações.
Agora você deve estar familiarizado com alguns elementos comuns que compõem um sistema de negociação, as vantagens e desvantagens de usá-los, alguns dos diferentes mercados e estratégias que podem ser usados para construí-los e os componentes básicos de um sistema de negociação. Também analisamos como construir um sistema básico de negociação cruzada móvel a partir do zero.
Vamos dar uma olhada em algumas outras considerações importantes antes de começar.
Erros comuns.
Os sistemas de negociação podem parecer relativamente simples de desenvolver, mas o excelente desempenho em uma simulação nem sempre se traduz em grandes resultados de negociação ao vivo. Há muitas razões diferentes para essas falhas, incluindo aquelas que estão além do controle do desenvolvedor, mas há alguns erros comuns a serem observados ao desenvolver sistemas de negociação.
Alguns dos erros mais comuns incluem:
Usando os dados errados - Muitos desenvolvedores de sistemas de negociação são tentados a usar o preço de fechamento para ações ao calcular um fator técnico. Infelizmente, esses traders não fazem negócios após o fechamento, portanto o leve viés de antecipação pode distorcer os resultados do backtesting. Fazendo Negociações Irreais - Alguns sistemas de negociação alocam grandes quantidades de capital para pequenas empresas, o que causa uma série de problemas ao traduzir os resultados para a negociação ao vivo. Algumas empresas podem ter um limite de mercado ou volume limitado, enquanto seus negócios podem, na verdade, impactar o preço de outros. Curvefitting the Model - Muitos sistemas de negociação envolvem o treinamento de um modelo com dados de amostra, mas há um limite para esse treinamento. Se você treinar demais, o modelo será ajustado a curvas para esse conjunto de dados e poderá não funcionar tão bem em conjuntos de dados diferentes. Se você treinar muito pouco, a estratégia pode não estar totalmente otimizada. O objetivo deve ser treinar um sistema até o ponto em que ele seja de alto desempenho e genérico o suficiente para ser usado em qualquer lugar. Treinamento Impróprio - Muitos sistemas de negociação, como modelos de redes neurais, envolvem o treinamento de um modelo com um conjunto de dados para ajudá-lo a aprender. Ao fazer o backtesting desses sistemas de negociação, é importante usar um conjunto de dados diferente do conjunto de dados de treinamento.
A melhor maneira de evitar esses problemas é muitas vezes para o comércio de papel uma estratégia antes de cometer capital real. Dessa forma, você pode determinar como o sistema funciona na vida real e descartar as instâncias em que esses vieses poderiam ter causado impacto.
algotrading.
123 & # 32; пользователя находятся здесь.
МОДЕРАТОРЫ.
Bem vindo ao Reddit,
a primeira página da internet.
e inscreva-se em uma das milhares de comunidades.
отправлено & # 32; 2 meses atrás & # 32; автор & # 32; qgof.
Quer adicionar à discussão?
приложенияи инструменты Reddit para iPhone Reddit para Android móvel кнопки site.
Использование данного сайта означает, что вы принимаете & # 32; пользовательского соглашения & # 32; и & # 32; Политика конфиденциальности. &cópia de; 2018 reddit инкорпорейтед. Все права защищены.
REDDIT e o logotipo ALIEN são marcas registradas da reddit inc.
& pi; Processado pelo PID 78320 em & # 32; app-379 & # 32; em 2018-04-02 17: 19: 12.272046 + 00: 00 executando d7dced5 código do país: UA.
Sistemas de Negociação: Construindo um Sistema de Negociação.
Agora você deve estar familiarizado com alguns elementos comuns que compõem um sistema de negociação, as vantagens e desvantagens de usá-los, alguns dos diferentes mercados e estratégias que podem ser usados para construí-los e os componentes básicos de um sistema de negociação.
Vamos agora ver como construir um sistema básico de negociação do zero. Embora esse sistema de negociação não seja otimizado para o lucro, você aprenderá como todos os diferentes componentes se encaixam para criar um sistema de negociação funcional.
Escolhendo um mercado, estratégia e Tecnologia.
Visaremos o mercado cambial (forex), já que os dados estão disponíveis gratuitamente na GainCapital e em outras fontes. Para a estratégia, estaremos empregando uma estratégia de crossover de média móvel muito básica, segundo a qual ficamos longos se uma média móvel de curto prazo cruzar acima de uma média móvel de longo prazo. E, finalmente, estaremos usando a linguagem de programação Python e as populares bibliotecas NumPy, pandas e matplotlib para ler os dados e executar a estratégia.
Vamos supor que você esteja familiarizado com a linguagem de programação Python e a tenha instalado corretamente em seu computador. Se você não for, visite o site do Python para obter recursos de aprendizado ou implemente a mesma funcionalidade em outros idiomas e plataformas.
Configurando o Script.
O primeiro passo é criar um arquivo, chamado ma_cross. py, que abrigará a estratégia. No arquivo, começaremos importando todas as bibliotecas que precisaremos.
import matplotlib. pyplot como plt.
import numpy como np.
importar pandas como pd.
de pandas. io. data import DataReader.
A biblioteca de pandas inclui uma função "rolling_mean" que cria médias móveis com base no preço de compra ou venda para cada tick no mercado forex. Quando as médias móveis estiverem concluídas, construiremos uma série de sinais ao definir a coluna igual a 1,0 quando a média móvel curta for maior que a média móvel longa ou 0,0. Podemos então usar as `posições` para gerar sinais de negociação que podem ser enviados para outro lugar.
Escrevendo a estratégia.
A estratégia pode ser implementada em Python.
def __init __ (self, pair, ticks, short_window = 100, long_window = 400):
sinais ['short_ma'] = pd. rolling_mean (ticks ['ask'], self. short_window, min_periods = 1)
sinais ['long_ma'] = pd. rolling_mean (ticks ['ask'], self. long_window, min_periods = 1)
sinais ['signal'] [self. short_window:] = np. where (sinais ['short_ma'] [self. short_window:] & gt; sinais ['long_ma'] [self. short_window:], 1,0, 0,0)
Esse código gera uma série de sinais sempre que ocorre um cruzamento de média móvel, em que 1.0 sinaliza que uma ordem de compra está sendo feita.
Colocando o código para uso.
O próximo passo é pegar esse código e usá-lo em conjunto com uma estratégia de backtesting para ver como ele seria executado no passado.
A maioria dos traders prefere usar ferramentas de backtesting online, como o Quantopian, onde você pode fazer upload de código e ver automaticamente os resultados. Usando essas ferramentas, o backtesting é tão fácil quanto importar as bibliotecas do Quantopian para o Python e colar o seu script. Em seguida, você pode executar um backtest completo usando datas simuladas, valores de conta e até mercados. Você pode ver retornos, alfa, beta, taxas de Sharpe e rebotes máximos para ter uma ideia de como a estratégia seria executada.
O próximo passo seria integrar a estratégia em um ambiente de negociação ao vivo. Muitas corretoras que oferecem negociações automatizadas incluirão APIs com as quais você pode interagir para fazer negócios. Por exemplo, o InteractiveBrokers tem uma API completa com bibliotecas para Python, Java,.NET e outras tecnologias. Usando essas bibliotecas, você pode facilmente transformar os sinais gerados em negociações que são executadas através da plataforma.
Na próxima seção, veremos algumas outras considerações importantes a serem lembradas.
Mais um passo.
Por favor, preencha a verificação de segurança para acessar pugetsystems.
Por que eu tenho que completar um CAPTCHA?
A conclusão do CAPTCHA prova que você é humano e concede acesso temporário à propriedade da web.
O que posso fazer para evitar isso no futuro?
Se você estiver em uma conexão pessoal, como em casa, poderá executar uma verificação antivírus no seu dispositivo para garantir que ele não esteja infectado por malware.
Se você estiver em um escritório ou em uma rede compartilhada, poderá solicitar ao administrador da rede que execute uma verificação na rede procurando dispositivos configurados ou infectados incorretamente.
Outra maneira de evitar essa página no futuro é usar o Privacy Pass. Confira a extensão do navegador na loja de complementos do Firefox.
Cloudflare Ray ID: 4054f5afeb082920 & bull; Seu IP: 78.109.24.111 & bull; Performance & amp; segurança pela Cloudflare.
Комментарии
Отправить комментарий