Genius trading system


Introdução O GeniusTrader pretende ser uma caixa de ferramentas completa para criar sistemas de negociação. O poderoso comércio sistemático exige várias coisas. Muitos indicadores e correspondentes sinais de regras de gerenciamento de dinheiro que decidem o que é uma quantia razoável de dinheiro para colocar um único comércio (para limitar o risco associado a esse comércio) combinando diferentes valores no portfólio (para limitar o risco global) flexibilidade para poder Teste todas as combinações com o sistema de backtesting de itens acima com análise de resultados GeniusTrader já suporta a maior parte disso. O GeniusTrader consiste em mais de 350 módulos perl (o GT Toolkit) associados a alguns scripts de aplicativos perl. Não possui interface gráfica do usuário, pois não é absolutamente necessário alcançar seus objetivos. O sistema de negociação sistemático começa definindo as regras dos sistemas comerciais. No GT que é feito com cadeias de texto chamado descodificações sys-sig-indic associadas às funções lógicas do sistema de negociação. Por exemplo, que condição (s) de mercado e suas atuais condições de carteira são necessárias para abrir uma posição longa. E em relação a uma posição aberta, que condição (s) são necessárias para fechá-la, parcial ou completamente. Este é um exemplo de uma análise do backtest do sistema comercial que o aplicativo de script do GeniusTrader backtest. pl pode gerar para você. Esses gráficos ajudam muito a perceber os pontos fracos dos seus sistemas de negociação. Grande máximo desencadeia um longo período sem novo alto (muito frustrante quando você joga com dinheiro real) sem ganhos regulares (apenas um muito bom comércio fez a maioria dos lucros) Além disso, o GeniusTrader também pode gerar gráficos baseados no mercado que podem ser usados ​​para ajudá-lo Crie seu sistema comercial. Este é um exemplo de um gráfico para o CUSIP 13000 (Alcatel) que o script do aplicativo GeniusTrader graphic. pl pode gerar para você. O script graphic. pl pode ser configurado para gerar gráficos com a maioria dos indicadores de análise técnica publicados. (Mais de 100 atualmente disponíveis). Além disso, você pode criar o seu próprio, combinando os existentes programaticamente. A página Capturas de tela tem muitos mais exemplos do que GT pode fazer e explicações sobre como fazê-lo. Indo além. O que você leu parecia interessante e você quer tentar. Ok, é por isso que é o software livre. No entanto, deixe-me avisá-lo. GeniusTrader não deve ser usado pelo usuário final típico do ponto-n-clique. Você deve realmente saber um pouco de Perl (e não muito, na verdade, a menos que você queira cortar o código em si), mas se você quiser usá-lo, você terá que entender como criar descrições sys-sig-indic. Leia os documentos (GTDocs), leia as descrições da API (perldoc GTtoolkitmodule), leia as descrições dos scripts do aplicativo GT (perldoc GTAppScript), talvez até mesmo a leitura do código Perl. Dito isto, podemos ajudá-lo nessa direção. Você encontrará o que é necessário nas seções a seguir. Obtenha o Código - Obtenha o código mais recente através do repositório svn ou um tarball e inscreva-se para nossas listas de discussão Instalar Configuração - GT Instalação Instruções de instalação, configurar seu banco de dados de preços, etc. Usuários Wiki - Documentação GT Para usuários de GT por usuários de GT, registre-se e melhore-o. Informe erros, problemas, etc., usando a lista de correspondência geniustrader-devel. Tenha diversão, espero vê-lo em breve, aproveite sua contribuição. Copyright 2000-2017 GeniusTraderGenius Trader Development Licensing Terms Você pode usar o código sob os termos da Licença Pública Geral (versão 2 ou, na sua opção, qualquer versão posterior). Obter código fonte O código é gerenciado via Subversion. O subdire GT e Scripts são tudo o que você precisa são tudo o que você precisa para uma instalação operacional GeniusTrader em um nix como SO. Recomendamos instalar em um diretório pai comum: para um sistema operacional Wintel, você precisará adicionar o subdir WindowsInstaller. Você pode navegar toda a árvore de subversão online. Tarballs (.tar. gz) podem ser gerados de forma direta diretamente do servidor svn via websvn. Obtenha os subdireitos GT e Scripts de qualquer ramo que você preferir. Principal tronco exp ramificação svn repo clones AVISO: se o seu cliente svn emitir uma mensagem como: Erro ao validar o certificado do servidor para geniustrader. svn. sourceforge. net:443: Nós encorajamos você a validar que o servidor é o servidor correto colocando seu URL svn Em um navegador web confiável (ou seja, geniustrader. svn. sourceforge. netsvnrootgeniustrader.). Se o seu navegador aceita o certificado, você pode confiar no servidor, como você faria com qualquer outro site HTTPS. Uma vez validado, você pode voltar ao seu pedido do Subversion e pedir ao cliente que permaneça (ou apenas temporariamente) armazene o certificado SSL localmente para que você não seja solicitado novamente até que o cert seja atualizado. O repositório de subversão GeniusTrader está disponível por meio de acesso anônimo. Para clonar todo o GT repo svn co geniustrader. svn. sourceforge. netsvnrootgeniustrader geniustrader Mas isso não é realmente necessário (é realmente um enorme desperdício de espaço em disco). Em vez disso, você pode clonar de um ramo particular apenas os dois (ou três) subdirs que você precisa usando comandos como estes: svn checkout geniustrader. svn. sourceforge. netsvnrootgeniustradertrunkGT geniustraderGT svn checkout geniustrader. svn. sourceforge. netsvnrootgeniustradertrunkScripts geniustraderScripts Recomendamos que você use a corrente CABEÇA DO TRONCO como mostrado acima ou a broca do exp HEAD usando esta URL da base: geniustrader. svn. sourceforge. netsvnrootgeniustrader branchesexp OK Ive Obteve a Fonte Agora O que, uma vez que você tem o código, ainda precisa passar por algumas etapas para configurar uma instalação de trabalho. Siga as instruções aqui. Use a lista de correspondência geniustrader-devel para qualquer ajuda adicional somente depois de ter o rtfm disponível na forma de perl pod na maioria dos arquivos GT, o diretório GTDocs e no site do GT. Status de desenvolvimento O GeniusTrader já é utilizável, mas ainda evolui a um ritmo com mudanças regulares que podem resultar em quebras em várias partes do código. Portanto, os relatórios de bugs são especialmente bem-vindos. Use a lista de correspondência geniustrader-devel para denunciar quaisquer problemas ou problemas que você encontre. Ao relatar um erro, forneça todos os dados que precisaremos para duplicar o problema. Considere a configuração do GT e os preços dos preços de mercado que você obteve que necessariamente não temos. Sempre que possível, tente duplicar o problema usando o exemplo de dados de preços baseados em texto e código 13000. As contribuições são sempre bem-vindas porque sempre temos mais idéias do que o tempo para implementá-las. -) Listas de correspondência A coordenação do desenvolvimento acontece em uma lista de endereços geniustrader-devellists. sourceforge. net. Você está convidado a participar e a participar das discussões. Para se inscrever use o formulário aqui. Use esta lista de mensagens para discussões gerais sobre qualquer coisa GeniusTrader. É onde você envia patches e idéias para melhorar o GeniusTrader. Também você provavelmente pode encontrar alguma ajuda lá (em particular, se você quiser contribuir mais tarde). Se você não está interessado no desenvolvimento do GeniusTrader, mas você tem um forte interesse no comércio sistemático, então você pode se juntar ao geniustrader-system-traderslists. sourceforge. net onde você pode trocar suas idéias e pesquisar com outras pessoas. Para assinar essa lista, use este formulário. Ambas as listas são arquivadas na página do projeto do GT sourceforge na guia Lista de correspondências: listas de endereços geniustrader-devel: subscrever mensagem da mensagem geniustrader-system-traders: subscrever mensagem da mensagem GeniusTrader Internals Não existe um documento único que dê uma visão geral dos componentes internos do GeniusTrader. No entanto, cada objeto está documentado no código-fonte (com POD) e você pode procurar a documentação da API GT toolkit para saber mais sobre isso. Para ajudá-lo a ter uma visão global do GeniusTrader antes de cavar nele, você deve estudar este diagrama de esquema de modelo de objeto: Você também deve saber que cada objeto customizável tem acesso a várias informações, incluindo muitos indicadores, sinais e tudo o que pode ser computado com histórico de Preços e volume (e, possivelmente, algumas informações de meta-dados externas). Tenha em mente que esta representação da arquitetura do GeniusTraders está incompleta e nem sempre é 100 precisa (algumas simplificações foram feitas), mas dá-lhe uma boa visão geral de como as coisas estão funcionando juntas. Aqui está outra versão de um diagrama de fluxo funcional de objectdata que descreve GT processando um sistema comercial. Copyright 2000-2017 GeniusTraderFirst uso do GeniusTrader Você encontrará instruções passo a passo aqui que o ajudarão a configurar e usar o GeniusTrader pela primeira vez. Mas antes de embarcar nessa tarefa, sugerimos que você percorra essa página para obter uma sensação geral de coisas a serem feitas. Contemple-o por um pouco e faça as decisões necessárias sobre os preços dos preços, etc. e depois inicie a instalação. Além disso, muitas dessas informações também são apresentadas no wiki Wikt do gt. Pode ser melhor organizado e apresentado lá, uma vez que é um documento mantido pelo usuário gt. Aviso: o GT é um aplicativo complexo que requer um Perl de trabalho, juntamente com muitos módulos adicionais do Perl, alguns dos quais requerem bibliotecas adicionais baseadas em c, além de uma base de dados de preços de mercado para uso do próprio GT. A instalação do Perl e os módulos e bibliotecas complementares estão além do escopo desta página, mas há orientação abaixo e em outras páginas da GT que devem ajudá-lo na configuração do GT e uma base de dados de preços de mercado de amostras. Além disso, o Wiki Usuários tem seções sobre a criação de um banco de dados prático de preços de mercado. Para os usuários do sistema operacional principal do dows, veja a seção na parte inferior. O instalador wizbang thingy pode ser tudo o que você precisa. Obtenha o código via tarball ou faça um repositório de clones svn. Os detalhes estão em Obter o Código General GT Installation Guidance Gotchas para estar ciente de quando você permite que o CPAN e Perl e outros programas façam o sistema atualizando e instalando para você, em vez de entender o que precisa ser feito e depois fazê-lo você mesmo. O GT foi desenvolvido usando uma versão antiga do Perl (pré 5.6, provável 5.0.x) e tinha seu esquema de nomeação de pacotes perl original definido muito antes do comitê CPAN surgiu e começou a organizar a comunidade. Então você precisa estar ciente de que os dois GT garfos: o original e a versão CPANed diferem. Suas partes (por exemplo, arquivos) não são intercambiáveis. Além disso, uma instalação de CPANed GT provavelmente irá superar qualquer conjunto local dos módulos GT Perl originais (os arquivos GT toolkit) que estão instalados. O GT, o ramal original (por exemplo, ramos de tronco e exp), é o foco principal deste site, e tem esta estrutura de hierarquia de diretório recomendada: Este esquema de organização de arquivos GT renuncia à instalação no sentido de Perl e, portanto, exige que um ambiente de usuários seja configurado corretamente para permitir O usuário para: executar as aplicações GT localizadas no diretório gttopleveldirScripts. E que uma das seguintes condições seja atendida: a) O diretório GT Toolkit está localizado. GT em relação ao diretório Scripts (conforme descrito acima) ou b) Os usuários PERL5LIB envvar incluem o caminho absoluto para o diretório que contém o diretório GT toolkit (módulos perl). A condição 1. pode ser alcançada colocando o caminho absoluto de gttopleveldirScripts nos usuários PATH envvar, ou com um ponto no PATH envvar e a direção atual de trabalho sendo gttopleveldirScripts. No layout de arquivo recomendado, a condição 2.b não é necessária porque a condição 2.a é atendida por padrão. No entanto, como um exemplo do caminho para adicionar a um usuário PERL5LIB envvar para atender a condição 2.b seria algo como isto: onde gttopleveldir é o nome do diretório no qual o diretório GT está localizado. Observe que o conteúdo original de PERL5LIB Deve ser mantido, o novo caminho do GeniusTrader só está sendo adicionado ao envvar. Para obter informações específicas sobre o garfo CPANed GT, consulte as instruções de instalação e uso desse pacote. Devido às diferenças entre os dois modelos de nomeação usados ​​nesses garfos GT se você estiver usando o GT CPAN, você deve descontar tudo o que você vê neste site em relação aos caminhos de instalação, locais de arquivo e outros. Para o ousado e aventureiro ou qualquer um que agora começa com gt Existe um pré-requisito experimental perl GT e agora seu arquivo de configuração GT (HOME. gtoptions) que verifica o utilitário Build. PL que você pode baixar no diretório gttopleveldirScripts e executado. Não instala o GT, mas, em vez disso, espera que você já tenha desenrolado os tarballs gt, tenha configurado para Scripts e tenha o ambiente operacional apropriado. Se encontrar o arquivo de configuração do GT dos usuários, ele irá analisá-lo para os dois valores-chave de configuração essenciais: DB :: Module Path :: Font :: Arial Em cada instância, verifica se o valor atribuído é válido. Ele também listará os detalhes associados ao item de configuração. Ele é destinado a tornar as coisas pré-requisitadas perl mais fácil de gerenciar. Ele irá verificar o seu sistema de caça para os módulos GT precisa funcionar. Ele produz resultados de verbiage sobre o que ele encontra ou não encontra. Isso não mudará nada no seu sistema, a menos que você concorda, mesmo assim as únicas coisas que ele fará são bastante limitadas: instala em cada script do aplicativo gt a linha shebang recomendada pelo perl cria links simbólicos para cada script do aplicativo gt sem a extensão. pl se o seu A plataforma tem links simbólicos Poderia fazer muito mais, mas certamente é melhor do que nada. É um pequeno (cerca de 20kB) perl script construído em torno de perls Module :: Build e só é necessário uma vez. Mas com a verificação do arquivo de configuração, ele pode ser usado com mais freqüência. A última atualização do módulo perl foi obtida. A Data :: Manip reescrever na versão 6 parece ter alterado uma API GT e causou problemas - consulte a mensagem geniustrader-devel de Erik Colson datado de 01022017 assunto: Re: GT GeniusTrader: qualquer versão de trabalho do Windows para o que pode ser feito para fazê-lo funcionar. A boa notícia é que as versões Data :: Manip em 6.25 e acima parecem ter resolvido esse problema. Data :: Manip versão 5.54 é conhecido por funcionar. A versão 5.56, enquanto não testada, deverá estar bem e ainda está disponível no Pulldown de outros lançamentos aqui. Nix Usuários Novice nix users, tilde () denota o diretório HOME dos usuários, os usuários de um shell que não entende que precisará substituir HOME para em todas as linhas de comando mostradas aqui. Se isso não for claro, execute o seguinte comando: se o resultado for como mostrado acima, você deve fazer a substituição. Extraia os arquivos Depois de ter baixado o GT. tar. gz e Scripts. tar. gz (tarballs), você deve extrair (desenrolá-los) em um novo diretório. Recomendamos manter GT e Scripts em um diretório de nível superior comum, como geniustrader ou gt. Em contraste com outros pacotes Perl, o GeniusTrader não está instalado nos termos de instalação do Perl, mas é executado a partir do diretório Scripts ou outro diretório conveniente que possa conter o resultado do aplicativo GT específico. Veja também a seção acima (Guia Geral de Instalação do GT) sobre a configuração correta do envvar PERL5LIB se você desenrola esses tarballs GeniusTrader em diferentes diretórios pai. Não há nenhum truque com o esquema de não instalação além de garantir que seu shell possa encontrar os scripts do aplicativo GT perl. Isso é controlado pela variável ambiental PATH (envvar). Em geral, o ponto, o diretório de trabalho atual, será o último nessa lista de pesquisa, se não estiver lá, você pode apenas adicioná-lo. Mas se você prefere executar scripts de aplicativos GT a partir de diretórios diferentes do diretório do GT Scripts, você gostaria de adicionar o nome de caminho absoluto do diretório do GT Scripts. Exemplos usando bash 3.00: para adicionar usrlocalsourcegeniustraderScripts para PATH: Certifique-se de separar cada pathname com dois pontos:. Instale as dependências Perl O GeniusTrader usa um grande número de módulos Perl externos. Você precisa instalá-los. Você pode fazer isso à mão, ou você pode usar o módulo CPAN Perl para fazê-lo ou pode usar os pacotes correspondentes da sua distribuição do linux. Tenha cuidado, alguns desses módulos dependem de outros módulos. Essas listas são consultivas, elas devem dar-lhe boas informações sobre os pré-requisitos principais do perl do GT, mas os dados do pacote da versão do linux (debian) são menos confiáveis ​​e provavelmente muito datados. Módulos condicionalmente necessários: Cwd, File :: Find, File :: Spec, IO :: Handle - são necessários, mas provavelmente são parte do núcleo Perl até agora. GD - o pacote de gráficos perl, juntamente com o libgd da biblioteca c gd é necessário para gráficos com backtest. pl. Graphic. pl pode gerar imagens gráficas usando esses módulos Perl alternativos: SVG ImageMagick Postscript :: Simples, mas o GD é o pacote gráfico primário e padrão para o GT. DBI e driver DBD apropriado - se você planeja usar um backend de base de dados de preços baseados em SQL, você precisa de DBI e um desses módulos Perl: DBD :: Pg DBD :: mysql DBD :: SQLDD DBD :: SQLite2 DBD :: Arquivo DBD :: ODBC Finance :: BeanCounter - beancounter é o aplicativo recomendado de banco de dados de preços de ações se você estiver usando os prazos dos preços das ações no final do dia e maiores. O BeanCounter pode ser usado com qualquer um desses mecanismos de banco de dados baseados em SQL: PostgreSQL mysql SQLite SQLite2 ODBC Time :: Local - só é necessário se você usar um banco de dados baseado em CSV (GTDBCSV. pm) para obter preços. Observe que isso é semelhante, mas diferente, ao usar GTDBText. pm para dados de preços baseados em texto. Entre em contato com a lista de discussão do desenvolvedor se você realmente deve fazer isso. Tempo :: Local tem o problema da época da data unix que será um problema se você quiser processar os dados do preço antes de 1 de janeiro de 1970. Lista :: Util - pode ser usado no futuro para os métodos maxmin, mas pode ser parte de O núcleo Perl até agora. Teste :: Mais e Teste :: Diferenças e possivelmente outros - pode ser necessário no futuro para executar testes dos módulos do kit de ferramentas. Mas estes só serão necessários para realizar os testes para não usar o GT. LWP - apenas necessário se você usar GTDBHTTP. pm XML :: Simple - apenas necessário para backtestmulti. pl, todos os outros aplicativos GT usam XML :: LibXML em vez disso. O perldoc ou outro visualizador de perl pod é uma conveniência recomendada, mas não é um requisito. O utilitário experimental Build. PL mencionado acima examina este material pré-requisito e relatórios em bits encontrados ou não. Configure sua fonte de dados de preços de ações Para fazer algo útil com o GT, você deve ter uma fonte de dados de preços de estoque. Vários módulos estão disponíveis para isso (veja o pod de módulos no GT :: DB ::). Uma vez que você não pode ter nenhum dado, um pacote de dados com base em texto de arquivo simples muito limitado está disponível para avaliação e teste. Extraia os 3 arquivos neste arquivo tar no diretório gt: é tudo o que há para fazer para um banco de dados de preços baseados em arquivos. Configure seu arquivo de configuração do GT Agora, você deve criar o arquivo de configuração GT (HOME. gtoptions): Copie e cole o seguinte texto no arquivo de configuração GT aberto no editor vim na sequência de comandos acima. Em seguida, certifique-se de alterar os nomes dos caminhos de dados da amostra e os nomes de caminho do diretório de fontes para que eles correspondam aos seus caminhos reais. Esse comando de busca pode ser útil para localizar o dirs da fonte no seu sistema: Teste o GeniusTrader Instalação e Configuração Isso é, o GeniusTrader deve estar funcionando agora. Vamos tentar alguns testes: se você se encontrou com sucesso, sim. Agora você precisa garantir que os gráficos estejam funcionando, então vá para Capturas de tela e certifique-se de obter resultados que se assemelham aos mostrados. Consulte o pod nas aplicações rtfm para aprender tudo sobre os vários scripts de aplicativos gt, o que eles podem fazer e como usá-los. Consulte o pod no kit de ferramentas rtfm para saber tudo sobre os vários módulos de ferramentas gt e sobre como usá-los. Se você tiver erros, ou resultados estranhos, a ajuda do desespero não está disponível de duas maneiras. Primeiro, você pode tentar o método de auto-ajuda e consultar o Wiki de usuários (wiki). Em segundo lugar, se você simplesmente não consegue descobrir o que está mal, você pode pedir ajuda às centenas de usuários ativos de gt: basta se inscrever na lista de endereços do desenvolvedor geniustrader-devel e enviar uma solicitação de suporte. Ao publicar solicitações de suporte no geniustrader-devel, forneça informações suficientes que ajudarão o ajudante a ajudá-lo. Indique claramente o problema que está tendo. Inclua toda a linha de comando GT que você está usando mais qualquer saída (no terminal), bem como em qualquer arquivo gerado pelo comando (imagens, texto, html, etc.). Outras informações que podem ser significativamente importantes incluem: seu arquivo de configuração de arquivos de arquivo HOME. gtoptions se o comando usa um arquivo de mercado (graphic. pl) se o comando usa um arquivo de sistema (scan. pl, backtest. pl) se o comando usa um (varredura). Pl, backtest. pl) Se você está tendo problemas para trabalhar o seu banco de dados de preços, verifique o Wiki dos usuários para obter ajuda sobre a configuração do banco de dados. Se isso não conseguir resolver o problema, sua mensagem de publicação de suporte deve identificar o formato de seus dados de preços (um exemplo de 5 linhas é muito se no formato delimitado por caracteres). Se você estiver usando um banco de dados SQL, identifique o mecanismo que você está usando (por exemplo, mysql, sqlite3, etc.) e o aplicativo de suporte, se houver (por exemplo, beancounter, etc.). No caso SQL, se você estiver usando o módulo GT :: DB :: genericdbi, as instruções de consulta SQL são de importância significativa (HOME. gtoptions). Tem perguntas Se você tiver dúvidas, veja estas páginas: Perguntas frequentes. Documentação. E Capturas de tela com exemplos. Você também pode se juntar à lista de discussão, geniustrader-devel, onde a comunidade de usuários amigável tentará ajudá-lo. Test GeniusTrader Para testar GeniusTrader, abra uma janela de console e experimente as seguintes linhas de comando: dows Usuários Instalar Perl Instalar o GeniusTrader Depois de ter o Perl instalado em seu sistema, a maneira mais simples de usar o GeniusTrader é executar um dos vários itens wizbang do instalador Como Genius Trader Windows Install, que irá instalar todas as dependências necessárias, bem como dados de amostra. No entanto, a versão do GeniusTrader (ou seja, os arquivos em GT e Scripts) instalados dessa maneira será o pacote com a versão instaladora usada. Observe também que o instalador do WANZP não pode nem instalar a versão CPANed do GeniusTrader. Um Usuário do Dows Sugeriu este GeniusTrader Installation Guidance use o Windows Installer para configurar seu ambiente Perl. Ignore a versão instalada do GeniusTrader e instale a versão mais atual manualmente usando uma janela de terminal. Se os seus dows já tiverem nmake, coloque-o aqui e coloque-o em seu diretório perlbin com o nome nmake. exe Aqui pode ser uma lista dos pacotes dows necessários Agora, vá para a seção intitulada Configurar sua fonte de dados de preços de ações e siga O resto das instruções para completar e testar a instalação do GT. Copyright 2000-2017 GeniusTrader

Comments

Popular Posts