Thursday, 29 March 2018

Sistema de comércio scala


Sistema de comércio scala
Obter através da App Store Leia esta publicação em nosso aplicativo!
Scala é usado em sistemas de negociação.
Tenho curiosidade sobre a computação de alto desempenho e considero a troca de algo / programa como uma fonte interessante de informações sobre quais são as tecnologias performantes que são usadas para negociar os mercados.
Escala está sendo usada lá fora? É uma linguagem viável para uma loja de suporte inicial? Seria considerado uma linguagem vantajosa dado que é uma sintaxe mais expressiva (e, portanto, menos código) em comparação com java / c ++, mas seja tão rápido?
Em geral, muitas instituições financeiras usam linguagens de programação funcionais. Andrei é correto porque muitas vezes eles são usados ​​para desenvolver linguagens específicas de domínio (DSLs).
O Credit Suisse usa F # cufp. org/archive/2008/abstracts. html#MansellHoward (eles jogaram com Haskell um pouco para criar uma DSL chamada Paradise urchin. earth. li/
Uma lista "completa" pode ser encontrada explorando os procedimentos dos usuários comerciais dos procedimentos da oficina de programação funcional: cufp. org/conference.
Se você é inteligente sobre a criação da DSL, os programas que você escreve podem realmente ter um melhor desempenho porque você pode executar otimizações de compilação mais inteligentes (por exemplo, infoscience. epfl. ch/record/148814/files/paper. pdf)
Uma última nota, uma vez que Scala visa a JVM, você sempre pode integrar o código Java e Scala (ou mesmo fazer chamadas nativas para o código C ++ via Java Native Interface).
Podemos jogar essas guerras de linguagem até os porcos voarem, mas há algumas coisas muito básicas sobre as quais a maioria das pessoas concorda:
Como já foi dito, C ++ é o idioma padrão em que o desempenho é realmente importante (e o Java vem em segundo lugar). Um exemplo de como isso aparece: C ++ é ministrado no certificado Wilmott quant finance e em programas MFE. Também aparece o mais frequentemente em postagens de trabalho. Para outras áreas, onde o desempenho é a principal prioridade, uma grande variedade de outras línguas, sem dúvida, se usam. Por exemplo, Jane Street é muito pública sobre a implementação de OCaml. Muitos hedge funds usam linguagens como R, matlab e Python, mesmo em seus ambientes de produção.
As empresas estão usando Scala? Provavelmente. Você quer se tornar um especialista em Scala na esperança de usá-lo em financiamento quantitativo? Não é uma boa aposta.
Empirics deve contar para algo, e o (impressionante) Language Shootout mostra que o C ++ ainda muito claramente domina o Scala no tempo de execução e no uso da memória - embora o Scala pareça melhor no tamanho do código.
Lojas que têm investimento existente em Java, como Scala, como um Java de próxima geração, dado que o último não se moveu muito tarde. Eu também ouvi algumas startups apostando nisso. Eu não estou no campo de Java, então meu dinheiro ainda está no C ++ (especialmente quando o desempenho realmente interessa).
Minha empresa atualmente usa Scala para todos os novos projetos em negociação algorítmica. Também temos uma aplicação interna de gerenciamento / monitoramento de portfólio escrita em Scala (com a estrutura web Circumflex).
Sim, é usado. No entanto, o objetivo por agora é principalmente limitado pela criação de Idiomas específicos de domínio para prototipagem por causa da fácil integração com a infra-estrutura existente em Java. Aqui, Scala também compete com outra linguagem baseada em JVM - Groovy e F # por causa de sua interação relativamente fácil com o Excel.
No meu melhor conhecimento, não há implementação Scala de plataformas de execução. C / C ++ ainda é o idioma escolhido para aplicações financeiras de missão crítica, seguido por Java, para as lojas mais recentes que não tinham o peso de muito código C ++ legado. Não consigo imaginar Scala segurando, dado que é mais lento e não tão robusto quanto C ++ e Java.
Para UI, tudo é jogo justo, de Java para Python para C # para Ruby. Mas escolher a linguagem correta de uma UI nunca foi a vantagem competitiva de qualquer empresa de investimento, acredito.

Sistema de comércio scala
Obter através da App Store Leia esta publicação em nosso aplicativo!
Negociação de alta freqüência na JVM com Scala / Akka.
Imagine um sistema HFT hipotético em Java, exigindo (muito) baixa latência, com muitos objetos pequenos de curta duração um pouco devido à imutabilidade (Scala?), Milhares de conexões por segundo e um número obsceno de mensagens que circulam em um Arquitetura baseada em eventos (akka e amqp?).
Para os especialistas lá fora, o que seria (hipoteticamente) o melhor ajuste para JVM 7? Que tipo de código faria feliz? Scala e Akka estarão prontos para este tipo de sistemas?
Nota: houve algumas perguntas semelhantes, como esta, mas ainda tenho encontrado uma cobertura Scala (que tem sua própria pegada idiossincrática na JVM).
No meu laptop, a latência média das mensagens de ping entre os atores Akka 2.3.7 é.
300ns e é muito menor do que a latência esperada devido a pausas GC em JVMs.
Código (incluindo opções JVM) e amp; resultados de teste para Akka e outros atores no Intel Core i7-2640M aqui.
P. S. Você pode encontrar muitos princípios e dicas para computação de baixa latência no site de Dmitry Vyukov e no blog de Martin Thompson.
É possível alcançar um desempenho muito bom em Java. No entanto, a questão precisa ser mais específica para fornecer uma resposta credível. Suas principais fontes de latência virão de seguir a lista não exaustiva:
Quanto lixo você cria e o trabalho do GC para coletá-lo e promovê-lo. Projetos imutáveis ​​na minha experiência não se encaixam bem com baixa latência. O ajuste do GC precisa ser um grande foco.
Aqueça a JVM para que as classes sejam carregadas e o JIT tenha tido tempo para fazer seu trabalho.
Desenhe seus algoritmos para ser O (1) ou pelo menos O (log2 n), e ter testes de desempenho que afirmam isso.
Seu design precisa ser livre de bloqueio e seguir o "Princípio do Único Escritor".
Um esforço significativo deve ser levado a entender a pilha inteira e demonstrar simpatia mecânica em seu uso.
Desenhe seus algoritmos e estruturas de dados para serem amigáveis ​​com o cache. As falhas de cache agora são o maior custo. Isso está intimamente relacionado com a afinidade do processo que, se não configurado corretamente, pode resultar e poluição significativa do cache. Isso envolverá simpatia pelo sistema operacional e até mesmo algum código JNI em alguns casos.
Certifique-se de ter núcleos suficientes para que qualquer thread que precisa ser executado tenha um núcleo disponível sem ter que esperar.
Recentemente bloguei sobre um estudo de caso de tal exercício.
Você pode achar que o uso de um buffer de toque para a passagem de mensagens superará o que pode ser feito com o Akka. A principal implementação do buffer de anel que as pessoas usam na JVM para aplicações financeiras é chamada de Disruptor, que é cuidadosamente sintonizado para eficiência (potência de dois tamanhos), para a JVM (sem GC, sem bloqueios) e para CPUs modernas (sem compartilhamento falso de linhas de cache).

PipelineDB - scala - sistema de negociação.
Orçamento € 12-18 EUR / hora.
Freelancer Jobs Scala PipelineDB - scala - sistema de negociação.
Você deve ser um desenvolvedor de scala experiente. A programação funcional deve ser o foco principal.
Experiências com Postgresql / pipelineDB, slick ([url removido, login para visualizar]), a API InteractiveBrokers seria recomendada. Um entendimento básico de como os dados do mercado financeiro são acumulados também seria vantajoso.
A estrutura básica seria discutida em um contato direto.
Procurando por algum dinheiro?
Defina seu orçamento e prazo.
Delineie sua proposta.
Seja pago pelo seu trabalho.
É grátis para se inscrever e oferecer em trabalhos.
6 freelancers estão oferecendo em média € 18 / hora para este trabalho.
Uma proposta ainda não foi fornecida.
Eu sou um experiente em Scala / Java, programador de javascript com um grau de engenharia em tecnologia da informação. Com a minha experiência em produtos e serviços de TI, eu poderei fornecer ajuda profissional para você.
Não consigo dedicar 35 horas por semana e só posso comprometer-me a 10 horas / semana, mas dada a minha experiência e experiência, posso ajudá-lo a concluir este projeto mais rapidamente. Tenho um conhecimento significativo sobre os mercados financeiros com base em Mais.
Uma proposta ainda não foi fornecida.
Uma proposta ainda não foi fornecida.
Trabalhou mais de 4 projetos em Scala usando framework play. 2+ anos de experiência em programação. Tenha conhecimento sobre Java e My SQL.
Procurando por algum dinheiro?
Defina seu orçamento e prazo.
Delineie sua proposta.
Seja pago pelo seu trabalho.
É grátis para se inscrever e oferecer em trabalhos.
Trabalhos semelhantes.
Precisa contratar um freelancer para um emprego?
É grátis para se inscrever, digite o que você precisa e amp; receba orçamentos gratuitos em segundos.
Inglês - EUA (Internacional)
Trabalhador autonomo.
Termos.
Freelancer & reg; é uma marca registada da Freelancer Technology Pty Limited (ACN 142 189 759)
Direitos autorais e cópia; 2017 Freelancer Technology Pty Limited (ACN 142 189 759)

Sistema de comércio scala
Puxe pedidos 0.
Participe do GitHub hoje.
O GitHub é o lar de mais de 20 milhões de desenvolvedores que trabalham juntos para hospedar e rever o código, gerenciar projetos e criar software juntos.
Clone com HTTPS.
Use o Git ou o check-out com o SVN usando o URL da web.
Scala Backtesting + Live Trading Framework, construído no topo da Akka / Spray.
Esta estrutura pode ser útil para pessoas que vêm do Scala background, que estão fazendo seus primeiros passos nas estratégias de negociação automáticas de back / live testando a API REST da Oanda, que é, na minha opinião, uma das melhores API de varejo disponíveis. Uma vez que este é um trabalho em progresso, se você é um entusiasta da Scala e está interessado em negociação automatizada, tenha uma olhada e sinta-se livre para repo e contribua!
Basta clonar o repo e deixar sua lógica comercial em StrategyFSM. scala. Não se esqueça de modificar AuthInfo. scala para incluir sua própria ID da conta e token de acesso para a API REST da Oanda.
Nota: Se você está simplesmente procurando uma maneira de se conectar à Oanda REST API usando Scala / Akka, confira meu projeto Scalanda.
&cópia de; 2017 GitHub, Inc. Termos Privacidade Segurança Status Ajuda.
Você não pode executar essa ação neste momento.
Você fez login com outra guia ou janela. Recarregue para atualizar sua sessão. Você se separou em outra guia ou janela. Recarregue para atualizar sua sessão.

No comments:

Post a Comment