Saturday 12 August 2017

Quantitative Trading Strategies In R


Quantitative Trading with R ISBN 978-1-137-43747-1 Digital watermarked, DRM livre Formato incluído: PDF, EPUB ebooks pode ser usado em todos os dispositivos de leitura Download imediatamente após a compra Hardcover 75,00 preço para o México ISBN 978-1-137- 35407-5 Frete grátis para indivíduos no mundo Em geral, enviados dentro de 3 a 5 dias úteis. Softcover 70,00 preço para o México ISBN 978-1-349-46986-4 Frete grátis para indivíduos no mundo inteiro Este título está atualmente reimpressão. Você pode pré-encomendar sua cópia agora. Este post irá introduzir componente valor condicional em mecânica de risco encontrados em PerformanceAnalytics de um documento escrito por Brian Peterson, Kris Boudt e Peter Carl. Trata-se de um mecanismo que é um mecanismo fácil de chamar para calcular a insuficiência esperada do componente nos retornos dos ativos, conforme eles se aplicam a um portfólio. Enquanto a mecânica exata é bastante complexa, a vantagem é que o tempo de execução é quase instantânea, e este método é uma ferramenta sólida para incluir na análise de alocação de ativos. Para aqueles interessados ​​em uma análise aprofundada da intuição do componente valor condicional em risco, eu os encaminhar para o trabalho escrito por Brian Peterson, Peter Carl, e Kris Boudt. Essencialmente, aqui t demasiado extrema (isto é, trabalha para valores relativamente sãos de p como o intervalo 1 -10). O Valor Condicional em Risco do Componente tem dois usos: primeiro, sem pesos de entrada, usa um padrão de peso igual, o que lhe permite fornecer uma estimativa de risco para cada ativo individual sem sobrecarregar o pesquisador para criar sua própria heurística de correlação / covariância . Em segundo lugar, quando fornecido com um conjunto de pesos, a produção muda para refletir a contribuição de vários ativos na proporção desses pesos. Isso significa que essa metodologia funciona muito bem com estratégias que excluem ativos com base na dinâmica, mas precisam de um esquema de ponderação para os ativos restantes. Além disso, o uso desta metodologia também permite uma análise ex-post da contribuição de risco para ver qual instrumento contribuiu o que para o risco. Primeiro, uma demonstração de como o mecanismo funciona usando o conjunto de dados edhec. Não há estratégia aqui, apenas uma demonstração de sintaxe. Isso assumirá uma contribuição de igual peso de todos os fundos no conjunto de dados edhec. Portanto tmp é a contribuição para o déficit esperado de cada um dos vários gerentes edhec durante todo o período de tempo. Aqui está a saída: A parte saliente desta é a contribuição percentual (a última saída). Observe que pode ser negativo, o que significa que certos fundos ganham quando outros perdem. Pelo menos, este foi o caso sobre o conjunto de dados atual. Esses ativos diversificam uma carteira e, na verdade, reduzem o déficit esperado. Neste caso, eu ponderou igualmente os primeiros dez gerentes no conjunto de dados edhec, e colocar peso zero nos últimos três. Além disso, podemos ver o que acontece quando os pesos não são iguais. Desta vez, repare que à medida que o peso aumentava no gestor arbitral conversível, a sua contribuição para o défice máximo esperado também aumentou. Para um backtest futuro, eu gostaria de fazer algumas solicitações de dados. Gostaria de usar o universo encontrado no livro Global Asset Allocation da Faber. Dito isto, as simulações nesse livro voltam a 1972, e eu queria saber se alguém lá fora tem retornos diários para esses ativos / índices. Enquanto alguns ETFs voltam ao início de 2000, há alguns que começam um pouco tarde, como DBC (commodities, início de 2006), GLD (ouro, início de 2004), BWX (títulos estrangeiros, finais de 2007) e FTY (NAREIT, início 2007). Como um teste de oito anos seria um pouco curto, eu queria saber se alguém tinha dados com mais história. Outra coisa, vou em Nova York para a feira. E falando no painel em 6 de outubro. Obrigado pela leitura. NOTA: Enquanto estou atualmente contratando, também estou procurando uma posição permanente que pode se beneficiar de minhas habilidades para quando meu contrato atual termina. Se você tiver ou estiver ciente de tal abertura, eu ficarei feliz em falar com você. Este post cobrirá uma função para simplificar a criação de estratégias de reequilíbrio tipo Harry Long da SeekingAlpha para leitores interessados. Como Harry Long afirmou, a maioria, se não todas as suas estratégias são mais para fins demonstrativos ao invés de reais investimentos recomendados. Assim, desde que Harry Long tem postado mais artigos sobre o Seeknig Alpha, eu simplesmente colocarei esta ferramenta aqui, que é um wrapper que automatiza a aquisição de dados e simula o rebalanceamento de portfólio com uma linha de código. Aqui está a ferramenta. Ele obtém os dados para você (geralmente do Yahoo, mas um grande obrigado ao Sr. Helumth Vollmeier no caso de ZIV e VXX), e tem a opção de simplesmente exibir uma curva de equidade e algumas estatísticas (CAGR, padrão anualizado dev , Sharpe, Drawdown máximo, Calmar), ou dando-lhe o fluxo de retorno como uma saída se você deseja fazer mais análise em R. Aqui s artigos. Nada fora do comum do que poderíamos esperar de uma carteira equilibrada de acções / obrigações. Geralmente faz bem, tem a sua maior retirada na crise financeira, e alguns outros solavancos na estrada, mas no geral, eu tipo de coisa. E aqui seria a maneira de obter o fluxo de retornos diários individuais, supondo que você queria reequilibrar esses dois instrumentos semanalmente, em vez de anualmente (como é o padrão). E agora vamos obter algumas estatísticas. Acontece, movendo o reequilíbrio de anual para semanal didn t). Então, isso é início. O truque, na minha opinião, é tentar encontrar substitutos de proxy com histórias mais longas para ETFs mais novos que são ETFs simplesmente alavancados, como usar um peso 60 em TLT com um peso 80 em XLP em vez de um peso 20 em TMF com 80 alocação Em SPLV. Dito isso, eu recomendo que os leitores da SeekingAlpha levem suas estratégias publicamente divulgadas como demonstrações de conceito, em oposição a idéias de investimento de pleno direito, e entre em contato com o Sr. Long Se sobre soluções mais personalizadas, privadas para instituições de investimento, se você está tão interessado. Obrigado pela leitura. NOTA: Atualmente estou no nordeste. Enquanto estou atualmente contratando, estou interessado em networking com indivíduos ou empresas com relação a oportunidades de colaboração potencial. Este post irá demonstrar como levar em conta o volume de negócios ao lidar com dados baseados em retorno usando PerformanceAnalytics ea função Return. Portfolio em R. Ele irá demonstrar isso em uma estratégia básica sobre os nove SPDRs do setor. Então, em primeiro lugar, isso é em resposta a uma pergunta feita por um Robert Wages na lista de discussão R-SIG-Finance. Embora existam muitos indivíduos lá fora, com uma infinidade de perguntas (muitas das quais podem ser encontradas para ser demonstrada neste blog já), ocasionalmente, haverá um veterano da indústria, um estudante de estatística de PhD de Stanford, ou outro indivíduo muito inteligente que Irá fazer uma pergunta sobre um tópico que eu ainda não toquei neste blog, o que levará um post a demonstrar outro aspecto técnico encontrado em R. Este é um daqueles tempos. Assim, esta demonstração será sobre o cálculo do volume de negócios no espaço de devolução usando o pacote PerformanceAnalytics. Simplesmente, fora do pacote PortfolioAnalytics, o PerformanceAnalytics com sua função Return. Portfolio é o pacote ir para R para simulações de gerenciamento de portfólio, pois pode levar um conjunto de pesos, um conjunto de retornos e gerar um conjunto de retornos de portfólio para análise Com o resto das funções do PerformanceAnalytics. Novamente, a estratégia é esta: pegue os 9 SPDRs de três letras do setor (já que existem ETFs de quatro letras agora) e, no final de cada mês, se o preço ajustado estiver acima de sua média móvel de 200 dias, invista nele . Normalize em todos os setores investidos (isto é, 1 / 9th se investido em todos os 9, 100 em 1 se somente 1 investido dentro, 100 dinheiro, denotado com um vetor zero do retorno, se nenhum setor é investido em). É o ponto da demonstração. Aqui está o código básico de configuração: Então, pegue os SPDRs, coloque-os juntos, calcule seus retornos, gere o sinal e crie o vetor zero, já que Return. Portfolio trata pesos menores que 1 como uma retirada e pesos acima de 1 como o Adição de mais capital (FYI grande aqui). Agora, aqui é como calcular o volume de negócios: Então, o truque é o seguinte: quando você chama Return. portfolio, use a opção verbose VERDADEIRO. Isso cria vários objetos, entre eles retornos, BOP. Weight e EOP. Weight. Estes estão para começo do peso do período, e fim do peso do período. A forma como o volume de negócios é calculado é simplesmente a diferença entre como o drift / retorno do dia para esse ativo. O novo início do período de peso é o fim do período peso mais qualquer transação que teria sido feito. Assim, para encontrar as transacções reais (ou volume de negócios), subtrai-se o peso anterior do fim do período desde o início do peso do período. Isso é o que essas transações parecem para esta estratégia. Algo que podemos fazer com esses dados é ter um ano de rolamento volume de negócios, realizado com o seguinte código: Parece que este: Isso significa essencialmente que um ano s valor de duas vias de rotatividade (ou seja, se a venda de um portfólio inteiramente investido É 100 volume de negócios, e comprar um conjunto totalmente novo de ativos é outro 100, então o volume de negócios bidirecional é 200) é de cerca de 800 no máximo. Isso pode ser bastante alto para algumas pessoas. Agora, aqui s o aplicativo quando você penalizar os custos de transação em 20 pontos base por ponto de porcentagem negociado (ou seja, custa 20 centavos para transacionar 100). Assim, a 20 pontos base em custos de transação, que leva cerca de um por cento em retornos por ano fora desta (reconhecidamente, terrível) estratégia. Isso está longe de ser insignificante. Então, é assim que você calcula o volume de negócios e os custos de transação. Neste caso, o modelo de custo de transação foi muito simples. No entanto, uma vez que Return. portfolio retorna transações no nível de ativos individuais, pode-se obter tão complexo quanto eles gostariam com a modelagem dos custos de transação. Obrigado pela leitura. NOTA: Eu estarei dando uma conversa de relâmpago em R / Finance, então para aqueles que participam, você será capaz de me encontrar lá. Este post descreverá um erro fácil de fazer na escrita de backtests vectorizados, ou seja, usando um sinal obtido no final de um período para entrar (ou sair) de uma posição nesse mesmo período. A diferença nos resultados que se obtém é maciça. Hoje, eu vi duas postagens separadas de Alpha Architect e Mike Harris referenciando um artigo de Valeriy Zakamulin sobre o fato de que alguma pesquisa anterior de tendência seguinte por Glabadanidis foi feita com resultados de má qualidade e que os resultados de Glabadanidis eram apenas reproduzíveis através da institucionalização do viés . O código a seguir mostra como reproduzir esse viés lookahead. Primeiro, a configuração de uma estratégia de média móvel básica no índice S P 500 de tão longe como os dados do Yahoo irá fornecer. E aqui está como instituir o viés lookahead. Estes são os: Claro, esta curva de equidade é inútil, por isso aqui é um em escala de log. Como pode ser visto, o viés do lookahead faz uma diferença enorme. Aqui estão os resultados numéricos: Novamente, absolutamente ridículo. Note que ao usar Return. Portfolio (a função em PerformanceAnalytics), esse pacote irá automaticamente dar-lhe os backtests próximo período que pode ser feito rapidamente usando operações vectorized, um erro off-by-one pode fazer toda a diferença entre um backtest no Reino do absurdo razoável e puro. No entanto, se um desejo de testar para o referido absurdo quando confrontados com resultados impossíveis de replicar, a mecânica demonstrada acima são a maneira de fazê-lo. Agora, em outras notícias: I é, sua estratégia de rotação de mercado global simples delineado em um artigo de um post anterior do blog. Até março de 2015 (a data da postagem no blog), a estratégia tinha se comportado bem. No entanto, após a referida data Foi um desastre completo, que, em retrospectiva, foi evidente quando eu passei através do processo de estrutura de desenvolvimento baseado em hipóteses que eu escrevi anteriormente. Assim, embora tenha havido um grande negócio escrito sobre não simplesmente jogar fora uma estratégia por curto prazo underperformance, e que anomalias como momentum e valor existem por causa do risco de carreira devido a curto prazo underperformance, nunca é um bom Coisa quando uma estratégia cria perdas historicamente grandes, particularmente depois de ser publicado em um canto tão humilde do mundo financeiro quantitativo. Em todo o caso, este era um borne que demonstra alguns mecânicos, e uma atualização em uma estratégia que eu blogged aproximadamente não há muito tempo. Obrigado pela leitura. NOTA: Estou sempre interessado em ouvir sobre novas oportunidades que podem se beneficiar da minha experiência, e estou sempre feliz em rede. Você pode encontrar meu perfil do LinkedIn aqui. Este post vai lançar luz sobre os valores de R 2s por trás de duas estratégias bastante simplista a 10 meses simples SMA, e seu relativo, o impulso de 10 meses (que é simplesmente uma diferença de SMAs, como Alpha Architect mostrou em seu livro DIY Financial Advisor. Não há muito tempo, um amigo meu chamado Josh me fez uma pergunta a respeito de R 2s em finanças. Ele gostaria de respondê-los. Sua afirmação é que em alguns casos, os modelos que têm menos poder perfeito preditivo (EG R 2s. 4, por exemplo), ainda podem apresentar previsões muito promissoras, e que se alguém tivesse um modelo financeiro que fosse capaz de explicar 40 da variância dos retornos, poderia aposentar-se alegremente com esse modelo, tornando-os muito ricos. É um outlook muito otimista (para colocá-lo de ânimo leve), como este post vai mostrar. Para ilustrar este exemplo, eu levei duas estratégias. Ele é o código para fazer isso: E aqui estão os resultados: Em suma, o SMA10 e O impulso de 10 meses (aka ROC 10, também conhecido como MOM10), ambos superam o buy and hold, não apenas em retornos absolutos, mas especialmente em retornos ajustados ao risco (índices de Sharpe e Calmar). Novamente, a análise simplista, e muitos modelos ficam muito mais sofisticados do que isso, mas mais uma vez, exemplo simples e ilustrativo usando duas estratégias que superam um benchmark (a longo prazo, de qualquer maneira). Agora, a questão é: qual foi o R 2 desses modelos? Para responder a isso, eu peguei uma janela de cinco anos que essencialmente perguntou: o quão bem essas quantidades (a razão entre o preço de fechamento ea média móvel é definir que, , Novamente, por uma questão de ilustração). Aqui está o código para gerar a resposta. E a resposta, em forma pictórica: Em suma, mesmo nos melhores casos cenários, ou seja, crises que fornecem impulso / tendência-seguindo / chamar-lhe o que você vai a sua razão de P 500, ou mesmo uma parte não-insignificante, tal Pessoa ficaria muito rico. Mais ao ponto, dado que duas estratégias que superam o mercado têm R 2s que são excepcionalmente baixas por longos períodos de tempo, ele vai mostrar que segurando o R 2 acima como alguma forma de Santo Graal estatístico certamente é incorreto no geral Sentido, e qualquer um que faz isso ou está pintando com um pincel muito amplo, está criando argumentos falsos, ou deve simplesmente tentar entender outro campo que pode não funcionar da maneira que sua intuição lhes diz. Obrigado pela leitura. Esta revisão irá rever o livro pelas pessoas da ReSolve Asset Management. Em geral, este livro é um must-read definitivo para aqueles que nunca foram expostos às idéias nele. No entanto, quando se trata de uma solução que pode ser totalmente replicado, este livro está faltando. Ok, foi um tempo desde que eu revisei meu último livro, DIY Financial Advisor. Das pessoas incríveis no Alpha Architect. Este livro, na minha opinião, é criado em um tipo semelhante de formato. Esta é a estrutura do livro, e meus comentários juntamente com ele: Parte 1: Por que diabos você realmente precisa ter uma carteira diversificada, e por que um portfólio diversificado é uma coisa boa. Em um mundo em que há tanta ênfase no desempenho de segurança única, isso certamente é algo que absolutamente deve ser declarado para aqueles que não estão familiarizados com a teoria do portfólio. Destaca o exemplo de duas pessoas. Parte 2: Algo que não é muitas vezes levantado em muitos cantos do mundo quant (porque ele cair de um penhasco e destruir décadas de poupança suado. Parte 3: Esta parte é também um que é uma leitura muito importante. Primeiro, Ele estabelece em termos claros que as avaliações prospectivas de longo prazo para as ações estão no fundo do poço, ou seja, os retornos esperados para os próximos 15 anos são muito baixos, usando cerca de 75 anos de evidência. Atualmente, de acordo com o livro, As avaliações de ações implicam um retorno negativo de 15 anos para a frente. No entanto, uma coisa que eu vou ter em conta é que, embora os retornos futuros de longo prazo para as ações possam ser muito baixos, se acreditássemos nesse gráfico e investimos apenas no mercado de ações quando A previsão de 15 anos os retornos estavam acima da média de longo prazo, um teria perdido para fora em ambos os corridas de touro 2003-2007, e um desde 2009 que Parte 4: e aqui d realmente amor saber onde os autores deste livro tem Seus dados para back-date alguns destes ETFs nos anos 90. Parte 5: alguma pesquisa mais formal sobre tópicos já cobertos no resto da cabeça do livro antes deste ponto, esta parte deve fazer o truque. O outro trabalho de pesquisa é algo que eu brevemente espremido sobre que entrou em mais profundidade sobre a volatilidade e carteiras de aposentadoria, embora eu senti que o livro abordou este tópico anteriormente em um grau suficiente, construindo a intuição usando cenários muito compreensíveis. Para que t familiarizado com os conceitos neste livro, este é definitivamente um must-read, e ASAP. No entanto, para aqueles familiarizados com a maioria dos conceitos e à procura de uma ideia detalhada sa ruim para publicar molho secreto, eu comprei este livro na esperança de ser exposto a um novo algoritmo apresentado na linguagem compreensível e intuitiva que o resto do livro Foi escrito, e foi deixado querer. Ainda assim, isso não diminui o impacto do resto do livro. Para aqueles que são mais propensos a ser seu público-alvo, é um 5/5. Para aqueles que queriam algumas especificidades, ainda tem a sua jóia na construção do universo. No geral, I tarifa um 4/5. Obrigado pela leitura. Feliz Ano Novo. Este post será um rápido que abrange a relação entre a média móvel simples e momentum série de tempo. A implicação é que se pode potencialmente derivar melhores indicadores de momentum da série temporal do que o clássico aplicado em tantos artigos. Ok, então a idéia principal para este post é bastante simples: tenho certeza que todos estão familiarizados com o indicador de média móvel simples, também. POR EXEMPLO. SMA (10). Bem, como se verifica, essas duas quantidades estão realmente relacionadas. Acontece que, se em vez de expressar o momento como a diferença de dois números, ela é expressa como a soma dos retornos, ela pode ser escrita (para um momento de 10 meses) como: MOM 10 retorno deste mês retorno do último mês retorno de 2 meses atrás retorno de 9 meses atrás, para um total de 10 meses em nosso pequeno exemplo. Isso pode ser escrito como MOM 10 (P (0) s valor de retornos.) Que pode ser reescrito por aritmética associativa como: (P (0) P (1) P (10)). Em outras palavras, impulso aka a diferença entre dois preços, pode ser reescrito como a diferença entre duas somas cumulativas de preços. E o que é uma simples média móvel Simplesmente uma soma cumulativa de preços divididos por muitos preços somados. Aqui está algum código R para demonstrar. Com o número de vezes resultante estes dois sinais são iguais: Em suma, cada vez. Agora, o que exatamente é o punchline deste pequeno exemplo Aqui está o punchline: A média móvel simples é bastante simplista, tanto quanto os filtros vão. Ele funciona como um exemplo pedagógico, mas tem algumas fraquezas bem conhecidas sobre atraso, efeitos de janelas e assim por diante. Aqui está um exemplo de brinquedo como se pode obter um sinal de momento diferente, alterando o filtro. Com os seguintes resultados: Embora a diferença da estratégia EMA10 didn s não o ponto. O ponto é que o sinal de momentum é derivado de um filtro de média móvel simples, e que, usando um filtro diferente, pode-se ainda usar um tipo de estratégia de momento. Ou, diferente, o takeaway principal / geral aqui é que o momentum é a inclinação de um filtro, e um pode calcular o momentum em um número infinito de maneiras dependendo do filtro usado, e pode vir acima com uma miríade de estratégias diferentes do momentum. Obrigado pela leitura. NOTA: Atualmente, estou contratando em Chicago, e estou sempre aberto para networking. Entre em contato com meu e-mail no gmail ilya. kipnis ou encontre-me no meu LinkedIn aqui. Este post descreverá uma primeira tentativa fracassada de aplicar a metodologia de filtro de conjunto para tentar criar um processo de ponderação sobre SPY que teoricamente deveria ser um processo gradual para mudar de convicção entre um mercado em alta, um mercado em baixa e em qualquer outro lugar. Este é um post de acompanhamento para esta postagem no blog. Assim, meu pensamento foi como este: em um mercado de touro, como uma transição da responsividade à suavidade, os filtros responsivos devem ser mais elevados do que os filtros lisos, e vice-versa, como lá d apreciam certamente o feedback sobre. Em qualquer caso, uma idéia que eu tinha no topo da minha cabeça era que, além de ter uma maneira de pesar vários filtros por sua resposta (desvio da ação de preço) e suavidade (desvio de uma linha plana), que, tomando as somas Do sinal da diferença entre um filtro e seu vizinho sobre a responsividade ao espectro de suavidade, desde filtros suficiente conjunto (digamos, 101, por isso existem 100 diferenças), seria obter uma maneira de passar de plena convicção de um mercado em alta, A um mercado de urso, a qualquer coisa intermediária, e que este seja um processo suave que não tem oscilações esquizofrênicas de convicção. Aqui está o código para fazer isso no SPY desde o início até 2003: E aqui está o resultado muito underwhelming: Essencialmente, enquanto eu esperava ver mudanças na convicção de talvez 20 no máximo, em vez disso, o meu indicador de soma das diferenças signo fez exatamente como Eu esperava que não tivesse vontade de desistir dessa idéia neste momento, e, como sempre, o feedback sempre seria apreciado. Obrigado pela leitura. NOTA: Atualmente, estou consultando em uma capacidade analítica no centro de Chicago. No entanto, também estou à procura de colaboradores que desejam prosseguir ideias comerciais interessantes. Se você sentir que minhas habilidades podem ser de ajuda para você, vamos falar. Você pode me enviar um e-mail para ilya. kipnis gmail, ou encontrar-me no meu LinkedIn aqui. Esta revisão será sobre Inovance Tech s também meus pensamentos sobre como Inovance Tech pode melhorar seu produto. Um pouco de fundo: Eu tenho falado várias vezes com alguns dos fundadores da empresa, que soam como indivíduos em cerca de meu nível de idade (assim, colegas milenares). Em última análise, o ponto de venda é esta: A negociação sistemática é legal. Aprendizagem de máquina é legal. Portanto, aplicar o aprendizado de máquinas à negociação sistemática é incrível (e uma maneira infalível de obter lucros, como demonstraram as tecnologias da Renascença). Embora isto possa parecer um pouco sarcástico, é fundador, isso é explicitamente sua missão. No entanto, não tenho certeza que o aplicativo TRAIDE da Inovance realmente realiza essa missão em seu estado atual. Veja como funciona: Os usuários selecionam um ativo por vez e selecionam um intervalo de datas (dados até 31 de dezembro de 2009). Atualmente, os ativos estão limitados a pares de moedas altamente líquidos e podem ter as seguintes configurações: 1 hora, 2 horas, 4 horas, 6 horas ou intervalos de tempo diários de barras. Os usuários, em seguida, selecionar a partir de uma variedade de indicadores, que vão desde técnicas (média móvel, osciladores, cálculos de volume, etc Principalmente uma variedade de indicadores do século 20, embora a média móvel adaptável ocasional conseguiu se esgueirar em s fácil adicionar tantos indicadores como Um usuário gostaria, não há basicamente nenhuma documentação sobre qualquer deles, sem links para referência, etc, para que os usuários terão de suportar o ônus de realmente entender o que cada um dos indicadores que eles selecionam realmente faz e se ou A aplicação TRAIDE não faz esforço (até agora) para que os usuários se familiarizem com a finalidade desses indicadores, quais são seus objetivos teóricos (medir a convicção em uma tendência, detectar uma tendência, um indicador de tipo de oscilador, etc.). ) Além disso, no que diz respeito às seleções de indicadores, os usuários também especificam uma configuração de parâmetro para cada indicador por estratégia: EG se eu tivesse um crossover EMA, eu teria que criar uma nova estratégia para um crossover 20/100, um crossover 21/100, em vez de Especificando algo como isto: short EMA: 20-60 long EMA: 80-200 Quantstrat em si tem essa funcionalidade, e enquanto eu don, encontrado aqui. Na minha opinião, a opção de cobrir uma gama de valores é obrigatória para demonstrar que qualquer definição de parâmetro não é um acaso aleatório. Fora de quantstrat, eu tenho demonstrado esta metodologia em meu Hypothesis Driven Development posts, e na vinda para a seleção de parâmetros para a negociação de volatilidade. Onde TRAIDE pode fazer algo interessante, no entanto, é que depois que o usuário especifica seus indicadores e parâmetros, seu. Embora exista um valor definido para explorar as relações entre indicadores e retornos futuros, penso que a TRAIDE precisa fazer mais nessa área, como relatar valores de P, convicção e assim por diante. Por exemplo, se você combinar indicadores suficientes, espero ver TRAIDE criar mais funcionalidade em termos do que constitui uma regra de negociação. Depois que o usuário seleciona tanto uma regra longa quanto uma regra curta (simplesmente filtrando os intervalos de indicadores que a mão da TRAIDE a esse respeito.) Por fim, TRAIDE então gera o código MetaTrader4 para um usuário para fazer o download. O que a Inovance Tech estabeleceu para fazer com TRAIDE é interessante, eu não iria programar muito bem), e classes de ativos (novamente, um de cada vez). No entanto, para os investidores de varejo, meu problema com a TRAIDE é o seguinte: há uma variedade de indicadores indocumentados, que passam para algoritmos de aprendizado de máquina de caixa-preta. O resultado é que o usuário tem muito pouca compreensão do que os algoritmos subjacentes realmente fazem, e por que a lógica que ele ou ela é apresentada é a saída. Enquanto TRAIDE torna trivialmente fácil gerar qualquer sistema de negociação dado, como vários indivíduos têm afirmado de maneiras ligeiramente diferentes antes, escrever uma estratégia é a parte mais fácil. Fazer o trabalho para entender se essa estratégia realmente tem uma vantagem é muito mais difícil. Ou seja, verificar sua robustez, seu poder preditivo, sua sensibilidade a vários regimes, e assim por diante. Dada a história de dados bastante curta do TRAIDE (2010 em diante), e juntamente com a opacidade que o usuário opera sob, minha analogia seria esta: Ele t vento até esmagar em uma árvore. No geral, eu gosto do aplicativo TRAIDE t pretende aprender os ins-and-outs de codificação de um sistema comercial em R (apesar de eu demonstrar muitas vezes sobre como colocar esses sistemas juntos). Eu só acho que precisa ser mais trabalho colocado em certificando-se de que os resultados que um usuário vê são indicativos de uma borda, em vez de abrir a possibilidade de algoritmos de aprendizagem altamente flexível máquina perseguindo fantasmas em um dos mais ruidosos e mais dinâmicos conjuntos de dados Pode-se encontrar. Minhas recomendações são as seguintes: 1) Múltiplas classes de ativos 2) Permitir intervalos de parâmetros e limitar o número de testes em qualquer ponto (indicadores E. G. 4 com dez configurações cada 10.000 sistemas de negociação possíveis explodir os servidores). Para diminuir o número de testes, use técnicas de design experimental para chegar a combinações decentes. (Eu gostaria de me lembrar da minha resposta técnicas de metodologia de superfície do meu mestre d ser interessante para ver se eles têm um histórico como um fundo, além de como um fornecedor de software. Se todas essas coisas são contabilizadas e automatizado, o produto será Espero cumprir sua missão de trazer sistemática de negociação e aprendizagem de máquinas para mais pessoas. Eu acho que a TRAIDE tem potencial, e eu estou esperando que sua equipe vai perceber que potencial. Merce por ler. NOTA: Eu atualmente estou contratando no centro de Chicago, e estou sempre Interessado em networking com profissionais na sistemática de negociação e sistemática de gestão de ativos / espaços de alocação .. EDIT: Hoje em meu e-mail (03 de dezembro de 2015), recebi um aviso que Inovance estava fazendo TRAIDE completamente livre. Quero um monte de comentários sobre ele Este post irá demonstrar um método para criar um filtro de conjunto com base em um trade-off entre suavidade e capacidade de resposta, duas propriedades procuradas em um filtro. Um filtro ideal seria tanto responder a ação de preço para não manter posições incorretas, mas também ser suave, de modo a não incorrer em sinais falsos e custos de transação desnecessários. Assim, desde a minha estratégia de negociação volatilidade, usando três filtros muito ingênuo (todos os SMAs) completamente perdeu um mês 27 em XIV. Decidi tentar e melhorar maneiras de criar melhores indicadores na tendência seguinte. Agora, sob a percepção de que pode haver potencialmente toneladas de filtros complexos na existência, decidi, em vez disso, concentrar-me em uma maneira de criar filtros conjuntos, usando uma analogia da estatística / aprendizado da máquina. Na análise de dados estáticos, para uma regressão ou classificação tarefa, há um trade-off entre viés e variância. Em poucas palavras, a variância é ruim devido à possibilidade de overfitting em algumas observações irregulares, e viés é ruim por causa da possibilidade de underfitting dados legítimos. Da mesma forma, com séries temporais de filtragem, existem preocupações semelhantes, exceto que o viés é chamado de atraso, e a variância pode ser considerada um indicador. Essencialmente, um indicador ideal iria mover-se rapidamente com os dados, ao mesmo tempo, não possuir uma miríade de pequenos solavancos e inversões ao longo do caminho, o que pode enviar sinais falsos para uma estratégia de negociação. Então, aqui é como funciona o meu algoritmo simples: As entradas para a função são as seguintes: A) A série de tempo dos dados que você retorna. calcular) função D) Um fator de convicção, a qual a potência os erros serão levantados. Este deve estar entre 0,5 e 3 E) Um vetor que define a ênfase na suavidade (versus ênfase na capacidade de resposta), que deve variar de 0 a 1. Aqui está o código: Isso gera dados SPY e cria duas funções de utilidade XtsApply, que é simplesmente uma aplicação baseada em colunas que substitui o índice original que usando uma coluna-wise aplicar descarta e sumIsNa, que eu uso mais tarde para contar os números de NAs em uma determinada linha. Ele também cria meus filtros candidatos, que, para manter as coisas simples, são apenas SMAs 2-250. Aqui está o código real da função, com comentários no próprio código para melhor explicar o processo a partir de um nível técnico (para aqueles que ainda não estão familiarizados com R, procure as hashtags): A grande maioria do tempo computacional ocorre nos dois XtsApply chama. Em 249 diferentes médias móveis simples, o processo leva cerca de 30 segundos. Aqui está a saída, usando um fator de convicção de 2: E aqui está um exemplo, olhando para SPY de 2007 a 2011. Neste caso, eu escolhi ir de azul para verde, laranja, marrom, marrom, roxo e finalmente vermelho for smoothness emphasis of 0, 5 , 25 , 50 , 75 , 95 , and 1, respectively. Notice that the blue line is very wiggly, while the red line sometimes barely moves, such as during the 2011 drop-off. One thing that I noticed in the course of putting this process together is something that eluded me earlier namely, that naive trend-following strategies which are either fully long or fully short based on a crossover signal can lose money quickly in sideways markets. However, theoretically, by finely varying the jumps between 0 to 100 emphasis on smoothness, whether in steps of 1 or finer, one can have a sort of , the difference as one moves from the most responsive to most smooth filter should constantly be positive, and vice versa. In the interest of brevity, this post doesn t be particularly spectacular. However, for those out there who use more complex filters, this may be a way to create ensembles out of various candidate filters, and create even better filters. Furthermore, I hope that given enough candidate filters and an objective way of selecting them, it would be possible to reduce the chances of creating an overfit trading system. However, anything with parameters can potentially be overfit, so that may be wishful thinking. All in all, this is still a new idea for me. For instance, the filter to compute the error terms can probably be improved. The inspiration for an EMA 20 essentially came from how Basel computes volatility (if I recall, correctly, it uses the square root of an 18 day EMA of squared returns), and the very fact that I use an EMA can itself be improved upon (why an EMA instead of some other, more complex filter). In fact, I m always open to how I can improve this concept (and others) from readers. Thanks for reading. NOTE: I am currently contracting in Chicago in an analytics capacity. If anyone would like to meet up, let me know. You can email me at ilya. kipnis gmail , or contact me through my LinkedIn here. Post navigation Categories Blogroll Model a Quantitative Trading Strategy in R QuantInsti Faculty QuantInsti is one of Asia s pioneer Algorithm Trading Research and Training Institutes focused on preparing financial market professionals for the contemporary field of Algorithmic and High Frequency Trading. QuantInsti institute developed the curriculum for the Asia s first Executive Programme in Algorithmic Trading (E-PAT) in 2009. As an initiative by financial markets professionals with stellar academic and professional credentials, the program aims to fulfil the pressing demands for highly specialized skill sets of a potentially lucrative domain. QuantInsti opened the doors to global participants in 2012 by introducing virtual classrooms for its flagship E-PAT course and have seen participation from all inhabited continents since then. Course Description R is widely used by analysts and traders around the world to develop quantitative trading strategies which can be executed manually or through program trading. This is an introductory course for beginners in R to get familiarized with a trading strategy and experience coding a technical indicator in R. You will learn technical terms associated with a trading strategy, work with data. tables in R, and manipulate the input data to create trading signals and profit-and-loss columns. You will also learn about optimizing parameters to be able to maximize the profits. This course is for everyone who have an interest in Algorithmic trading and want to get started No prior knowledge is required 1 Introduction to R for trading Get familiar with the new cool language of the financial analysts: R This chapter is to equip you with the basic programming skills in R before we proceed to strategy writing. You will learn many techniques in an interactive fashion, requiring you to write your own one-two lines of codes in every exercise. This chapter covers reading a data. table, creating new columns in the table, calculating returns by different methods, loop-functions, conditional functions and plotting of the dataset. 2 Code a basic trading strategy In this chapter, we will work with a sample dataset, which has price of a stock and its best buying and best selling price in the market at any time t . You will learn to write a simple strategy based on price movements of the stock. Learn to generate trading signals how to decide upon the trading quantity and trading price to place orders. Finally, learn to analyse your strategy based on the accrued profit and loss. Use R as a statistical tool to write your first fully functional programming code which performs these tasks automatically and gives you the final output. 3 Create a technical indicator Apply the knowledge of previous chapters to write a more sophisticated trading strategy based on Point Figures. Create a technical indicator in your strategy to improve your output. You will learn to improve your strategy s returns by changing the input parameters. Hence, you take your first step towards optimizing a trading strategy. After this chapter you would appreciate the complexities involved in creating quantitative trading strategies and would be equipped with knowledge and skills required to write your own trading strategies in R

No comments:

Post a Comment