Turtle trading system easylanguage


Solução de implantação de estratégia de backtesting de gerenciamento de dados de classe institucional: - ações, opções, futuros, moedas, cestas e instrumentos sintéticos personalizados são suportados - múltiplos feeds de dados de baixa latência suportados (velocidades de processamento em milhões de mensagens por segundo em terabytes de dados) - C e. Requisição e otimização de estratégia baseada em rede - execução de vários corretores suportados, sinais comerciais convertidos em pedidos FIX QuantFACTORY - Solução de implantação de estratégia de backtesting de gerenciamento de dados de classe institucional: - QuantDEVELOPER - framework e IDE para estratégias de negociação desenvolvimento, depuração, backtesting e otimização, disponível como Um plug-in Visual Studio - QuantDATACENTER - permite gerenciar um data warehouse histórico e capturar dados de mercado de latência em tempo real ou ultra baixa de provedores e trocas - QuantENGINE - permite implantar e executar estratégias pré-compiladas - multi-ativos, multi-período baixo Dados de latência, corretores múltiplos suportados Dados de classe institucional homem Solução de implantação de estratégia de backtesting: - OpenQuant - C e VisualBasic. NET sistema de nível de backtesting e negociação, multi-ativos, testes de nível intradiário, otimização, WFA etc. vários corretores e feeds de dados suportados - QuantTrader - ambiente de negociação de produção - QuantBase - centralizado Gerenciamento de dados - QuantRouter - roteamento de dados e pedidos Solução de implantação de estratégia de backtesting de gerenciamento de dados de classe institucional: - solução multi-ativos, múltiplos feeds de dados suportados, o banco de dados suporta qualquer tipo de RDBMS fornecendo uma interface JDBC, por exemplo Oracle, Microsoft SQL Server, Sybase, MySQL, etc. - os clientes podem usar o IDE para rotear sua estratégia em Java, Ruby ou Python, ou podem usar sua própria estratégia IDE - execução de vários corretores suportados, sinais comerciais convertidos em ordens FIX Institucional - Solução de implantação de estratégia de backtesting de gerenciamento de dados de classe: - solução multi-ativos (forex, opções, futuros, ações, ETFs, commodities, instrumentos sintéticos e spreads de derivativos personalizados etc.), múltiplos feeds de dados suportados - estrutura para desenvolvimento de estratégias de negociação, depuração, backtesting E otimização - execução de vários corretores suportados, sinais de negociação convertidos em pedidos FIX (IB, JPMorgan, FXCM, etc.) Plataforma de software dedicada integrada com dados de Tradestations para backtesting e auto-negociação: - dados intradiários diários (estoques uss para 43 anos, futuros para 61 Anos) - prático para sinais baseados em preços de backtesting (análise técnica), suporte para a linguagem de programação EasyLanguage - suporte a ETFs de ações dos EUA Futuros, índices dos EUA, ações alemãs, índices alemães, grátis para clientes de corretagem da Tradestation - 249,95 mensalmente para não profissionais (plataforma de software Tradestation somente, sem corretora) - 299,95 mensalmente para profissionais (plataforma de software de tradestation somente, sem corretagem) Dedicado Plataforma de software para backtesting e auto-negociação: - suporte a estratégias diárias em tempo real, testes de nível de portfólio e otimização, gráficos, visualização, relatórios personalizados, análise multi-threaded, gráficos 3D, análise WFA etc. - melhor para sinais baseados em preços backtesting (análise técnica) - link direto para eSignal, Interactive Brokers, IQFeed, myTrack, FastTrack, QP2, TC2000, qualquer feed compatível com DDE, MS, txtfiles e muito mais (Yahoo Finance. ) - uma taxa de tempo 279 para edição padrão ou 339 para edição profissional Plataforma de software dedicado para backtesting e auto-negociação: - backtesting e trading do sistema de nível de portfólio, multi-ativos, teste de nível intradiário, otimização, visualização, etc. - permite a integração R, Negociação automática na linguagem de script Perl com todas as funções subjacentes escritas em C nativo, preparadas para co-localização do servidor - Suporte nativo do FXCM e Interactive Brokers - suporte gratuito ao FXCM, 100 por mês para a plataforma IB, entre em contato com Salesseertrading para outras opções Plataforma de software dedicado para Backtesting e auto-negociação: - suporte a estratégias dailyintraday, testes de nível de portfólio e otimização - melhor para backtesting baseados em preços (análise técnica), C scripting - extensões de software suportadas - manipulação de feeds de dados, execução de estratégia etc. - 799 por licença, 150 por ano Taxa após a plataforma de software dedicado para backtesting, otimização, atribuição de desempenho e análise: - Axioma ou 3ª parte Análise do fator de dados, análise de fatores, modelagem de risco, análise do ciclo de mercado Plataforma de software dedicado para backtesting e auto-negociação: - melhor para backtesting baseada em preços de sinais (análise técnica), suporte a estratégias diárias de intrusão, teste de nível de portfólio e otimização - Turtle Edition - motor backtesting, Gráficos, relatórios, testes EoD - Professional Edition - editor de sistema mais, análise progressiva, estratégias intradias, testes multi-threaded etc. - Pro Plus Edition - mais gráficos de superfície 3D, scripts etc. - Builder Edition - IB API, depurador etc. - Turtle Edition 990 - Professional Edition 1,990 - Pro Plus Edition 2,990 - Builder Edition 3,990 Plataforma de software dedicada para backtesting e auto-negociação: - suporte a estratégias dailyintraday, teste de nível de portfólio e otimização, gráficos, visualização, relatórios personalizados etc. - melhor para backtesting Sinais baseados em preços (análise técnica) - link direto para Interactive Brokers, MB Trading, TD Ameritrade, FXCM e outros - dados de M arquivos de texto, eSignal, Google Finance, Yahoo finance, IQFeed e outros - funcionalidade básica (funcionalidade EoD) - livre - funcionalidade avançada - arrendamento de licença de vida de 50 meses ou 995 Plataforma de software dedicada para backtesting e auto-negociação: - melhor para backtesting Sinais baseados em preços (análise técnica), suporte a estratégias diárias de intruso, testes de nível de portfólio e otimização, gráficos, visualização, relatórios personalizados - suporta C e Visual Basic. NET - link direto para Interactive Brokers, IQFeed, txtfiles e mais (Yahoo Finance. ) - licença perpétua - 499 - arrendamento 50 por mês Plataforma de software dedicada para backtesting e auto-negociação: - suporte a estratégias diárias em tempo real, testes e otimização de nível de portfólio, gráficos, visualização, relatórios personalizados - sinais técnicos e também fundamentais, suporte multi-ativos - 245 para Versão Avançada (provedores de dados gratuitos) - 595 para Versão Premium (suporte a vários provedores de dados e corretores) Plataforma de software dedicada para backtesting e auto-negociação: - suporte a estratégias diárias de intruso, teste de nível de portfólio e otimização - melhor para sinais baseados em preços de backtesting Análise técnica) - dados de compilação de ações, futuros e divisas (ações diárias dos EUA a partir de 1990, futuros diários 31 anos, divisas a partir de 1983 etc.) - preços de 45 meses a 295 meses (os preços dependem da disponibilidade de dados) Plataforma de software dedicado Para backtesting e auto-negociação: - usa linguagem MQL4, usada principalmente para negociar mercado forex - oferece suporte a vários corretores de Forex e feeds de dados - suporta Gerenciamento de contas múltiplas Plataforma de software dedicado para backtesting e auto-negociação: - suporte a estratégias diárias em tempo real, testes de nível de portfólio e otimização - melhor para sinais baseados em preços de backtesting (análise técnica), suporte para linguagem de programação EasyLanguage - suporte a múltiplos feeds de dados (Bloomberg, Thomson Reuters, CSI, CQG, eSignal, etc.), suporte direto para vários corretores (Interactive Brokers, etc.) - Multicartos 797 por ano - Multicartros vida útil 1.497 - Multicartros Pro 9,900 (Bloomberg Thomson Reuters feed de dados, etc.) Ferramenta de teste back-based baseada na Web para testar Estratégias de escolha de estoque: - ETFs de ações dos EUA (diariamente) - dados fundamentais pontuais desde 1999 - estratégias longshort, sinais baseados em preços inflacionados - Designer - 139 meses - Gerente - 199 meses - funcionalidade completa Análise de portfólio usando dados de mercado de alta freqüência: Este produto é para uso de pesquisadores de traders de baixa, média e alta freqüência. Todos os cálculos são feitos usando dados de mercado de alta freqüência que beneficiam os comerciantes e pesquisadores de baixa e alta freqüência. - backtesting intradía, gerenciamento de risco de portfólio, previsão e otimização a cada preço segundo, minutos, horas, fim de dia. Entradas do modelo totalmente controláveis. - Fontes de dados de mercado de 8k mercado desde 2017 (ações, índices ETFs negociados no NASDAQ). Os clientes também podem carregar seus próprios dados de mercado (por exemplo, ações chinesas). - 40 métricas do portfólio (VaR, ETL, alfa, beta, razão de Sharpe, razão Omega, etc.) - suporta R, Matlab, Java Python - 10 otimizações de portfólio ferramenta de backtesting baseada na Web: - preços de estoque dos EUA (diariamente, durante o período), desde 1998, Dados da QuantQuote - dados de divisas da FXCM - suporte Trader Interactive Brokers para operações ao vivo Ferramenta de backtesting baseada na Web: - Preços dos estoques e ETF dos EUA (diariamente, durante o período), desde 2002 - dados fundamentais da Morningstar (mais de 600 métricas) - suportando Interactive Brokers para negociação ao vivo Ferramentas de backtesting baseadas na Web: - simples de usar, estratégias de alocação de ativos, dados desde 1992 - momentum da série de tempo e estratégias de média móvel em ETFs - Estratégias simples de escolha de estoque de Momentum e Simple Value Ferramenta de backtesting baseada na Web: - dados de até 25 anos para 49 Futuros e estoques SP500 - caixa de ferramentas em Python e Matlab - Quantiacs hospeda competições de negociação algorítmica com investimentos variando de 500k a 1 milhão de ferramentas de backtesting baseadas em WebCloud: - Dados FX (ForexCurrency) em ma Jor pairs, voltando para 2007 - SecondMinuteHourlyAs barras diárias - negociação ao vivo compatível com qualquer corretor que esteja usando o Metatrader 4 como ferramenta de proteção back-test baseada na Web backend: - mais de 10 000 estoques dos EUA, dados até 20 anos de história - critérios técnicos fundamentais - grátis - Funcionalidade limitada (1 ano de dados, sem backtests guardados, etc.) - 50 por mês - funcionalidade completa Ferramenta de backtesting baseada na Web para testar estratégias de escolha de fator de patrimônio e alocação de ativos: - fatores de equidade múltiplos com valores de referência alfa alocados de mercado, investimento múltiplo comprovado Universos, filtros de gerenciamento de riscos - estratégias de alocação de ativos backtests, mistura de alocação de ativos e seleção de fator em um portfólio - grátis no universo SP 100 - 50 meses ou 480 anos - universidades de investimento mais amplas dos EUA, ações da UE do Reino Unido, estratégias de alocação de ativos MATLAB - Linguagem e linguagem de alto nível Ambiente interativo para computação estatística e gráficos: - computação paralela e GPU, backtesting e otimização, ampla possibilitie S de integração, etc. - preço a pedido aqui Ambiente de software livre para computação estatística e gráficos, muitos quants preferem usá-lo por sua arquitetura aberta e flexibilidade excepcional: - instalações eficazes de armazenamento e armazenamento de dados, instalações gráficas para análise de dados, Facilmente expandido através de pacotes - extensões recomendadas - quantstrat, Rmetrics, quantmod, quantlib, PerformanceAnalytics, TTR, portfólio, portfolioSim, backtest, etc. Linguagem de programação gratuita de código aberto, arquitetura aberta, flexível, facilmente estendida por pacotes: - extensões recomendadas - pandas ( Python Data Analysis Library), pyalgotrade (Python Algorithmic Trading Library), Zipline, ultrafinanças, etc. O BacktestingXL Pro é um complemento para construir e testar suas estratégias de negociação no Microsoft Excel 2010 e 2017: - os usuários podem usar o VBA para criar estratégias para o BacktestingXL Pro, o conhecimento do VBA é opcional, os usuários podem construir regras de negociação em uma planilha usando códigos de teste de teste padrão pré-fabricados - supp Pirâmide de ouro, limitação de posição de curta duração, cálculo de comissão, rastreamento de patrimônio, controle de dinheiro livre, customização de preços buysell - relatórios de performancerisk múltiplos - 74.95 para BacktestingXL Pro Ferramenta de backtesting baseada na Web: - ferramenta de backtesting baseada em nível básico de nível básico Para testar a força relativa e as estratégias de média móvel em ETFs - vários tipos de estratégias para funcionalidade de backtesting gratuita e completa 34,99 Fator FactorWave mensal é uma ferramenta de backtesting baseada na web simples para investir fatores: - permite ao usuário misturar múltiplos fatores ETFoptionsfuturesequity com alfa comprovada Sobre benchmarks de mercado - livre - ETFStock Screener com 5 fatores - 149mo - opções de opções gratuitas, estratégias de futuros, estratégias vix Ferramenta baseada na Web - Avaliações de ações gratuitas, Análise sazonal, Gráficos Fundamentos - Modelo Freemium grátis Ferramenta de backtesting baseada na web gratuita para Estratégias de escolha de estoque de teste: - estoques dos EUA, dados da ValueLine de 1986 a 2017 - preço e dados fundamentais, 1700 ações, Teste mensal de granularidade No livro Connors Raschke, 8220Street Smarts 8211 Estratégias de negociação de curto prazo de alta probabilidade8221, publicado pelo Mr. Gordon Publishing Group 1995, os autores descrevem uma estratégia que incorpora várias idéias e funções que podem ser difíceis de programar no TradeStation. Eu sugiro altamente comprar o livro, pois tem algumas idéias muito interessantes e vem da mente de dois comerciantes muito bem sucedidos. A estratégia é conceitualmente simples e usa o conceito do dia do Taylor BuySell. Nos dias de compra, compre a penetração da primeira hora de alta e use o extremo da primeira hora como parada. Se você for interrompido, o sistema permitirá que você re-entre novamente com uma nova penetração da primeira hora de alta. Se o comércio é rentável no final da sessão do dia, saia na abertura do dia seguinte. A venda curta é exatamente o contrário. O Buy Day é definido quando o RSI de três dias do ROC de um dia (close0 8211 close1) é inferior a 30 e o Sell Day é definido quando este indicador sobe acima de 70. Como você pode ver, muito simplesmente. O primeiro problema ao programar esta estratégia é a mistura das barras de 5 minutos (para a execução do comércio) e das barras diárias (calculando o indicador). Como você calcula um valor do indicador RSI (c0 8211 c1,3) ao olhar 5 minutos gráfico de barras. Isso acaba por ser bastante simples, uma vez que a TradeStation permite misturar diferentes intervalos de tempo no mesmo gráfico. Primeiro trace uma barra de 5 minutos do ES. D como dados 1 e, em seguida, insira uma barra diária do ES. D como dados 2. O primeiro passo na programação dessa estratégia é a configuração do indicador. Configurando o indicador aninhado. Observe como eu declarei a variável rsiVal I inicialmente configurada para zero e atribui-la a data2. Esta vinculação ou alias limita a variável de ser atualizada em cada barra de cinco minutos. Lembre-se de que queremos o cálculo RSI feito nas barras diárias. A função RSI permite a incorporação de cálculos, bem como preços diferentes. Aqui, estamos informando o computador para analisar a dinâmica atual de today8217s perto versus ontem8217 e aplicar o cálculo do período RSI 3 8211. Em seu livro, Connors e Raschke determinaram que seria melhor comprar depois de uma leitura RSI abaixo dos 30 e vender depois de um RSI acima de 70. Uma vez que tenhamos esse conjunto, a diversão realmente começa com esse tipo de programação. Se você pode fazer esse tipo de programação, há muito pouco que você pode fazer. Isso ocorre porque estamos resolvendo algumas limitações da EasyLanguage ao abordar logicamente o que precisamos do idioma. Neste exemplo, temos que capturar o intervalo da primeira hora. Realmente não existe uma maneira integrada de fazer isso ou, pelo menos, não é fácil. Ao testar intra-dia, eu sempre gosto de usar barras de cinco minutos. Este período de tempo é pequeno o suficiente para que não ocorram muitas vezes durante este tempo e não é muito um porco de recursos 8211 como dizer barras de minuto ou menores. Uma vez que existem 12 bares de cinco minutos em uma hora, espero até a 12ª barra do dia estar concluída para determinar a primeira hora8217s e seus extremos. Define o dayBarCount para zero na primeira barra do dia e, em seguida, incrementar a variável em cada barra. Acompanhar o número de barras e capturar a primeira hora. A TradeStation tornou este processo mais simples ao fornecer as funções highD e lowD. Quando você chama essas funções, os extremos atuais da barra diária são retornados no ponto do dia. Assim, as funções são chamadas na barra 12 e retornam as altas e baixas da primeira hora. As funções não são chamadas novamente até o dia seguinte. Oh, sim 8211 passando um zero à medida que o argumento da função informa EasyLanguage para retornar os valores de today8217s. Um 1 retornaria os valores de ontem8217s. Estas são funções habilidosas se você incorporar um fluxo de dados diário secundário. Mesmo se você é, como no nosso exemplo, eles ainda são úteis. Diretrizes de colocação de pedidos e uso de mp. Eu também acompanho o número de compras e shorts para o dia. Os livros afirmam que uma reentrada é possível, permitindo assim até duas entradas comerciais. Eu olho e o valor atual do MP e seu valor prévio para ver se o sistema passou de um estado para outro. Se o MP atual for longo e a leitura anterior não for longa, então uma entrada longa foi indubitavelmente inserida. Você pode usar essa lógica (eu fiz para fins ilustrativos) ou use as entradas de funções incorporadasShortTodayentriesLongToday para determinar o número de negociações para o dia. Se o rsiValue lt 30 e menos de duas entradas longas ocorreram, então você pode comprar em um breakout da primeira barra horária. Entrando em curto é o oposto, mas com a leitura de RSI superior a 70. Parada inicial e se vencer a saída de comércio na manhã seguinte, mais sair de perto. Os níveis de Buysell são os primeiros extremos extremos da hora - mín. Carraça. Esses níveis são usados ​​como paradas protetoras, bem como níveis de entrada. Se for longo, o primeiro bar8217s de hora a baixa é a parada de proteção. Observe como eu checo em 1510 se o comércio tiver lucro, examinando o openPositionProfit atual. Estou checando cinco minutos antes do fechamento porque preciso executar setExitOnClose se em uma perda. Eu não acho que posso verificar às 15:15 (hora de encerramento) e depois sair, mas vou verificar e informá-lo. O último pequeno truque é executar no tiquetaque aberto na manhã seguinte. Expliquei em meus livros os diferentes paradigmas de negociação em que você está sentado no bar anterior quando faz pedidos ou está sentado no bar aberto. EasyLanguage assume o primeiro, então você sempre precisa fazer um pedido para o próximo bar. Se você esperar até a abertura, então o mais antigo que você pode sair é 8:35. Então, você deve emitir o pedido na última barra do dia anterior para obter o tico aberto, daí o teste para ver se o carimbo de data / hora é 15:15. Esta amostra do EasyLanguage é um bom exemplo de algumas correções fáceis para coisas que costumam deixar começar codificadores EasyLanguage arranhando suas cabeças e gemendo em voz alta. Uma vez que o Python doesn8217t permite uma estrutura de fluxo de programa GOTO, mudei a lógica de entrada de comércio em linha em chamadas de função. Isso permite que a chamada dessas funções não seja seqüencial. O posicionamento original da ordem PSB foi seqüencial e examinaria a lógica do entryexit na moda TOP-DOWN. O que significa que, se você colocar o Long Entry Logic primeiro, o programa avaliaria essa lógica primeiro em cada barra de dados. Isso foi bom para a maioria dos sistemas de negociação lá fora. No entanto, os sistemas que podem inserir vários sinais na mesma barra exigem que os pedidos sejam colocados em ordem do que for mais próximo do preço de mercado atual. Let8217s dizem que você tem um algoritmo de negociação que emite uma parada para sair com uma perda e uma parada para reverter sua posição atual. Se você examinar a lógica de reversão antes da perda de parada e a perda de parada é realmente mais próxima, então você executará primeiro o sinal errado. Ao encapsular a lógica entryexit em funções, você pode usar construções de decisão para fluir através da lógica correta na ordem correta. Aqui estão os sinais comerciais programados como chamadas de função: como você pode ver, existem seis módulos 8211 Entrada Longa, Perda Longa, Lucro Longo, Entrada Curta, Perda Curta e Lucro Curto (o código não necessário foi colapsado). Usei o editor de texto Sublime para colapsar as linhas de código desnecessárias. Você pode baixar uma versão de trilha em seu site. Eu não estou mais usando o IDLE como meu ir para IDE 8211 Eu me apaixonei por PyScripter. Eu aprofundarei este assunto mais tarde. Agora que você tem todos os seus sinais comerciais programados como funções que você pode utilizar, se for para determinar a ordem em que são chamados. Aqui está o código que chama essas funções Se você é plano e você pode comprar ou vender no mesmo dia, então você chama ambas as funções. Este testador de volta permitirá que você compre e venda no mesmo dia 8211 o único problema é que não sabe o que ocorreu primeiro: a compra ou a venda. Isso pode causar um problema porque você precisa saber a posição correta até o final do dia. Uma vez que podemos pico no futuro (seja muito, muito cuidado), podemos observar o fim do dia e compará-lo com os preços de entrada longos e curtos. Aqui está um código que pode tornar suas entradas mais precisas nas ocasiões em que ambos os pedidos podem ser preenchidos. Aumentando a Exigência de Entrada de Entrada de Comércio - Talvez Este código executará a lógica de entrada longa após a lógica de entrada curta sempre que o fechamento estiver mais próximo do preço de entrada longo do que o preço de entrada curto. Se ambos os pedidos são preenchidos na mesma barra e o fechamento acontece para se aproximar do preço de entrada longo, então o software assume que a entrada curta foi inserida no início do dia e a entrada longa mais tarde no dia que faz a posição no final do dia longo. Este é 100 exato, mas, logicamente, significa que um fechamento perto da alta indicaria que eles eram altos. Sem dados intradiários, simplesmente não sabemos o que aconteceu primeiro. Na publicação today8217s, mostro como você pode traçar um gráfico de castiçal muito bonito dentro de um notebook Jupyter (IPython). Esta tarefa é muito mais fácil, usando o Plotly. Então a primeira coisa que você faz é inscrever-se para uma conta gratuita no Plotly e, em seguida, baixar os notebooks Jupyter Interactive Python. Eu fiz isso em um notebook interativo apenas para fins de demonstração. Depois de instalar o Plotly, consegui importar as bibliotecas para o meu notebook e depois chamar as várias funções para graficar os dados. Eu importai numpy, mas não era necessário. Simplesmente copiei alguns dados (CL. CSV) para o subdiretório que guardava meus cadernos e, em seguida, usava o CSV Reader para extrair os dados nas várias listas que as funções Plotly requeriam. Todo o planejamento é feito em um navegador e é interativo. Depois de criar o PSB, queria fornecer uma ferramenta para traçar os dados que estavam sendo testados. Jupyter e Plotly são gratuitos para usuários não comerciais. Castiçais com Plot. ly Foi levado à minha atenção por um leitor muito astuto do livro que o pedido das diretrizes buyselllongliqshortliq cria um erro potencial ao dar preferência às entradas. O código no livro e meus exemplos até agora testam uma condição verdadeira primeiro na lógica de entrada e depois na lógica de saída. Let8217s dizem que sua parada de saída longa no Euros é definida em 11020, mas sua inversão é definida em 11000. O testador traseiro python irá ignorar a saída em 11020 e inverter em 11000. Isso só acontece se ambas as paradas forem atingidas no mesmo dia. Se isso acontecer, você terá uma perda adicional de 20 pontos. Você pode evitar isso usando uma lógica semelhante a: Eliminar o esquema de aviso de polarização de reversão. Comparo o nível de preço de stb e stopb stb 8211 reversão e liquidação stopb 8211. Eu adicionei isso à lógica de entrada longa 8211, o código só é executado se a entrada for menor que a saída (mais próxima do mercado atual). Estou no processo de reestruturação do fluxo para que todos os pedidos sejam examinados em barra e os que devem ocorrer (cronologicamente falando) fará isso e serão refletidos nas métricas de desempenho. Isso pode causar vários negócios em uma única barra. Isto é o que acontece no comércio real e deve ser refletido no PSB. É aí que a falta de um GOTO cria uma pequena dor de cabeça em Python. O ESB já leva isso em conseriência. Eu publicarei quando finalizarei o código. Acabei de terminar a versão mais recente do Python System Back-tester (PSB). Eu adicionei mais algumas métricas de desempenho do portfólio e você verá estes nos relatórios de desempenho. A adição mais útil é o conceito do arquivo. POR quando você executa um sistema. Em vez de ter que selecionar seus arquivos de dados cada vez que você executa um sistema, você pode criar um arquivo. POR com uma lista de sites de arquivos que deseja executar em lote. Aqui está um exemplo de um arquivo de portfólio: apenas certifique-se de colocar o arquivo. POR dentro da mesma pasta que contém os dados de teste. Incluí um arquivo TestPortfolio. por na versão 2.0. Eu trataria as diferentes versões como aplicativos completamente separados. Seus arquivos de algoritmo. py existentes precisarão ser modificados um pouco para funcionar com a versão 2.0. Esta linha de código precisa ser modificada a partir desta: Esta linha está perto da parte inferior do loop geral. Eu adicionei a variável initCapital para que você pudesse fazer o dimensionamento da posição e as métricas de desempenho refletissem esse valor inicial. E configure initCapital para um valor pertinente. Posso colocá-lo logo abaixo da variável sysName: sysName 8216BollingerBandSys8217 Nome do sistema aqui initCapital 100000 saldo da conta inicial Também corrigi um pequeno erro no loop principal. Você deve mudar isso: para i no intervalo (len (myDate) 8211 numBarsToGoBack, len (myDate)): para i no intervalo (len (myDate) 8211 (numBarsToGoBack-rampUp), len (myDate)): Em outro post, vou Mostre como as métricas de desempenho do portfólio mudaram. Espero que você goste da nova versão. Estarei adicionando uma biblioteca de sistemas de negociação utilizando esta nova versão em alguns dias. Se você deseja baixar a versão 2.0 8211, siga o link a seguir. Todas as linhas desnecessárias do Módulo de teste posterior do sistema Python foram ocultas. Somente as linhas que você precisa para desenvolver o próximo ótimo algoritmo estão incluídas. Lê uma espécie de inglês. Este trecho apresenta o uso de funções e lista 8211 dois principais componentes da linguagem Python. Se você comprar o meu mais recente livro 8211 8220 The Ultimate Algorithmic Trading System Toolbox8221, basta me enviar um e-mail ou se inscrever no formulário de contato e você receberá a versão 2.0 gratuitamente. Foi recentemente levado à minha atenção que o Excel Back Back Tester (ESB) Não funciona corretamente no MAC OS X. Em outras palavras, ele bombardeou ao tentar abrir um arquivo de dados delimitado por vírgulas e também quando se tentou executar um algoritmo. Graças a um comprador do UATSTB consegui corrigir os erros sem remover qualquer funcionalidade. Vou publicar a versão do Macintosh aqui, bem como ter WILEY colocá-lo no site do book8217s. Desculpe por qualquer inconveniente que isso possa ter causado. Aqui está o link: The Turtle N ou Volatility é, basicamente, uma faixa média verdadeira de 20 dias em dólares. Este montante é considerado a volatilidade do mercado. Em outras palavras, o mercado, com base na média, pode subir ou descer por esse valor. Pode mover-se muito menos ou muito mais, isso é apenas uma estimativa. Se o mercado move 2 N contra uma posição, então, como uma tartaruga, você liquidaria sua participação nessa mercadoria. A lógica indica que se o mercado tiver uma ruptura e, em seguida, mova 2 N na direção oposta, então a ruptura falhou. Primeiro, o código deve ser definido para representar a volatilidade do mercado. Isso é bastante simples usando a chamada de função sAverage e passando-a as trueRanges e 20 dias. Não há uso na conversão de dólares em dólares porque o que queremos é um desvio de preço. Uma vez que uma posição é inserida, a turtleN é adicionada ao preço curto ou subtraída da posição de preço longo para determinar os respectivos níveis de paragem. Olhe as linhas 2, 8 e 17 para ver como isso é tratado. É necessário adicionar um bloco de código comercial adicional para facilitar essa parada. As linhas 17 a 28 tratam de sair de uma posição longa quando o mercado move 2 N na direção oposta. Esta nova parada é complementar às paradas de alta velocidade mais altas nos últimos 10-20 dias. Quantos de vocês acreditam se o último comércio foi um vencedor, a probabilidade de o próximo comércio ser um perdedor é maior. As Tartarugas acreditavam nisso e, nesta postagem, eu introduzo o conceito de comércio de filtragem com base no sucesso anterior do trade8217s. Aqui está uma lista de trades sem o filtro: E aqui estão os negócios com o filtro envolvido: Verifique se você 8211 você notará que uma troca após um vencedor é ignorada. Os negócios não são selecionados de volta até que um perdedor seja reportado. Negociar assim é bastante fácil, mas o backtesting é um pouco mais difícil. Eu falo sobre isso no livro onde você precisa trocar entre negociação real e negociação simulada. A beleza do Python BackTester é que é um pouco fácil incorporar isso na lógica de teste. Tudo o que você precisa fazer é determinar se o comércio anterior real ou simulado é um perdedor. Se não for, então você ainda deve acompanhar todos os negócios, mas don8217t reservar os negócios que seguem o vencedor. Eu criei um módulo de teste que faz exatamente isso. Aqui está um trecho do código: vou incluir isso em uma atualização para o backtester Python para usuários registrados deste site. Eu incluo o Python Backtester no meu último livro 8220 The Ultimate Algorithmic Trading System Toolbox8221 livro. Um bom tutorial sobre como usá-lo seria programar o Algoritmo Turtle em três partes diferentes. Aqui está parte 1: Descrição da entrada: Compre na parada no máximo mais alto dos últimos vinte dias. Curto no mínimo mais baixo dos últimos vinte dias. Sair Descrição: Sair long on stop no mínimo mais baixo dos últimos dez dias. Saia curto no máximo dos últimos dez dias. Dimensionamento da Posição: Risco 2 da conta simulada de 100K em cada comércio. Calcule o risco de mercado utilizando o ATR de dez dias. Tamanho (ações ou contratos) 2,000ATR em dólares. Código de Python para inserir no backtester: Este snippet contém apenas o código necessário para usar no Python Backtester 8211, não está na sua totalidade. Este algoritmo utiliza uma abordagem fracionada fixa ao dimensionamento da posição. Dois por cento ou 2000 são alocados em cada comércio e o risco de mercado percebido é calculado pelo intervalo verdadeiro médio de dez dias (ATR.) Então, se arriscarmos 2000 e o risco de mercado é de 1000, então dois contratos são negociados. Na Parte 2, vou apresentar a parada de risco N e o Filtro LAST TRADE LOSER. Navegação de mensagens Inscrever-se no Blog por Email Mensagens recentes Comentários recentes Categorias de fácil conversão

Comments