Saturday 26 August 2017

Geronimo Trading System


DayTrader é uma aplicação de referência construída em torno do paradigma de um sistema de negociação de ações on-line. Originalmente desenvolvido pela IBM como o Trade Performance Benchmark Sample, o DayTrader foi doado para a comunidade Apache Geronimo em 2005. Esta aplicação permite aos usuários fazer login, visualizar seu portfólio, cotações de ações de pesquisa e comprar ou vender ações. Com a ajuda de um driver de carga baseado na Web, como Mercury LoadRunner, Rational Performance Tester ou Apache JMeter, a carga de trabalho do mundo real fornecida pelo DayTrader pode ser usada para medir e comparar o desempenho da Java Platform, Enterprise Edition (Java EE) Servidores de aplicativos oferecidos por uma variedade de fornecedores. Além da carga de trabalho completa, o aplicativo também contém um conjunto de primitivas usadas para testes funcionais e de desempenho de vários componentes Java EE e padrões comuns de design. Este documento está organizado nas seguintes seções: Arquitetura de aplicativos O DayTrader é construído em um conjunto básico de tecnologias Java EE que inclui Java Servlets e JavaServer Pages (JSPs) para a camada de apresentação e conectividade de banco de dados Java (JDBC), Java Message Service (JMS) , Enterprise JavaBeans (EJBs) e Message-Driven Beans (MDBs) para a lógica de negócios back-end e a camada de persistência. O diagrama a seguir fornece uma visão geral de alto nível da arquitetura de aplicativos de carga de trabalho completa. Camada de Apresentação A camada de apresentação consiste em vários Servlets Java e JSPs que aderem vagamente a um padrão de design do Modelo-View-Controller (MVC). O TradeAppServlet é o servlet do controlador principal responsável por receber pedidos de clientes recebidos, desencadeando a lógica comercial desejada e encaminhando respostas para a página JSP apropriada. Servlets adicionais e JSPs são usados ​​para configurar as opções de tempo de execução do DayTrader e gerenciar o banco de dados de suporte. Lógica de Negócios e Camada de Persistência A camada de persistência e lógica de negócios forma a maior parte do aplicativo DayTrader. A interface TradeServices define o conjunto central de operações comerciais disponíveis no aplicativo, como registro, login, getHoldings, buy, completeOrder, logout, etc. DayTrader fornece três implementações diferentes desses serviços, correspondentes a três padrões de design de aplicativos JavaEE comumente usados. Essas implementações são discutidas abaixo. Os usuários podem alternar entre essas implementações na página de configuração alterando o modo Runtime. Operações do Inerface do Usuário (UI) O cliente da Web DayTrader JSPServlet-based fornece um conjunto básico de operações que se esperaria encontrar em qualquer operação de negociação de ações e gerenciamento de portfólio. Essas operações de usuário de alto nível desencadeiam operações comerciais específicas (definidas acima) dentro da lógica de negócios e camadas de persistência para executar a tarefa desejada. A tabela a seguir resume as tarefas comerciais realizadas por cada operação de operação do usuário. Operação de cliente (UI) Fluxo de operações de negócios Exibir perfil de conta Atualizar perfil de conta Obter a fonte Daytrader está disponível no repositório de subversão Apaches, execute o seguinte comando para efetuar o checkout dos arquivos de origem no diretório daytrader-2.0. Ltdaytraderhomegt pode ser qualquer diretório dedicado a manter o daytrader-2.0. Este processo pode demorar vários minutos dependendo da velocidade de conectividade da máquina e da rede. Construindo Daytrader Uma vez que todas as fontes são verificadas, o próximo passo é criar o Daytrader. O Daytrader requer o Maven 2 para a construção dos binários. No diretório ltdaytraderhomegt, execute o seguinte comando. Este processo levará alguns minutos. Os binários serão gerados no diretório de destino correspondente para cada um dos módulos no diretório dos módulos. Configurando o Daytrader Por padrão, Daytrader requer um banco de dados a ser criado usando o banco de dados Derby incorporado que é fornecido com o Geronimo. Normalmente, os arquivos do plano de implantação fornecidos são configurados para criar esse banco de dados (DaytraderDatabase) no Apache Derby durante a implantação. No entanto, os scripts são fornecidos no diretório ltdaytraderhomegtbindbscriptsderby para criar este banco de dados manualmente. Observe que, neste momento, esta etapa é opcional. Você ainda pode criar o banco de dados necessário após a implantação do Daytrader e usando o link (Re) - create DayTrader Database Tables e Indexes da página Application Utility de configuração. Independentemente de você usar os scripts de linha de comando ou a opção baseada na web, você precisará das tabelas criadas antes de chegar à seção de dados de amostra de preenchimento. A inserção desta seção é mostrar como usar os scripts fornecidos para criar o DaytraderDatabase necessário, para que, se necessário, você pode adaptá-los ao seu ambiente de configuração específico. Também são fornecidos scripts adicionais para diferentes bancos de dados. Comece o Geronimo executando o seguinte comando: ltgeronimohomegtbingeronimo start O script de criação de banco de dados fornecido requer a configuração da variável de ambiente GERONIMOHOME. Na mesma janela, você começa o Geronimo executar o seguinte comando: configure GERONIMOHOMEltgeronimohomegt Alterar o diretório para o diretório que contém os scripts de criação do banco de dados. Cd ltdaytraderhomegtbindbscriptsderby Abra o script createDerbyDB e verifiode a versão Derby para coincidir com a usada por Geronimo (por exemplo, ltgeronimohomegtrepositoryorgapachederbyderby10.2.2.0). Uma vez que você verificou a correspondência de versões, execute o script. CreateDerbyDB Você deve ver um scree semelhante ao ilustrado abaixo. Você pode verificar se o banco de dados foi criado apontando seu navegador para o Geronimo Administration Console e clicando no DB Manager. A última etapa nesta configuração é atualizar o plano de implantação. Edite o daytrader-g-2.0-SNAPSHOT-plan. xml plano de implantação localizado no diretório ltdaytraderhomegtplans e substitua ge-activemq-rar1.2-betarar com ge-activemq-rar1.2rar. Agora você está pronto para implantar o aplicativo. Implantando o Daytrader Até agora, recuperamos o arquivo de origem, construímos, configuramos, criamos um banco de dados e atualizamos o plano de implantação. Agora é hora de instalar o aplicativo Daytrader no Geronimo. Existem basicamente duas formas de implantar um aplicativo no Geronimo, usando o Geronimo Administration Console ou a ferramenta de implantação baseada em linha de comando. Para este exemplo, usaremos a opção baseada em linha de comando. No diretório ltgeronimohomegtbin, execute o seguinte comando: deploy --user system --password manager deploy ltdaytraderhomegtmoduleseartargetdaytrader-ear-2.0-SNAPSHOT. ear ltdaytraderhomegtplansdaytrader-g-2.0-SNAPSHOT-plan. xml O primeiro deploy é o script que chama a ferramenta deployer , Então passamos o nome de usuário e a senha. A segunda implantação é a opção de comando real para a implantação do daytrader-ear-2.0-SNAPSHOT. ear EAR usando o plano de implantação daytrader-g-2.0-SNAPSHOT-plan. xml especificamente. Em seu próprio aplicativo, você poderia chamar este plano geronimo-application. xml e colocá-lo no diretório META-INF dentro de seu arquivo EAR e você não precisará especificar o plano de implantação diretamente na linha de comando. Você deve ver uma tela de confirmação de implantação semelhante à mostrada abaixo. O Daytrader está pronto para testar. Preenchendo dados de amostra Com o aplicativo implantado e iniciado (começa por padrão quando você o implanta), o próximo passo antes de usar o Daytrader é preencher dados de exemplo no banco de dados que criamos antes. As seguintes etapas ilustram como. Clique na guia Configuração. Clique em (Re) - Popular banco de dados do DayTrader para gerar os dados da amostra, isso abrirá uma nova janela mostrando o progresso. O tamanho da população inicial consiste em 200 contas e 400 cotações de ações. Esses valores podem ser atualizados através do link Configure DayTrader run-time parameters na guia Configuração. O Running Daytrader Daytrader pode ser executado em várias configurações e também fornece um conjunto de primitivas na web para facilitar o teste. Cada uma dessas primitivas prova singularmente operações de chave no modelo de programação empresarial Java. Alguns destes podem ser configurados para rodar repetidamente com base nas configurações que iremos abordar mais tarde. As seções a seguir descrevem mais detalhadamente este pacote de teste de primitivas. Conjunto de ping da rede de contêiner A tabela a seguir descreve o conjunto de primitivas relacionadas com o contêiner da Web. Esses primitivos que podem ser definidos para serem executados várias vezes são destacados. Execução de Primitivas Até agora, vimos o que os primitivos estão disponíveis, quais deles podem ser configurados para executar várias iterações e como configurar os parâmetros de tempo de execução da aplicação. Com essas configurações, toda vez que você acerta PingServlet2EntityEJBLocal ou atualiza a página, essa primitiva será executada 100 vezes. Ao fazer análise de desempenho, ser capaz de jogar com esses parâmetros é muito valioso. Isso ajuda você a rastrear os tempos de execução dessas funções muito específicas. Quando usado combinado com uma ferramenta de simulação de carga, as configurações diferentes irão ajudá-lo com o ajuste fino do servidor com base nas necessidades específicas do seu ambiente. Negociado ido. Acabamos de ver como executar testes de operações de funções singulares através das primitivas disponíveis. As mesmas configurações que você configurou para executar essas primitivas também afetam a GUI para simulação de negociação. Aponte o seu navegador para localhost: 8080daytrader Clique em Trading amp Portfolios. Aceite o usuário e a senha padrão e clique em Login. Agora você pode começar a negociar Detalhes adicionais para configurar e executar o Daytrader podem ser encontrados nas FAQs do aplicativo apontando seu navegador para localhost: 8080daytrader Voltar ao quadrado Depois de realizar alguns testes e querer executar um novo conjunto a partir do zero Você precisará redefinir a configuração de tempo de execução e os dados da transação do banco de dados. Essas etapas simples são tudo o que você precisa para iniciar um novo conjunto de testes no Daytrader no entanto, você ainda pode querer reiniciar o servidor, dependendo do tipo de testes que você está executando. Lançamento dos clientes do aplicativo O DayTrader fornece dois clientes do aplicativo J2EE, o DayTrader Streamer e um aplicativo de serviços da Web. O cliente do aplicativo Streamer usa um tópico JMS para se inscrever para atualizar os preços das cotações à medida que os estoques são comprados e vendidos. Essas atualizações são rastreadas e usadas para determinar se as colisões de banco de dados ocorrem ao atualizar os preços de cotações no banco de dados. O cliente do aplicativo de serviços da Web simplesmente fornece um cliente grosso para acessar os serviços do DayTrader usando uma interface de serviços da Web. Cliente de aplicação Streamer Para que as atualizações de preço de cotação sejam publicadas no tópico JMS, o sinalizador Publicar cotações atualizações na página de configuração deve estar habilitado. Aponte seu navegador para localhost: 8080daytrader Clique em Configuração. Clique em Configure DayTrader parâmetros de tempo de execução. Certifique-se de selecionar a caixa de seleção Publicar cotações atualizações. Para iniciar o cliente do aplicativo Streamer, execute o seguinte comando. Ltgeronimohomegtbinjava - jar client. jar geronimodaytrader-streamer-client2.0-SNAPSHOT cliente de aplicativos de serviços da Web ltgeronimohomegtbinjava - jar client. jar geronimodaytrader-wsapp-client2.0-SNAPSHOTcarAcerca de sistemas de negociação O que é um sistema de negociação Um sistema de negociação é uma ferramenta usada pelos comerciantes Que utiliza critérios objetivos de entrada e saída com base em parâmetros que foram determinados por testes históricos em dados quantificáveis. Os sistemas são executados em computadores ou servidores e vinculados a uma troca de negociação. Os desenvolvedores enviarão revisões de sistemas (atualizações) conforme entenderem. As revisões podem ser enviadas de imediato para o Striker, já que os desenvolvedores modificam as ordens de parada também. Por que eu deveria negociar um sistema Negociar os futuros e mercados de ações usando um sistema comercial fornece a disciplina para superar o medo e ganância que, em muitos casos, paralisa um comerciante e evita tomar decisões atempadas. Cada ordem colocada é regida por um conjunto pré-determinado de regras que não se desviam com base em qualquer coisa que não seja a ação do mercado. O que devo considerar Como todos os tipos de ferramentas, sistemas de negociação, se não for usado corretamente, pode ser perigoso para a saúde econômica dos comerciantes. O comerciante deve avaliar a tolerância à negociação de futuros de alto risco, ao capital de risco e à capacidade de suportar a redução do capital próprio, bem como o custo em termos de tempo e dinheiro para negociar nos mercados de futuros. Como eu sei se o sistema é bom. Um dos elementos-chave de um sistema comercial é a capacidade de voltar a testar o desempenho hipotético usando dados quantificáveis. Reconhecendo que os resultados hipotéticos não foram testados no mercado e que geralmente são fornecidos pelo fornecedor do sistema que está no negócio de vender sistemas de negociação, o comerciante pode obter alguma idéia sobre as características dos sistemas de negociação. No entanto, o único teste verdadeiro de um sistema é ver como ele funciona na negociação real, onde o deslizamento do mercado e os custos de negociação fazem parte do registro. Como resultado, pode haver uma diferença significativa entre resultados hipotéticos e reais e também nenhuma garantia de futuros resultados comerciais. Quanto dinheiro eu preciso O depósito mínimo para abrir uma conta de negociação de futuros varia de acordo com o corretor. Além disso, o operador potencial só deve considerar a abertura de uma conta de futuros quando o comerciante tiver um capital de risco suficiente, devido à alavancagem na negociação de futuros. Como faço para começar O primeiro passo é que o comerciante fale com um dos intermediários Strikers no-conflict para entender o risco, bem como os benefícios da negociação de futuros usando sistemas de negociação. Se o comerciante estiver confortável com o programa, o próximo passo é abrir uma conta de negociação e selecionar o (s) sistema (s) de negociação que melhor se adequam às tolerâncias de risco pessoal e aos objetivos de negociação dos comerciantes. Se o comerciante não estiver confortável em operar o (s) sistema (s) comercializado (s) selecionado (s), os corretores profissionais da Striker irão negociar automaticamente o (s) sistema (s) na conta dos comerciantes para o benefício dos comerciantes. Nem o Striker nem nenhum de seus funcionários estão autorizados a negociar futuros, então nosso foco é sempre proporcionar ao comerciante o melhor serviço. Quais são os Riscos? Qualquer sistema pode estar sujeito a risco específico específico do mercado, específico do sistema ou complexo. Ao negociar sistemas múltiplos em diferentes mercados, pode-se reduzir o risco específico específico do mercado e específico. Ao negociar sistemas com diferentes estratégias de entrada e saída, o comerciante pode reduzir o risco específico do sistema. No entanto, o risco de negociação pode ser substancial e cada investidor e / ou comerciante deve considerar se este é um investimento adequado. O desempenho passado, seja real ou indicado por testes simulados de estratégias, não é necessariamente indicativo de resultados futuros. Mais informações sobre o comércio do sistema É importante chamar a atenção de que alguns dos nossos clientes e outras pessoas interessadas podem ter algumas questões relacionadas à negociação de sistemas no Striker e sistemas em geral. Embora tenhamos abordado alguns dos seguintes tópicos no passado, sentimos que, atendendo ao crescente interesse pela abordagem sistemática dos futuros de negociação e do comércio em geral, é apropriado revisar alguns desses temas. O sistema de negociação é uma abordagem válida para negociar futuros. Nós nos sentimos certos de que é, e é razoavelmente seguro dizer que a maioria dos comerciantes profissionais trocarão usando um sistema de algum tipo na negociação dos mercados de futuros. Um sistema a este respeito pode ser qualquer estratégia que varie desde critérios simples de entrada e saída, regras de gerenciamento de dinheiro, o uso de perdas para proteger posições ou bloquear lucros, para o uso mais complexo de indicadores técnicos e fórmulas matemáticas. Um sistema fornece uma abordagem consistente e lógica para a negociação. Seja simples ou complexo, um sistema comercial geralmente é mais eficaz quando implementado de forma consistente. Um problema freqüentemente encontrado por comerciantes individuais é a dificuldade em seguir um sistema, seja ele próprio ou um desenvolvedor profissional. Aderir a um sistema requer disciplina, e a disciplina é muitas vezes difícil de manter no calor da ação do mercado ao vivo, onde as emoções podem governar o dia, e um comerciante pode ser tentado a adivinhar seu sistema. Eu comprei um sistema que atualmente está sendo negociado no Striker. Qual é a relação entre Striker e o desenvolvedor do sistema? Um dos nossos objetivos no Striker é o relatório imparcial do desempenho do sistema. Para esse fim, o Striker não tem vínculos financeiros com os desenvolvedores de sistemas, nem o Striker possui sistemas internos. Nossa independência financeira nos permite ser objetivos nos sistemas de execução. O arrendamento ou compra de sistemas proprietários é uma questão entre o cliente e o desenvolvedor. Enquanto nos esforçamos para trabalhar com desenvolvedores respeitáveis ​​de sistemas robustos e legítimos, vemos nosso papel como um dos principais serviços, execução e relatórios precisos de informações. Para este fim, não manipulamos os sinais do sistema, mas nos esforçamos fielmente para executá-los em tempo hábil. Em seguida, relatamos o desempenho comercial real no atacante para sistemas de dia e swing. Não relatamos desempenho para sistemas multi-commodities, uma vez que os clientes podem ter diferentes configurações ou instruções e, portanto, resultados diferentes. Ajuda O sistema de Im trading não está indo tão bem como eu pensei que seria. O que posso fazer Embora seja sempre preferível ver negócios vencedores na conta, o fato é que os mercados de futuros, como outros mercados, tendem a flutuar. Os mercados de futuros também podem ser mais voláteis do que os mercados de ações (ações). Futuros de negociação usando uma abordagem sistemática oferecem vantagens específicas (como estabelecer regras de risco e gerenciamento de dinheiro), mas não garante o sucesso. No entanto, apenas porque um sistema está lutando no momento não significa que não irá oferecer retornos positivos a longo prazo. Uma série de sistemas negociados no Striker passaram por períodos de decolagem. Mas passou a ganhar dinheiro com nossos clientes. Por exemplo, o sistema comercial Compass SP day, que comercializa os futuros do SP em 30.000, retornou mais de 408.14 desde janeiro de 2000 a partir de 1º de setembro de 2008. No entanto, o sistema, que também pode trocar o e-mini SP em 5000, realmente perdeu Dinheiro em 2004, mas continuou a retornar lucros em 2005. Em sua vida comercial no Striker, ele tem em média mais de 42 por ano, a partir de 1º de setembro de 2008. Em outras palavras, a paciência e uma avaliação precisa da situação financeira São fatores-chave na negociação de sistemas. No entanto, a equipe profissional da Strikers está feliz em trabalhar com os clientes em termos de discussão de alternativas se um sistema parece estar com desempenho inferior. Por que os resultados dos Strikers são diferentes dos desenvolvedores, o Striker relata apenas o desempenho comercial real, onde vários desenvolvedores relatam desempenho hipotético. A diferença é que os relatórios hipotéticos não representam a atividade real da conta, mas sim representam um instantâneo gerado por computador dos sinais de negociação de sistemas. No caso de sistemas comercializados no Striker, esses sinais são geralmente idênticos aos gerados em nosso centro de operações, mas onde um relatório hipotético começa e termina no computador, o Striker leva esses sinais quotlivequot, e na corrida do mercado real Condições, onde devem competir com outros pedidos de comerciantes. As condições do mercado podem mudar muito rapidamente, e mesmo com a execução e experiência superior dos Strikers, os preços de enchimento podem variar de acordo com o mercado. A diferença entre um preço ideal eo preço real é conhecida como quotslippagequot, e é um componente inevitável da negociação de futuros. No entanto, o time experiente da Strikers trabalha duro para obter os melhores preços para nossos clientes, e nossos resultados sempre refletem qualquer derrapagem. Eu tenho procurado sistemas na internet. Há uma grande variedade delas. O Striker pode recomendar um em particular Na seção de clientes no atacante, mantemos registros reais de desempenho comercial para muitos sistemas (dia e swing) que negociaram ou estão negociando no Striker, com comissões incluídas. Esses registros representam negócios reais para contas de nossos clientes. Sentimos que esses registros podem ser altamente úteis na avaliação e na escolha de um sistema. No entanto, estamos conscientes de que existem muitos programas disponíveis para venda ou arrendamento na Internet e em outros lugares que não foram negociados no Striker, e recomendamos que você adote uma diligente diligência cuidadosa na avaliação desses sistemas e seus desenvolvedores. Por exemplo, é importante fazer sua lição de casa ao olhar para o fundo dos desenvolvedores. Qual é o seu histórico de negócios e negócios. Eles estão registrados com um órgão regulador como o NFA. Eles têm um bom registro de negócios. Eles tiveram queixas registradas contra eles com o Better Business Bureau ou outras agências de proteção ao consumidor. Estas são todas as questões a serem consideradas quando Investigando um desenvolvedor de sistemas. Há uma série de questões importantes a serem feitas ao avaliar um determinado registro de negociação de programas. Os negócios são mostrados reais ou hipotéticos. Se eles são hipotéticos, qual metodologia foi usada na implementação do modelo hipotético. O modelo tentou refletir com precisão um ambiente comercial real, com o deslizamento e as comissões em questão. Finalmente, se você está procurando uma idéia específica Ao olhar para os sistemas comercializados no Striker, não hesite em contactar o especialista do sistema Dan Neenan. Eu vejo alguns dos sistemas negociados no Striker estão lutando. Os sistemas nunca falharam completamente Os sistemas que você vê no Striker não são quotoursquot nós não vendemos sistemas. Estes são programas de negociação de terceiros para nossos clientes que estamos fazendo a execução. Em muitos casos, eles são sistemas que os clientes compraram por conta própria e decidiram que preferem que o atacante executa a negociação para eles. Nós mostramos apenas o desempenho comercial para os sistemas de dia e swing comercializados ativamente no Striker. Se um sistema mostrar pouca ou nenhuma promessa ao longo de um período de tempo, nossos clientes provavelmente deixarão de negociá-lo, e o registro de desempenho para o sistema terminaria. Então, para responder a segunda pergunta, os sistemas costumam, ocasionalmente, ter uma baixa performance. A negociação de futuros é inerentemente arriscada e, embora os sistemas em geral sejam desenvolvidos para gerenciar o risco e melhorar as chances de um comerciante obter resultados bem-sucedidos, os comerciantes devem, no entanto, negociar usando apenas capital de risco e ser avisado de que os sistemas podem falhar. Meu sistema está perdendo dinheiro. O que devo fazer no Striker, nossa prioridade é o seu conforto na negociação. Embora não aconselhemos que os clientes abandonem um sistema apenas por uma série de negociações perdidas, estamos aqui para tomar sua direção na negociação de sua conta. Se você se sentir desconfortável com a direção de sua abordagem comercial atual, recomendamos que você pare de negociar, respire fundo e veja suas opções em termos de explorar uma estratégia alternativa ou mais conservadora. Para obter mais informações sobre mercados de futuros e negociação de sistemas, visite o atacante e clique no link intitulado: Recursos educacionais.

No comments:

Post a Comment