Thursday 8 February 2018

Como usar Java no comércio algorítmico?



Java é uma poderosa linguagem de programação orientada a objetos.
Se você estiver desenvolvendo aplicativos Android, você deve estar familiarizado com Java.
Podemos usar Java em negociação algorítmica? Em vez disso, devemos usar o Java na negociação algorítmica?
Dukascopy e Oanda são dois corretores forex que fornecem Java API para negociação algorítmica.
Se você quiser aprimorar suas habilidades Java como desenvolvedor Java, você deve usá-la em negociação algorítmica.
Java é uma linguagem poderosa que permite que você faça aprendizado de máquina e aprendizagem profunda.
Dukascopy Java API fornece-lhe desenvolver estratégias de negociação algorítmica Java mais indicadores.
O Java é de propriedade da Oracle, que é uma corporação poderosa.
Eu acho que, nos próximos anos, você verá Java a par com R e Python quando se trata de ciência dos dados.
Estou dizendo isso porque eu vi 15 novos livros sobre Java Data Science sozinho.
Já possui poderosas ferramentas de aprendizado de máquina e aprendizagem profunda.

AlgoTrader Algorithmic Trading Software.
O AlgoTrader é a primeira solução de software de negociação algorítmica totalmente integrada para fundos hedge quantitativos. Ele permite a automação de estratégias de negociação complexas e quantitativas em mercados de ações, Forex e Derivados. O AlgoTrader fornece tudo o que um fundo de hedge quantitativo típico precisa diariamente para executar sua operação e é o primeiro e único produto de software de negociação algorítmica para permitir o comércio automatizado de Bitcoin e outras Cryptocurrencies.
AlgoTrader Benefícios.
Automatizado - Qualquer estratégia de negociação quantitativa pode ser totalmente automatizada.
Rápido - Os altos volumes de dados de mercado são processados, analisados ​​e atuados automaticamente em velocidade ultra alta.
Customizable - Arquitetura de código aberto pode ser personalizada para requisitos específicos do usuário.
Rentável: a negociação totalmente automatizada e os recursos internos reduzem o custo.
Confiável - Construído na arquitetura mais robusta e tecnologia de ponta.
Totalmente suportado - orientação abrangente disponível para instalação e personalização. Treinamento e consultoria no local e remoto disponíveis.
Recursos do AlgoTrader.
AlgoTrader, como funciona.
Qualquer estratégia de negociação baseada em regras pode ser totalmente automatizada:
Chegam dados eletrônicos do mercado. Os dados são encaminhados para estratégias de negociação em execução no AlgoTrader. As estratégias de negociação analisam, filtram e processam dados de mercado e criam sinais comerciais. Com base em sinais comerciais, as ações são executadas (por exemplo, colocando um pedido ou fechando uma posição). As encomendas são enviadas para os respectivos mercados.
AlgoTrader Services & # 038; Treinamento.
Consulta e treinamento no local e remoto: Automação e migração de estratégias existentes Melhorando e otimizando estratégias existentes Protótipos e backtesting de novas estratégias Desenvolvimento de funcionalidades personalizadas Documentação completa e guias de usuários.
Últimas notícias.
AlgoTrader entre os 5 vencedores do Swisscom Startup Challenge de 17 a 20 de agosto de 2010.
Apresentando o AlgoTrader 4.0 - Repleto de novos recursos poderosos Jul-17-2017.
O AlgoTrader faz parte do Swiss National Fintech Team 2017 Jun-12-2017.
Testemunhos.
A Vontobel aprecia a arquitetura aberta e extensível do AlgoTrader, bem como o uso de componentes de código aberto padrão usados ​​como o Esper e o Spring.
Benjamin Huber, chefe da Algo Trading & # 038; Smart Order Routing, Bank Vontobel AG, Zürich.
Estamos impressionados com as capacidades da AlgoTrader em termos de desenvolvimento estratégico e flexibilidade técnica. O AlgoTrader é a tecnologia chave que nos permite negociar várias estratégias VIX Future e Option em paralelo.
Raimond Schuster, Membro da Comissão Executiva, ISP Securities AG, Zürich.
Todos os direitos reservados.
Links Sociais.
Endereço inferior.
Suíça Ligue-nos: +41 44 291 14 85:
1. Vá para aws. amazon e clique em & # 8220; Inicie sessão na consola & # 8221; (veja a imagem abaixo)
2. Se ainda não possui uma conta Amazon AWS, siga o processo de registro clicando em "Criar conta AWS"
3. Uma vez conectado ao console Amazon AWS, selecione "Minha conta" no menu no lado superior direito da tela sob seu nome de usuário.
4. Na próxima tela, você verá o ID de Amazon de 12 dígitos exibido em "Configurações da conta"
OS TERMOS E CONDIÇÕES DO CONTRATO DE LICENÇA DO USUÁRIO FINAL (& # 8220; ACORDO & # 8221;) GOVERNECE O USO DO SOFTWARE A MENOS QUE VOCÊ E O LICENCIANTE EXECUTAM UM ACORDO DE LICENÇA ESCRITO SEPARADO QUE REGULA O USO DO SOFTWARE.
O Licenciador está disposto a conceder a licença do Software apenas mediante a condição de você aceitar todos os termos contidos neste Contrato. Ao assinar este Contrato ou ao fazer download, instalar ou usar o Software, você indicou que entendeu este Contrato e aceita todos os seus termos. Se você não aceitar todos os termos deste Contrato, então o Licenciador não está disposto a licenciar o Software, e você não pode baixar, instalar ou usar o Software.
1. CONCESSÃO DE LICENÇA.
uma. Licença de Uso de Avaliação e Uso de Avaliação. Sujeito à sua conformidade com os termos e condições deste Contrato, o Licenciante concede a você uma licença pessoal, não exclusiva e não transferível, sem o direito de sublicenciar, durante o termo deste Contrato, usar o Software exclusivamente para Uso de avaliação e uso de desenvolvimento. Os produtos ou módulos de software de terceiros fornecidos pelo Licenciante, se houver, podem ser usados ​​exclusivamente com o Software e podem estar sujeitos à aceitação dos termos e condições fornecidos por esses terceiros. Quando a licença terminar, você deve parar de usar o Software e desinstalar todas as instâncias. Todos os direitos não especificamente concedidos aqui são conservados pelo Licenciador. O desenvolvedor não deve fazer nenhum uso comercial do Software, ou qualquer trabalho derivado dele (incluindo para fins de negócios internos do Desenvolvedor). Copiando e redistribuindo, de qualquer forma, o Software ou o Aplicativo de desenvolvedor para seus clientes diretos ou indiretos é proibido.
b. Licença de uso de produção. Sujeito à sua conformidade com os termos e condições deste Contrato, incluindo o pagamento da taxa de licença aplicável, o Licenciante concede a você uma licença não exclusiva e não transferível, sem o direito de sublicenciar, durante o termo deste Contrato, para : (a) use e reproduza o Software exclusivamente para seus próprios fins de negócios internos (& # 8220; Uso de Produção; # 8221;); e (b) fazer um número razoável de cópias do Software apenas para fins de backup. Essa licença é limitada ao número específico de CPUs (se licenciado pela CPU) ou instâncias de Java Virtual Machines (se licenças por máquina virtual) para as quais você pagou uma taxa de licença. O uso do Software em uma maior quantidade de CPUs ou instâncias de Java Virtual Machines exigirá o pagamento de uma taxa de licença adicional. Os produtos ou módulos de software de terceiros fornecidos pelo Licenciador, se houver, podem ser utilizados exclusivamente com o Software.
c. Não existem outros direitos. Os seus direitos e o uso do Software são limitados aos expressamente concedidos nesta Seção 1. Você não fará nenhum outro uso do Software. Exceto quando expressamente licenciado nesta Seção, o Licenciante não lhe concede outros direitos ou licenças, por implicação, impedimento ou de outra forma. TODOS OS DIREITOS NÃO CONCEDIDOS EXPRESSAMENTE AQUI SÃO RESERVADOS PELO LICENCIANTE OU SEUS FORNECEDORES.
2. RESTRIÇÕES.
Exceto conforme expressamente previsto na Seção 1, você não: (a) modificará, traduzirá, desmontará, criará obras derivadas do Software ou copiará o Software; (b) alugar, emprestar, transferir, distribuir ou conceder quaisquer direitos no Software de qualquer forma a qualquer pessoa; (c) fornecer, divulgar, divulgar ou disponibilizar, ou permitir o uso do Software, por qualquer terceiro; (d) publicar qualquer benchmark ou teste de desempenho executado no Software ou qualquer parte dele; ou (e) remover quaisquer avisos de propriedade, rótulos ou marcas no Software. Você não distribuirá o Software a qualquer pessoa em uma base autônoma ou em um fabricante de equipamento original (OEM).
3. PROPRIEDADE.
Entre as partes, o Software é e permanecerá propriedade única e exclusiva do Licenciador, incluindo todos os direitos de propriedade intelectual nele contidos.
uma. No caso de você usar o Software sob a licença estabelecida na Seção 1 (a), este Contrato permanecerá em vigor durante o período de avaliação ou desenvolvimento.
b. No caso de você usar o Software sob a licença estabelecida na Seção 1 (b), este Contrato permanecerá em vigor, seja (a) por um período de um ano, se adquirido como uma licença de assinatura anual ou (b) perpetuamente se comprado como um licença perpétua. Uma licença de assinatura anual será renovada automaticamente por um ano, a menos que seja encerrado com aviso prévio de um mês. Este Contrato terminará automaticamente sem aviso prévio se você violar qualquer termo deste Contrato. Após a rescisão, você deve imediatamente deixar de usar o Software e destruir todas as cópias do Software em sua posse ou controle.
5. SERVIÇOS DE APOIO.
Se você comprou esta licença, incluindo serviços de suporte, incluem lançamentos de manutenção (atualizações e atualizações), suporte por telefone ou suporte à web.
uma. O Licenciador fará esforços comercialmente razoáveis ​​para fornecer uma atualização projetada para resolver ou ignorar um erro relatado. Se tal erro tiver sido corrigido em uma versão de manutenção, o Licenciado deve instalar e implementar a versão de manutenção aplicável; Caso contrário, a Atualização pode ser fornecida sob a forma de uma correção, procedimento ou rotina temporária, a ser usada até que uma Atualização de Manutenção contendo a Atualização permanente esteja disponível.
b. Durante o Termo do Contrato de Licença, o Licenciador deverá disponibilizar os Lançamentos de Manutenção ao Licenciado se, à medida que o Licenciador disponibilizar, em geral, tais Licenças de Manutenção a seus clientes. Se surgir uma questão sobre se uma oferta de produto é uma Atualização ou um novo produto ou recurso, a opinião do Licenciante prevalecerá, desde que o Licenciante considere a oferta de produtos como um novo produto ou recurso para seus clientes finais em geral .
c. A obrigação do Fornecedor de fornecer serviços de suporte está condicionada ao seguinte: (a) O titular da licença faz esforços razoáveis ​​para corrigir o erro depois de consultar o Licenciador; (b) O Licenciado fornece ao Licenciador informações e recursos suficientes para corrigir o erro no site do Licenciante ou no acesso remoto ao site do Licenciado, bem como no acesso ao pessoal, ao hardware e a qualquer outro software envolvido na descoberta do erro; (c) O titular da licença instala prontamente todas as versões de manutenção; e (d) o Licenciado adquire, instala e mantém todos os equipamentos, interfaces de comunicação e outros equipamentos necessários para operar o Produto.
d. O Licenciador não é obrigado a prestar serviços de suporte nas seguintes situações: (a) o Produto foi alterado, modificado ou danificado (exceto se sob supervisão direta do Licenciador); (b) o erro é causado pela negligência do Licenciado, falta de hardware ou outras causas além do controle razoável do Licenciador; (c) o erro é causado por software de terceiros não licenciado através do Licenciador; (d) O Licenciado não instalou e implementou a (s) Versão (s) de Manutenção para que o Produto seja uma versão suportada pelo Licenciador; ou (e) O Licenciado não pagou as taxas da Licença ou dos Serviços de Suporte quando vencer. Além disso, o Licenciador não é obrigado a fornecer serviços de suporte para o código de software escrito pelo próprio cliente com base no Produto.
e. O Licenciador reserva-se o direito de interromper os Serviços de Apoio se o Licenciador, a seu exclusivo critério, determinar que o suporte contínuo para qualquer Produto não é mais economicamente praticável. O Licenciador dará ao Licenciado pelo menos três (3) meses de antecedência prévia por escrito de qualquer descontinuação de Serviços de Apoio e reembolsará quaisquer taxas de Serviços de Suporte não acumuladas que o Licenciado pode ter pré-pago em relação ao Produto afetado. O Licenciador não tem obrigação de suportar ou manter qualquer versão do Produto ou plataformas de terceiros subjacentes (incluindo, mas não limitado a, software, JVM, sistema operacional ou hardware) para o qual o Produto é suportado, exceto (i) a versão atual do Produto e plataforma de terceiros subjacente, e (ii) as duas versões imediatamente anteriores do Produto e do sistema operacional por um período de seis (6) meses após a sua primeira substituição. O Licenciador reserva-se o direito de suspender o desempenho dos Serviços de Apoio se o Licenciado não pagar qualquer montante a pagar ao Licenciador sob o Contrato no prazo de trinta (30) dias após esse valor ser devido.
6. GARANTIA.
uma. O Licenciador garante que o Software será capaz de realizar em todos os aspectos relevantes de acordo com as especificações funcionais estabelecidas na documentação aplicável por um período de 90 dias após a data em que você instalou o Software. Em caso de incumprimento de tal garantia, o Licenciante deverá, a seu critério, corrigir o Software ou substituir esse Software gratuitamente. O que precede são os seus únicos e exclusivos remédios e a única responsabilidade do Licenciador por violação dessas garantias. As garantias estabelecidas acima são feitas e em benefício de você apenas. As garantias aplicar-se-ão somente se (a) o Software tiver sido devidamente instalado e usado em todos os momentos e de acordo com as instruções de uso; (c) as atualizações mais recentes foram aplicadas ao software; e (c) nenhuma modificação, alteração ou adição foi feita ao Software por pessoas que não sejam o Licenciante ou o representante autorizado do Licenciador.
7. RENÚNCIA.
EXCEPTO, COMO SEJA FORNECIDO NO ÂMBITO DA SEÇÃO 6 (a), O LICENCIANTE EXCLUIRÁ EXPRESSAMENTE TODAS AS GARANTIAS, EXPRESSAS OU IMPLÍCITAS, INCLUINDO QUAISQUER GARANTIAS IMPLÍCITAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM FIM ESPECÍFICO E NÃO INFRACÇÃO, E QUAISQUER GARANTIAS DECORRENTES DO CURSO DE NEGOCIAÇÃO OU USO DE COMÉRCIO. NENHUM AVISO OU INFORMAÇÃO, SEJA ORAL OU ESCRITO, OBTIDO DO LICENCIANTE OU DE OUTRO PODE CRIARÁ QUALQUER GARANTIA NÃO EXPRESSAMENTE INDICADA NESTE ACORDO.
O Licenciante não garante que o Produto de Software atenda seus requisitos ou opere sob suas condições específicas de uso. O Licenciante não garante que a operação do Produto de Software seja segura, sem erros ou sem interrupção.
VOCÊ DEVE DETERMINAR SE O PRODUTO DE SOFTWARE SUFICIENTEMENTE CARREGA SEUS REQUISITOS PARA SEGURANÇA E ININTERRUPTABILIDADE. VOCÊ PODE SER ÚNICA RESPONSABILIDADE E TODA A RESPONSABILIDADE POR QUALQUER PERDA INCURRIDA POR FALHA DO PRODUTO DO SOFTWARE PARA CUMPRIR OS SEUS REQUISITOS. O LICENCIANTE NÃO SERÁ RESPONSÁVEL PELA PERDA DE DADOS POR QUALQUER COMPUTADOR OU DISPOSITIVO DE ARMAZENAMENTO DE INFORMAÇÕES, SOB QUALQUER CIRCUNSTÂNCIA.
8. LIMITAÇÃO DE RESPONSABILIDADE.
A RESPONSABILIDADE TOTAL DO LICENCIANTE & # 8217; SÃO DE TODAS AS CAUSAS DE AÇÃO E SOB TODAS AS TEORIAS DE RESPONSABILIDADE SERÃO LIMITADAS E NÃO EXCEDERÃO A TAXA DE LICENÇA PAGADA POR VOCÊ PARA O LICENCIANTE PARA O SOFTWARE. EM NENHUM CASO, O LICENCIANTE SERÃO RESPONSÁVEIS POR QUAISQUER DANOS ESPECIAIS, INCIDENTAIS, EXEMPLARES, PUNITIVOS OU CONSEQÜENCIAIS (INCLUINDO PERDA DE USO, DADOS, NEGÓCIOS OU LUCROS) OU PARA O CUSTO DE PRODUTOS DE SUBSTITUIÇÃO DE PROCURAÇÃO QUE SÃO FORA DE OU EM CONEXÃO COM ESTE ACORDO OU O USO OU O DESEMPENHO DO SOFTWARE, SEJA TAL RESPONSABILIDADE DECORRENDO DE QUALQUER RECLAMAÇÃO COM BASE NO CONTRATO, GARANTIA, HORTOSÃO (INCLUINDO NEGLIGÊNCIA), RESPONSABILIDADE ESTRITA OU DE OUTRA FORMA, E SE O LICENCIANTE TENHA SIDO AVISADO DA POSSIBILIDADE DE TAL PERDA OU DANIFICAR. AS LIMITAÇÕES ANTERIORES SOBREVIVARÃO E APLICAREM MESMO SE QUALQUER REMÉDIO LIMITADO ESPECIFICADO NESTE ACORDO SE ENCONTRARÁ PARA QUE NÃO FALOU DE SEU PROPÓSITO ESSENCIAL. NA EXTENSÃO DE QUE A LEGISLAÇÃO APLICÁVEL LIMITA O LICENCIANTE DE APLICAÇÃO DE CUSTAS GARANTIAS IMPLÍCITAS, ESTA ISENÇÃO DE RESPONSABILIDADE SERÁ EFICAZ NA MÁXIMA EXTENSÃO PERMITIDA.
Se qualquer disposição deste Contrato for considerada inválida ou inexequível, o restante deste Contrato permanecerá em pleno vigor e efeito. Na medida em que quaisquer restrições expressas ou implícitas não sejam permitidas pelas leis aplicáveis, essas restrições expressas ou implícitas permanecerão em vigor e aplicadas na extensão máxima permitida por tais leis aplicáveis.
Este Contrato é o acordo completo e exclusivo entre as partes em relação ao assunto em questão, substituindo e substituindo todos e quaisquer acordos, comunicações e entendimentos anteriores (tanto escritos quanto orais) em relação a esse assunto. As partes deste Contrato são empreiteiras independentes, e tampouco tem o poder de vincular o outro ou de incorrer em obrigações em favor do outro. Nenhuma falha de qualquer das partes para exercer ou fazer valer qualquer dos seus direitos ao abrigo do presente acordo constituirá uma renúncia a tais direitos. Quaisquer termos ou condições contidos em qualquer pedido de compra ou outro documento de pedido que sejam inconsistentes ou adicionais aos termos e condições deste Contrato são rejeitados pelo Licenciador e serão considerados nulos e sem efeito.
Este Acordo será interpretado e interpretado de acordo com as leis da Suíça, sem levar em conta os princípios do conflito de leis. As partes concordam com a jurisdição exclusiva e o local dos tribunais localizados em Zurique, Suíça, para resolução de eventuais litígios decorrentes ou relacionados a este Contrato.
10. DEFINIÇÕES.
& # 8220; Avaliação Use & # 8221; significa o uso do Software exclusivamente para avaliação e avaliação para novas aplicações destinadas ao seu Uso de Produção.
& # 8220; Uso de Produção & # 8221; significa usar o Software apenas para fins comerciais internos. O Uso da Produção não inclui o direito de reproduzir o Software para sublicenciar, revender ou distribuir, incluindo, sem limitação, operação em um compartilhamento de tempo ou distribuição do Software como parte de um arranjo ASP, VAR, OEM, distribuidor ou revendedor.
& # 8220; Software & # 8221; significa o software do licenciador e todos os seus componentes, documentação e exemplos incluídos pelo Licenciador.
& # 8220; Erro & # 8221; significa (a) uma falha no Produto de acordo com as especificações estabelecidas na documentação, resultando na incapacidade de usar ou restrição no uso do Produto, e / ou (b) um problema que requer novos procedimentos, esclarecimentos, informações adicionais e / ou solicitações de aprimoramentos de produtos.
& # 8220; Liberação de manutenção & # 8221; significa Atualizações e Atualizações para o Produto que estão disponíveis para licenciados de acordo com os Serviços de Suporte padrão definidos na seção 5.
& # 8220; Update & # 8221; significa uma modificação ou adição de software que, quando feita ou adicionada ao Produto, corrige o Erro, ou um procedimento ou rotina que, quando observado na operação regular do Produto, elimina o efeito adverso prático do Erro no Licenciado.
& # 8220; Upgrade & # 8221; significa uma revisão do Produto divulgada pelo Licenciador aos seus clientes finais em geral, durante o Termo de Serviços de Suporte, para adicionar funções novas e diferentes ou para aumentar a capacidade do Produto. A atualização não inclui a liberação de um novo produto ou recursos adicionais para os quais pode haver uma cobrança separada.

QuantStart.
Junte-se ao portal de membros privados da Quantcademy que atende à comunidade de comerciantes de varejo de varejo em rápido crescimento. Você encontrará um grupo bem informado de mentalistas quant pronto para responder suas perguntas comerciais mais importantes.
Confira meu ebook sobre o comércio de quant, onde eu ensino você como criar estratégias de negociação sistemáticas lucrativas com ferramentas Python, desde o início.
Dê uma olhada no meu novo ebook sobre estratégias de negociação avançadas usando análise de séries temporais, aprendizado de máquina e estatísticas bayesianas, com Python e R.
Por Michael Halls-Moore em 26 de fevereiro de 2014.
Neste artigo, o conceito de execução automática será discutido. Em termos gerais, este é o processo de permitir uma estratégia de negociação, através de uma plataforma de negociação eletrônica, para gerar sinais de execução comercial sem qualquer intervenção humana subseqüente. A maioria dos sistemas discutidos no QuantStart até o momento foi projetado para ser implementado como estratégias de execução automatizadas. O artigo descreverá pacotes de software e linguagens de programação que fornecem recursos de execução de backtesting e automáticos.
A primeira consideração é como testar uma estratégia. Minha visão pessoal é que o desenvolvimento personalizado de um ambiente de backtesting dentro de uma linguagem de programação de primeira classe oferece maior flexibilidade. Por outro lado, uma plataforma de backtesting integrada desenvolvida por um fornecedor sempre terá que fazer pressupostos sobre como os testes de backtest são realizados. Apesar disso, a escolha das linguagens de programação disponíveis é grande e diversificada, o que muitas vezes pode ser esmagador. Não é óbvio antes do desenvolvimento qual idioma é susceptível de ser adequado.
Ao codificar uma estratégia em regras sistemáticas, o comerciante quantitativo deve estar confiante de que seu desempenho futuro refletirá seu desempenho passado. Geralmente, existem duas formas de sistema de teste de resposta que são utilizadas para testar essa hipótese. Em geral, eles são categorizados como testadores de pesquisa e testadores de back-ups gerados por eventos. Consideraremos backtesters personalizados versus produtos de fornecedores para esses dois paradigmas e veremos como eles se comparam.
Ferramentas de pesquisa.
Ao identificar estratégias de negociação algorítmicas, geralmente não é necessário simular completamente todos os aspectos da interação do mercado. Em vez disso, podem ser feitas aproximações que proporcionem determinação rápida do desempenho potencial da estratégia. Essas ferramentas de pesquisa muitas vezes fazem suposições irrealistas sobre os custos de transação, provavelmente aumentam os preços, restrições de curto prazo, dependência do local, gerenciamento de riscos e dimensionamento de posição. Apesar dessas deficiências, o desempenho de tais estratégias ainda pode ser avaliado efetivamente. Ferramentas comuns para pesquisa incluem MATLAB, R, Python e Excel.
Esses pacotes de software são fornecidos com recursos de vetorização que permitem velocidade de execução rápida e implementação de estratégia mais fácil. MATLAB e pandas são exemplos de sistemas vectorizados. Com tais ferramentas de pesquisa, é possível testar múltiplas estratégias, combinações e variantes de forma rápida e iterativa, sem a necessidade de "concretizar" uma simulação realista de interação de mercado.
Embora tais ferramentas sejam freqüentemente usadas tanto para backtesting quanto para execução, esses ambientes de pesquisa geralmente não são adequados para estratégias que se aproximam de negociação intradiária em freqüências mais altas na escala de sub-minutos. Essas bibliotecas não tendem a ser capazes de se conectar efetivamente a fornecedores de dados de mercado em tempo real ou a interface com as APIs de corretagem de forma robusta.
Apesar dessas falhas executivas, os ambientes de pesquisa são fortemente utilizados dentro da indústria de comércio quantitativo profissional. Eles fornecem o "primeiro rascunho" para todas as idéias de estratégia antes da promoção para verificações mais rigorosas dentro de um ambiente de backtesting realista.
Backtesting dirigido por eventos.
Uma vez que uma estratégia é considerada adequada na pesquisa, ela deve ser avaliada de forma mais realista. Esse realismo tenta explicar a maioria (se não todas) das questões descritas em postagens anteriores. A situação ideal é poder usar o mesmo código de geração de comércio para backtesting histórico, bem como execução ao vivo. Isto é conseguido através de um backtester dirigido a eventos.
Os sistemas orientados a eventos são amplamente utilizados na engenharia de software, comumente para manipulação de entrada de interface gráfica de usuário (GUI) em sistemas operacionais baseados em janela. Eles também são ideais para o comércio algorítmico, uma vez que a noção de pedidos de mercado em tempo real ou enchimentos comerciais pode ser encapsulada como um evento. Tais sistemas são frequentemente escritos em linguagens de alto desempenho como C ++, C # e Java.
Considere uma situação em que uma estratégia de negociação automatizada esteja conectada a um feed de mercado em tempo real e a um corretor (estes dois podem ser um e o mesmo). Novas informações de mercado serão enviadas ao sistema, o que desencadeia um evento para gerar um novo sinal de negociação e, portanto, um evento de execução. Esses sistemas são executados em um loop contínuo esperando para receber eventos e manipulá-los adequadamente.
É possível gerar subcomponentes, como um manipulador histórico de dados e simulador de corretagem, que pode imitar suas contrapartes ao vivo. Isso permite estratégias de backtesting de uma maneira extremamente semelhante à da execução ao vivo.
A desvantagem de tais sistemas reside no seu design complicado quando comparado a uma ferramenta de pesquisa mais simples. Por isso, "time to market" é mais longo. Eles são mais propensos a erros e exigem um bom conhecimento de programação e metodologia de desenvolvimento de software.
Em termos de engenharia, a latência é definida como o intervalo de tempo entre uma simulação e uma resposta. Na negociação quantitativa, geralmente se refere ao tempo de ida e volta entre a geração de um sinal de execução e o recebimento das informações de preenchimento de um corretor que executa a execução.
Essa latência raramente é um problema em estratégias de inter-frequência de baixa frequência. O movimento de preços esperado durante o período de latência não afetará a estratégia em grande medida. O mesmo não é verdade em estratégias de alta freqüência, onde a latência se torna extremamente importante. O objetivo final da HFT é reduzir a latência, tanto quanto possível, para reduzir o deslizamento.
A latência decrescente envolve a minimização da "distância" entre o sistema de negociação algorítmica e a troca final em que uma ordem está sendo executada. Isso pode envolver o encurtamento da distância geográfica entre os sistemas, reduzindo assim os tempos de viagem ao longo do cabeamento da rede. Também pode envolver a redução do processamento realizado em hardware de rede ou a escolha de uma corretora com infra-estrutura mais sofisticada. Muitas corretoras competem em latência para ganhar negócios.
A latência decrescente torna-se exponencialmente mais cara como uma função de "distância na internet", que é definida como a distância da rede entre dois servidores. Assim, para um comerciante de alta freqüência, um compromisso deve ser alcançado entre as despesas de latência-redução e o ganho de minimizar o deslizamento. Essas questões serão discutidas na seção sobre Colocação abaixo.
Escolhas de idioma.
Alguns problemas que impulsionam a escolha do idioma já foram delineados. Agora, consideraremos os benefícios e desvantagens das linguagens de programação individuais. Eu categorizei amplamente as linguagens em desenvolvimento de alto desempenho / mais difícil versus desenvolvimento de baixo desempenho / fácil. Estes são termos subjetivos e alguns não concordam dependendo de seus antecedentes.
Um dos aspectos mais importantes da programação de um ambiente de backtesting personalizado é que o programador está familiarizado com as ferramentas que estão sendo usadas. Para aqueles que são novos para a paisagem de linguagem de programação, o seguinte irá esclarecer o que tende a ser utilizado dentro de negociação algorítmica.
C ++, C # e Java.
C ++, C # e Java são exemplos de linguagens de programação orientadas a objetos de propósito geral. Isso significa que eles podem ser usados ​​sem um ambiente de desenvolvimento integrado correspondente (IDE), são todos de plataforma cruzada, possuem uma ampla gama de bibliotecas para quase todas as tarefas imagináveis ​​e permitem uma velocidade de execução rápida quando utilizadas corretamente.
Se a velocidade de execução final for desejada, C ++ (ou C) provavelmente será a melhor escolha. Oferece a maior flexibilidade para gerenciar memória e otimizar a velocidade de execução. Esta flexibilidade vem a um preço. C ++ é complicado para aprender bem e muitas vezes pode levar a erros sutis. O tempo de desenvolvimento pode levar muito mais tempo do que em outras línguas. Apesar dessas deficiências, é abrangente no setor financeiro.
C # e Java são semelhantes, uma vez que ambos exigem que todos os componentes sejam objetos com exceção de tipos de dados primitivos, como flutuadores e inteiros. Eles diferem de C ++ executando a coleta automática de lixo. A coleta de lixo agrega uma sobrecarga de desempenho, mas leva a um desenvolvimento mais rápido. Essas linguas são boas escolhas para o desenvolvimento de um backtester, pois possuem capacidades de GUI nativas, bibliotecas de análise numérica e velocidade de execução rápida.
Pessoalmente, eu uso o C ++ para criar backtesters dirigidos a eventos que precisam de velocidade de execução extremamente rápida, como para sistemas HFT. Isso é apenas se eu achasse que um sistema Python com o evento fosse engarrafado, pois o último idioma seria minha primeira escolha para esse sistema.
MATLAB, R e Python.
MATLAB é um IDE comercial para computação numérica. Ganhou ampla aceitação nos setores acadêmico, engenharia e financeiro. Possui muitas bibliotecas numéricas para computação científica. Possui uma velocidade de execução rápida sob o pressuposto de que qualquer algoritmo que está sendo desenvolvido está sujeito a vectorização ou paralelização. Apesar dessas vantagens, é caro tornando-se menos atraente para os comerciantes de varejo com orçamento limitado. MATLAB às vezes é usado para execução direta para uma corretora, como Interactive Brokers.
R é um ambiente de script de estatísticas dedicado. É gratuito, open-source, cross-platform e contém uma grande quantidade de pacotes estatísticos livremente disponíveis para realizar análises extremamente avançadas. R é muito utilizado nas estatísticas acadêmicas e na indústria de hedge funds quantitativos. Embora seja possível conectar R a uma corretora, não é adequado para a tarefa e deve ser considerado mais uma ferramenta de pesquisa. Também não tem velocidade de execução, a menos que as operações estejam veturizadas.
Eu agrupei o Python sob este título, embora ele esteja em algum lugar entre MATLAB, R e as linguagens de propósito geral acima mencionadas. É gratuito, open-source e cross-platform. É interpretado em oposição ao compilado, o que o torna nativamente mais lento que o C ++. No entanto, contém uma biblioteca para executar quase qualquer tarefa imaginável, desde a computação científica até o design de servidor web de baixo nível. Em particular, contém NumPy, SciPy, pandas, matplotlib e scikit-learn, que fornecem um ambiente de pesquisa numérica robusto que quando vectorizado é comparável à velocidade de execução da linguagem compilada.
Python também possui bibliotecas para se conectar a corretoras. Isso faz com que seja um "balcão único" para criar um ambiente de execução de backtesting e execução ao longo do evento, sem ter que entrar em outras linguas mais complexas. A velocidade de execução é mais do que suficiente para comerciantes intradiários negociando na escala de tempo de minutos e acima. Python é muito fácil de escolher e aprender quando comparado a linguagens de nível inferior como o C ++. Por estas razões, fazemos uso extensivo do Python nos artigos QuantStart.
Ambientes de Desenvolvimento Integrados.
O termo IDE tem vários significados dentro de negociação algorítmica. Os desenvolvedores de software usam isso para significar uma GUI que permite a programação com destaque de sintaxe, navegação de arquivos, depuração e recursos de execução de código. Os comerciantes algorítmicos usam isso para significar um ambiente de backtesting / trading totalmente integrado com download histórico histórico ou em tempo real, gráficos, avaliação estatística e execução ao vivo. Para nossos propósitos, eu uso o termo para significar qualquer ambiente de backtest / trading, muitas vezes baseado em GUI, que não é considerado uma linguagem de programação de propósito geral.
Enquanto alguns comerciantes quant consideram o Excel ser inapropriado para negociação, achei que fosse extremamente útil para a "verificação de sanidade" dos resultados. O fato de que todos os dados estão diretamente disponíveis em vista clara torna direto implementar estratégias de sinal / filtro muito básicas. Brokerages como Interactive Brokers também permitem plugins DDE que permitem que o Excel receba dados de mercado em tempo real e execute ordens comerciais.
Apesar da facilidade de uso, o Excel é extremamente lento para qualquer escala de dados razoável ou nível de computação numérica. Eu só uso isso para verificar erros ao desenvolver contra outras estratégias. Em particular, é extremamente útil para verificar se uma estratégia está sujeita a viés de frente. Isso é fácil de detectar no Excel devido à natureza da planilha do software.
Se você está desconfortável com as linguagens de programação e está realizando uma estratégia de interdição, o Excel pode ser uma boa escolha.
Software de Backtesting Comercial / Varejo.
O mercado de gráficos de varejo, "análise técnica" e software de backtesting é extremamente competitivo. Os recursos oferecidos por esse software incluem gráficos em tempo real de preços, uma grande variedade de indicadores técnicos, idiomas personalizados e testes automatizados.
Alguns fornecedores fornecem uma solução tudo-em-um, como a TradeStation. A TradeStation é uma corretora online que produz software de negociação (também conhecido como TradeStation) que fornece a execução de ordens eletrônicas em várias classes de ativos. Atualmente, desconheço uma API direta para execução automática. Em vez disso, os pedidos devem ser colocados através do software GUI. Isso contrasta com os Interactive Brokers, que possuem uma interface de negociação mais simples (Trader WorkStation), mas oferecem suas API de execução de mercado / ordem de propriedade real em tempo real e uma interface FIX.
Outra plataforma extremamente popular é o MetaTrader, que é usado na troca de divisas para a criação de "Expert Advisors". Estes são scripts personalizados escritos em um idioma proprietário que podem ser usados ​​para negociação automatizada. Eu não tive muita experiência com a TradeStation ou MetaTrader, então não vou gastar muito tempo discutindo seus méritos.
Tais ferramentas são úteis se você não estiver confortável com o desenvolvimento de software em profundidade e deseja que muitos dos detalhes sejam atendidos. No entanto, com esses sistemas, muita flexibilidade é sacrificada e muitas vezes você está vinculado a uma única corretora.
Ferramentas de código aberto e baseadas na Web.
Os dois sistemas de backtesting baseados na web populares são aspáticos e QuantConnect. O primeiro faz uso de Python (e ZipLine, veja abaixo) enquanto o último utiliza C #. Ambos fornecem uma riqueza de dados históricos. Quantopian atualmente suporta negociação ao vivo com Interactive Brokers, enquanto a QuantConnect está trabalhando para negociação ao vivo.
A Algo-Trader é uma empresa com sede na Suíça que oferece uma licença aberta e uma licença comercial para o seu sistema. Pelo que posso reunir, a oferta parece bastante madura e tem muitos clientes institucionais. O sistema permite o backtesting histórico completo e o processamento complexo de eventos e eles se vinculam aos Interactive Brokers. A edição Enterprise oferece recursos substancialmente mais de alto desempenho.
A Marketcetera fornece um sistema de backtesting que pode amarrar em muitos outros idiomas, como Python e R, para aproveitar o código que você já tenha escrito. O "Estúdio de Estratégia" oferece a capacidade de escrever o código de backtesting, bem como algoritmos de execução otimizados e, posteriormente, a transição de um backtest histórico para o comércio de papel ao vivo. Eu não os usei antes.
ZipLine é a biblioteca Python que alimenta o serviço de Quantopian mencionado acima. É um ambiente de backtest totalmente desenvolvido por eventos e atualmente oferece suporte às ações dos Estados Unidos de forma minuciosa. Não usei extensivamente o ZipLine, mas conheço outros que acham que é uma boa ferramenta. Ainda há muitas áreas para melhorar, mas a equipe está constantemente trabalhando no projeto e é muito ativamente mantida.
Há também alguns projetos hospedados no Github / Google Code que você deseja examinar. Não passei muito tempo investigando-os. Tais projetos incluem OpenQuant, TradeLink e PyAlgoTrade.
Software institucional Backtesting.
Os sistemas de backtesting de nível institucional, como Deltix e QuantHouse, geralmente não são utilizados por comerciantes algorítmicos de varejo. As licenças de software geralmente estão bem fora do orçamento para infra-estrutura. Dito isto, esse software é amplamente utilizado por fundos quantitativos, casas comerciais comerciais, escritórios familiares e outros.
Os benefícios de tais sistemas são claros. Eles fornecem uma solução tudo-em-um para coleta de dados, desenvolvimento de estratégias, backtesting histórico e execução ao vivo em instrumentos únicos ou carteiras, até o nível de alta freqüência. Tais plataformas tiveram testes extensivos e muito uso "no campo" e, portanto, são considerados robustos.
Os sistemas são conduzidos por eventos e os ambientes de backtest podem, muitas vezes, simular os ambientes em tempo para um alto grau de precisão. Os sistemas também suportam algoritmos de execução otimizados, que tentam minimizar os custos de transação. Isso é particularmente útil para os comerciantes com uma base de capital maior.
Tenho que admitir que não tive muita experiência da Deltix ou da QuantHouse. Dito isto, o orçamento sozinho os coloca fora do alcance da maioria dos comerciantes de varejo, por isso não vou me deter sobre esses sistemas.
Colocação.
A paisagem do software para negociação algorítmica já foi pesquisada. Agora podemos voltar nossa atenção para a implementação do hardware que irá executar nossas estratégias.
Um comerciante de varejo provavelmente estará executando sua estratégia de casa durante as horas de mercado. Isso envolverá ligar o PC, conectar-se à corretora, atualizar o software de mercado e, em seguida, permitir que o algoritmo seja executado automaticamente durante o dia. Por outro lado, um fundo de quantia profissional com ativos significativos sob gerenciamento (AUM) terá uma infraestrutura dedicada de servidor de intercâmbio dedicada, a fim de reduzir a latência, na medida do possível, para executar suas estratégias de alta velocidade.
Home Desktop.
A abordagem mais simples para a implantação de hardware é simplesmente realizar uma estratégia algorítmica com um computador de mesa doméstico conectado à corretora através de uma conexão de banda larga (ou similar).
Embora esta abordagem seja direta para começar, ela sofre de muitas desvantagens. A máquina de mesa está sujeita a falhas de energia, a não ser que seja copiada por um no-break. Além disso, uma conexão à internet doméstica também está à mercê do ISP. A perda de energia ou a falha na conectividade com a internet podem ocorrer em um momento crucial na negociação, deixando o comerciante algorítmico com posições abertas que não podem ser fechadas. Este problema também ocorre com reinícios obrigatórios do sistema operacional (isso realmente aconteceu comigo em uma configuração profissional!) E falha de componente, o que leva aos mesmos problemas.
Pelas razões acima, hesito em recomendar uma abordagem de desktop doméstico para negociação algorítmica. Se você decidir seguir essa abordagem, certifique-se de ter um computador de backup e uma conexão de rede de backup (por exemplo, um dongle 3G) que você pode usar para fechar as posições em uma situação de tempo de inatividade.
O próximo nível a partir de uma área de trabalho doméstica é fazer uso de um servidor virtual privado (VPS). Um VPS é um sistema de servidor remoto, muitas vezes comercializado como um serviço "nuvem". Eles são muito mais baratos do que um servidor dedicado correspondente, uma vez que um VPS é na verdade uma partição de um servidor muito maior. Possuem um ambiente de sistema operacional isolado e virtual, exclusivamente disponível para cada usuário individual. A carga da CPU é compartilhada entre vários VPS e uma parte dos sistemas. A RAM é alocada ao VPS. Tudo isso é realizado através de um processo conhecido como virtualização.
Os provedores VPS comuns incluem Amazon EC2 e Rackspace Cloud. Eles fornecem sistemas de nível de entrada com baixa RAM e uso básico de CPU através de alta memória RAM, servidores de alta CPU. Para a maioria dos comerciantes de varejo algorítmicos, os sistemas de nível de entrada são suficientes para estratégias intradias de baixa freqüência ou estratégias intermediárias e bancos de dados de dados históricos menores.
Os benefícios de um sistema baseado em VPS incluem disponibilidade 24/7 (embora com um certo tempo de inatividade realista!), Capacidades de monitoramento mais robustas, "plugins" fáceis para serviços adicionais, como armazenamento de arquivos ou bancos de dados gerenciados e uma arquitetura flexível. Uma desvantagem é a despesa em curso. À medida que o sistema aumenta, o hardware dedicado se torna mais barato por unidade de desempenho. Esse ponto de preço assume a colocação longe de uma troca.
Em comparação com a latência do sistema de desktop doméstico, nem sempre é melhorada ao escolher um provedor de VPS. A sua localização em casa pode estar mais perto de uma troca financeira específica do que os data centers do seu provedor de nuvem. Isso é atenuado pela escolha de uma empresa que presta serviços VPS direcionados especificamente para negociação algorítmica, que estão localizadas em ou perto de trocas. Estes provavelmente custarão mais do que um provedor de VPS genérico, como Amazon ou Rackspace.
Colocação de troca.
Para obter a melhor minimização de latência, é necessário colocar servidores dedicados diretamente no centro de dados de troca. Esta é uma opção proibitivamente cara para quase todos os comerciantes algorítmicos de varejo, a menos que eles estejam muito bem capitalizados. É realmente o domínio do fundo quantitativo profissional ou da corretora. Como mencionei acima, uma opção mais realista é comprar um sistema VPS de um provedor que está localizado perto de uma troca.
Como pode ser visto, há muitas opções para backtesting, execução automática e hospedagem de uma estratégia. Determinar a solução certa depende do orçamento, capacidade de programação, grau de personalização exigido, disponibilidade de classe de ativos e se a negociação deve ser realizada no varejo ou no profissional.
Apenas iniciando o comércio quantitativo?
3 razões para se inscrever na QuantStart List:
1. Quant Trading Lessons.
Você terá acesso instantâneo a um curso gratuito de 10 partes, com sugestões e dicas para ajudá-lo a começar a negociação quantitativa!
2. Todo o conteúdo mais recente.
Todas as semanas, vou enviar-lhe um envoltório de todas as atividades no QuantStart para que você nunca mais perca uma postagem novamente.
Real, dicas de negociação viáveis, sem tonturas.

Estratégias de negociação java
Bem-vindo ao Home of the Open Java Trading System.
O Open Java Trading System (OJTS) é uma infra-estrutura comum para desenvolver sistemas de negociação de ações. Consiste em quatro partes: a coleta de dados brutos pela internet, o reconhecimento da negociação marca um módulo de visualização e módulos para se conectar às interfaces programáticas das plataformas de negociação, como os bancos. O objetivo do projeto é fornecer uma infra-estrutura comum independente (independente de plataforma) autônoma para desenvolvedores de sistemas de negociação. Alguns dos aspectos que devem ser abordados são fornecer um esquema comum de banco de dados compatível com SQL92 para armazenar dados financeiros, interfaces Java comuns para como trocar dados entre diferentes módulos, visualização de dados financeiros brutos e sinais comerciais e vários outros aspectos comuns necessários para criar um sistema comercial final.
Por causa do meu trabalho e da minha família, não consigo mais tempo para melhorar o OJTS. Estou continuando a atualizar a seção de links abaixo que irá orientá-lo para projetos mais ativos de código aberto java nessa área, no entanto.
Na verdade, como consequência do meu interesse pela dinâmica dos mercados de ações, comecei uma jornada nos detalhes mais profundos da economia nacional para entender as taxas de câmbio. Este tópico finalmente me leva a um estudo mais profundo do dinheiro em si como a unidade métrica que usamos em economia para medir "valor", "sucesso" ou "utilidade". Este tópico revelou-se extremamente interessante, mas ao mesmo tempo era muito difícil encontrar informações sobre o funcionamento do nosso sistema monetário. Vá ao redor e pergunte às pessoas de onde vem o dinheiro, quem o cria e o que determina seu valor. Você notará que mesmo as pessoas que têm um mestrado ou um doutorado. na economia não conhecerá esses detalhes. Oh, sim, eles responderão em termos técnicos crípticos, mas não poderão desenhar um diagrama simples que descreva o processo.
H. G. Wells disse ter dito:
"Escrever a moeda é geralmente reconhecido como uma prática censurável, de fato quase indecente. Os editores imploram ao escritor quase lágrima não escrever sobre dinheiro, não porque seja um assunto desinteressante, mas porque sempre foi profundamente perturbador ".
Eu sugiro a qualquer pessoa que viva em uma sociedade democrática para ler sobre este assunto. Isso afeta nossas vidas todos os dias até certo ponto que não pode ser exagerado! Na minha opinião, todos os cidadãos de um país democrático nesse mundo devem saber de onde o nosso dinheiro vem. Provavelmente você veio a este site para procurar ferramentas que o ajudem a aumentar sua riqueza monetária. Para entender a unidade métrica "dinheiro" (não importa se Dollar ou Euro) será um ingrediente importante no seu toolkit para ganhar dinheiro.
Se você tem pouco tempo e só pode dar ao luxo de ler um único livro sobre esse assunto, então sugiro que você leia Riqueza, Riqueza Virtual e Dívida por Frederick Soddy. Eu consegui comprar uma cópia usada via Amazon por US $ 23,48, mas existe também uma versão online. Você precisará do plugin DjVu para lê-lo. Este livro foi publicado originalmente em 1929, mas ainda descreve os fatos reais muito bem. Mesmo que eu não concorde com todas as conclusões de Frederick Soddy, seu trabalho é provável e provoca que você faça as perguntas corretas.
Lançamentos, Bugfixes e Documentação atualizada.
Estou investigando como tornar a OJTS mais compatível com outros esforços do sistema de comércio java.
Existe um novo wiki disponível no ITSdoc. org com foco na distribuição de conhecimento no domínio dos sistemas de investimento e comercialização. A idéia por trás do ITSdoc. org é ter uma plataforma de colaboração semelhante à wikipedia, ajudando a comunidade a compartilhar conhecimento.
Ontem eu publiquei a Versão 0.13 da biblioteca do OpenJavaTradingSystem. Entre os novos recursos estão: Recuperação de dados para ações, fundos e moedas da OnVista. Implementação de movimentação de moeda e conversões. As carteiras são implementadas e você pode trabalhar com Portfolios da mesma forma que com itens de papel de segurança simples. Adicionado uma estrutura geral para a aplicação de algoritmos para as séries temporárias do mercado de ações. Alternou do shell interativo SISC / Scheme para ABCL / CommonLisp plus seu editor chamado "J". Adicionado um mecanismo geral de cache de dados para armazenar dados que já foram recuperados na web no sistema de arquivos. Além de mais algumas melhorias menores Se você estiver interessado nesta nova versão, você deve começar na seção quickstart / screenshot. O manual ainda não está atualizado, mas pode dar-lhe, no entanto, algumas informações de fundo valiosas se você deseja usar a biblioteca em seu projeto. A documentação deve ser atualizada em breve.
D o c u m e n t a t i o n.
Documentos que descrevem os internos do projeto. Java Data Objects e documentação da interface.
& gt; & gt; HTML & gt; & gt; PDF Investment and Trading System Documentation Project.
T e c h n o l o g y.
Blocos de construção de terceiros utilizados neste projeto.
O HSQLDB é o mecanismo de banco de dados fornecido com o projeto para que você possa começar imediatamente a usar o OJTS sem instalar um banco de dados de terceiros. Mas se você planeja usar outro banco de dados compatível com SQL92, então esta é uma opção de configuração. Castor (licença: a licença Exolab)
Castor é uma estrutura de ligação de dados de código aberto para Java [tm]. É o caminho mais curto entre objetos Java, documentos XML e tabelas relacionais. A Castor fornece ligação Java-to-XML, a persistência Java-to-SQL e muito mais. Castor Doclet (licença: GNU LGPL v2.1)
Doclet de Java para gerar mapeamento e arquivos DDL para Castor JDO e Castor XML. TestMaker (licença: TestMaker Open-Source License)
Do projeto TestMaker, apenas a implementação dos protocolos como HTTP ou HTTPS é usada para coletar dados da web. jCookie (licença: GNU LGPL v2.1)
A biblioteca jCookie é necessária para que as bibliotecas do TestMaker funcionem. htmlparser (licença: GNU LGPL v2.1)
A biblioteca htmlparser é usada para extrair os dados dos recursos da Web. ABCL / CommonLisp (licença: GNU GPL v2)
ABCL (Armed Bear Common Lisp) é usado para implementar o coração algorítmico do projeto na linguagem de programação comum ANSI Common Lisp. JFreeChart (licença: GNU LGPL v2.1)
O JFreeChart é usado para a visualização de dados financeiros como gráficos. JSci (licença: GNU LGPL v2.1)
O Joda Time substitui as classes JDK Data e Time originais.
Links para outros projetos.
O grupo Google JavaTraders pode ser a melhor entrada para você descobrir mais sobre outros sistemas e ferramentas comerciais com base em Java.
O código do projeto está licenciado nos termos da LGPL e toda a documentação que você encontra neste projeto está licenciada nos termos da FDL.

No comments:

Post a Comment