Thursday 30 November 2017

Sistema de comércio ocaml


Eu sou completamente novo no domínio de Algorithmic Trading. Acabei de completar um curso baseado em Ocaml e lido sobre Jane Street. Obviamente, eles são uma grande empresa com uma grande quantidade de recursos, mas é viável usar Ocaml para negociação algorítmica de tempo pequeno. Eu sei que provavelmente parece uma pergunta estúpida, mas (do que existe) não há nenhuma API de negociação para a Ocaml. Isso significaria que um teria que escrever do zero correto. Qualquer visão seria muito apreciada, como eu disse, eu sou um novato completo neste domínio. Perguntou 19 de abril 13 às 15:12 fechado como fora do tópico por chrisaycock. Martin clayton. Luc M. Dan Esparza. Peter O. 19 de abril 13 às 17:54 Perguntas sobre o estouro de pilha devem se relacionar com a programação dentro do escopo definido pela comunidade. Considere editar a questão ou deixar comentários para melhorar se você acredita que a questão pode ser reformulada para se adequar ao escopo. Leia mais sobre a reabertura de perguntas aqui. Se esta questão pode ser reformulada para se ajustar às regras na Central de Ajuda. Edite a pergunta. Instalar OCaml A versão mais recente do OCaml é 4.04.0. Para obter mais informações sobre esta versão, consulte a página 4.04.0. O compilador e as bibliotecas do OCaml podem ser instalados de várias maneiras: para encontrar e instalar bibliotecas OCaml, veja a página das bibliotecas. Informações sobre as diferentes versões do OCaml estão disponíveis na página de lançamentos. O OPAM é o gerenciador de pacotes do OCaml. É a maneira recomendada de instalar o compilador OCaml e os pacotes OCaml. Basta seguir as instruções de instalação do OPAM. A maioria das distribuições Linux permite que OCaml e ou OPAM sejam instalados diretamente através do gerenciador de pacotes do sistema. Outros pacotes Debian relacionados ao OCaml estão listados aqui. Eles são disponibilizados através da Política de Embalagem Debian OCaml. Outros pacotes do Ubuntu relacionados ao OCaml estão listados aqui. Os depósitos oficiais do Ubuntu geralmente ficam devagar atrás dos últimos lançamentos oficiais de OCaml e OPAM. Versões mais recentes são disponibilizadas nestes PPAs. Eles podem ser instalados com: Por favor, note que os PPAs não são revisados ​​pelo time de segurança do Ubuntu e você está confiando no distribuidor do PPA39, adicionando-os ao seu sistema. Os pacotes OCaml são embalados de acordo com esta política. Existe um Grupo de Interesse Especial de OCaml e uma lista de correspondência para pessoas interessadas em OCaml no Fedora ou Red Hat Enterprise Linux. Com um usuário que é um membro do grupo de portage, faça: No Windows, as seguintes soluções diretas estão disponíveis para usar OCaml: Distribuição oficial da OCaml. Um auto instalador com uma versão preliminar do OPAM para Windows. OCPWin é uma distribuição binária autônoma de OCaml para Windows. Alguns recursos adicionais foram adicionados ao OCaml para melhor suporte ao Windows, como a detecção automática de MSVC e suporte para MSVC 9.0, 10.0, 11.0, 12.0 e 14.0 (VS2017). OCaml para Windows fornece um repositório experimental de OPAM e compilação de opam para o Windows. Aqui estão algumas outras alternativas: a distribuição de origem OCaml suporta diretamente muitas portas diferentes do Windows. Você terá que compilar a partir da fonte. Veja o arquivo README. win32 incluído na distribuição para obter detalhes. Use o Bash no Windows e instale o OCaml como no Ubuntu. Principais versões do OCaml e trabalho do OPAM. A desvantagem deste método é que você não cria binários nativos do Windows, mas binários do Linux. Porta baseada em Cygwin. Requer Cygwin, você pode instalá-los usando a ferramenta de configuração. Os compiladores geram executáveis ​​que requerem Cygwin (cygwin1.dll). As páginas a seguir permitem experimentar diretamente os fragmentos do OCaml no seu navegador: da Fonte Baixe uma versão do OCaml ou a versão de desenvolvimento e siga as instruções nele incluídas. Código Exemplos O OCaml possui um sistema interativo. Chamado toploop, que permite que você digite o código OCaml e que seja avaliado imediatamente. É uma ótima maneira de aprender o idioma e de experimentar rapidamente as idéias. Abaixo, demonstramos o uso do toploop para ilustrar as capacidades básicas do idioma. Algumas indicações para o código abaixo. O prompt no qual você digita é. O código deve terminar com (isto é apenas uma indicação para o sistema interativo de que a entrada deve ser avaliada e não faz parte do código OCaml). A saída do sistema é exibida nesta cor. Mais exemplos de código estão disponíveis nos seguintes sites: Funções elementares Defina a função quadrada e a função fatorial recursiva. Em seguida, deixe-nos aplicar essas funções para amostrar valores. Ao contrário da maioria dos idiomas, OCaml usa parênteses para agrupar, mas não para os argumentos de uma função. Gerenciamento automático de memória Todas as operações de alocação e desalocação são totalmente automáticas. Por exemplo, considere simplesmente listas vinculadas. As listas estão predefinidas no OCaml. A lista vazia está escrita. O construtor que permite a pré-adição de um elemento a uma lista é escrito. (Na forma infix). Polimorfismo: listas de classificação O tipo de inserção é definido usando duas funções recursivas. Observe que o tipo de elementos da lista permanece não especificado: é representado por uma variável de tipo 39a. Assim, classificar pode ser aplicado tanto a uma lista de números inteiros quanto a uma lista de strings. Características imperativas Vamos codificar polinômios como matrizes de coeficientes inteiros. Então, para adicionar dois polinômios, primeiro alocamos a matriz de resultados e, em seguida, preenchemos seus slots usando dois sucessivos loops. OCaml oferece células de memória atualizáveis, chamadas referências. Ref init retorna uma nova célula com o conteúdo inicial init. A célula retorna o conteúdo atual da célula. E célula: v escreve o valor v na célula. Podemos redefinir o fato usando uma célula de referência e um loop for: Funções de ordem superior Não há restrição nas funções, que podem ser passadas como argumentos para outras funções. Vamos definir uma função sigma que retorna a soma dos resultados da aplicação de uma determinada função f para cada elemento de uma lista: funções anônimas podem ser definidas usando a construção funcional ou funcional: o polimorfismo e as funções de ordem superior permitem definir a composição da função na sua Forma mais geral: o poder das funções O poder das funções não pode ser melhor ilustrado do que pela função de poder: a n derivada de uma função pode ser calculada como na matemática, elevando a função derivada para a n-ésima potência: computação simbólica Deixe-nos Considere expressões simbólicas simples constituídas por inteiros, variáveis, ligações e operadores binários. Essas expressões podem ser definidas como um novo tipo de dados, da seguinte forma: a avaliação dessas expressões envolve um ambiente que mapeia identificadores para valores, representados como uma lista de pares. Como exemplo, avaliamos a frase, vamos x 1 em x x: A correspondência de padrões facilita a definição de funções que operam em dados simbólicos, ao dar definições de função e declarações de tipos de formas semelhantes. Na verdade, observe a semelhança entre a definição da função eval e a do tipo de expressão. Depuração elementar Para concluir, aqui está a maneira mais simples de espionagem sobre funções:

No comments:

Post a Comment