Monday 14 August 2017

Quantitative Trading Strategies In R Part 1 Of 3


Estratégias de Negociação Quantitativas em R Parte 1 de 3 Estratégias de Negociação Quantitativas em R Finanças Computacionais e Gerenciamento de Risco mm 40 60 80 100 120 Estratégias de Negociação Quantitativas em R 40 Parte 1 de 3 60 Guy Yollin Consultor Principal, r-programming. org Professor Visitante, Universidade De Washington 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 1 72 Esboço mm 40 60 80 100 120 1 O pacote de insípido 40 2 O pacote quantstrat 60 3 Análise de desempenho 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 2 72 Pacotes para desenvolvimento de sistemas de negociação em R mm PerformanceAnalytics: ferramentas econométricas para análise de desempenho e risco 40 Métricas e gráficos de desempenho 60 80 100 120 quantstrat: modelo quantitativo modelo blotter de estrutura: ferramentas para desenvolvimento de sistemas de negociação orientados a transações 40 Quantitativo Regras de negociação e negociação de quantum: framework de modelagem financeira quantitativa TTR: negociação técnica rul Es 60 Acesso aos dados, gráficos, indicadores xts: séries temporais extensivas 80 zoológico: observações ordenadas Série temporária objetos Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 3 72 Sobre blotter e quantstrat mm 40 80 100 Infra-estrutura de transação para instrumentos negativos , Transações, 120 carteiras e contas para sistemas de negociação e simulação. Fornece suporte de portfólio para carteiras multi-ativos de classe e multi-moeda. Ainda em desenvolvimento pesado. O software está em um estágio beta alfa algumas coisas não são completamente implementadas (ou documentadas) algumas coisas invariavelmente têm erros que algumas implementações irão mudar no futuro 60 40 O software está em desenvolvimento há vários anos de borrão: Quantstrat de dezembro de 2008: fevereiro -2010 O software é usado todos os dias pelas profissões que trabalham no gerenciamento de ativos 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 4 72 Referências de conferências mm 40 60 100 Página do projeto TradeAnalytics em R-forge: 80 r-forge. r - Project. org projetos blotter documentos e demos para: pacote de 40 blotters pacote quantstrat 120 R-SIG-FINANCE: stat. ethz. ch mailman listinfo r-sig-finance 60 Kent Russells Blog Timely Portfolio: oponenteportfolio. blogspot exemplo de quantstrat de 6 partes 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 5 72 Esboço mm 40 60 80 100 120 1 O pacote de borrão 40 2 O pacote quantstrat 60 3 Análise de desempenho 80 Guy Yollin (Copyright 2011) Qua Estratégias de negociação ntitativas em R quantstrat-I 6 72 O pacote de borrão mm 40 60 80 100 120 Descrição Infra-estrutura de transação para instrumentos, transações, carteiras e contas para sistemas de negociação e simulação. Fornece suporte de portfólio para carteiras multi-ativos de classe e multi-moeda. Principais recursos suporta carteiras de múltiplos recursos suporta contas de múltiplas carteiras suporta cálculo PL e roll-up 60 Autores Peter Carl Brian Peterson 80 40 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 7 72 estratégia básica backtesting workow for blotter mm 40 60 80 100 120 Inicialização Processamento de barra de barras de relatórios 40 Inicializar moeda e instrumentos e carregar dados históricos Inicializar portfólio e conta Verificar preços e indicadores para ver se a posição de atualização ativada ou vendida disparou Finanças Gerar relatórios e gráficos de desempenho 60 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 8 72 Funções de blotter de teclas mmFunction initPortf initAcct 40 40 getPosQty addTxn updatePortf updateAcct updateEndEq getEndEq 60 chart. Posn PortfReturns getAccount getPortfolio getTxns tradeStats 80 60 80 100 Descrição Inicialização inicializa um portfólio Objeto inicializa um objeto de conta Processando r O valor mais recente da conta de capital obtém posição em Data adicionar transações para um portfólio calcular PL para cada símbolo para cada período calcular o patrimônio líquido da atualização de dados do portfólio acabar com o patrimônio líquido de uma conta Dados de mercado do gráfico de análise, tamanho da posição e acumulado PL calcular o portfólio Instrumento retorna obter um objeto de conta do ambiente. blotter obter um objeto de portfólio do ambiente. blotter recuperar transações de um portfólio calcular estatísticas comerciais 120 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 9 72 Carregar o pacote de borrão R Código: pesquisa da biblioteca mm (blotter) () 1 3 5 7 9 11 13 15 pacote. GlobalEnv: pacote FinancialInstrument: pacote TTR 40: pacote xts: pacote stats: pacote grDevices: conjuntos de dados Pacote Autoloads: pacote blotter: pacote quantmod: pacote Padrões : Pacote de zoológico: pacote de gráficos: pacote de utilidades: pacote de métodos: base 40 60 80 100 120 60 Carregando o blotter faz com que essas outras bibliotecas sejam carregadas au Tomaticamente FinancialInstrument quantmod TTR 80 FinancialInstrument xts zoo Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 10 72 O ambiente. blotter e. instrument mm 40 60 80 100 120 O pacote blotter cria um ambiente chamado. blotter para armazenamento privado de Portfólio e objetos de conta Do mesmo modo, o pacote 40 FinancialInstrument cria um ambiente chamado "Instrumento para armazenamento privado de instrumentos dened" (eg Moeda, estoque, futuro, etc.) R Código: 60.instrument ls (allT) 1.blotter 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 11 72 estratégia básica backtesting workow for blotter mm 40 60 80 100 120 Inicialização Processamento Bar-by-bar Relatórios 40 Inicializar moeda e instrumentos e carregar dados históricos Inicializar portfólio e conta Verificar preços e indicadores para ver se a posição de compra ou venda ativada ou vendida Fim dos dados Gerar relatórios de desempenho e gráficos 60 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 12 72 Construtores de classe de instrumentos O pacote FinancialInstrument fornece a facilidade para lidar com diferentes tipos de instrumentos e moedas diferentes. Mm 40 60 80 100 120 R Código: Construtores de instrumentos args (moeda) função ( Primaryid, moeda NULL, multiplicador 1, identificadores NULL.) 40 NULL args (estoque) função (primaryid, moeda NULL, multiplicador 1, ticksize 0.01, identificadores NU LL. ) 60 NULL Argumentos principais: seqüência de caracteres de identificação primária fornecendo uma ID exclusiva para a moeda do instrumento 80 seqüência descrevendo o multiplicador multiplicador numérico multiplicador (valores nocionais do preço multiplicador) tiquetaque tamanho incremento do preço do instrumento Guy Yollin (Copyright 2011) Estratégias de Negociação Quantitativas Em R quantstrat-I 13 72 Inicializar o instrumento de moeda R Código: moeda (USD) mm 40 60 80 100 120 1 USD get (USD, envir. instrument) primaryid 1 USD moeda 1 USD multiplicador 1 1 ticksize 1 0.01 identificadores NULL 40 60 80 tipo de moeda 1 attr (, classe) Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 14 72 Inicializar o instrumento de negociação R Código: estoque (SPY, moedaUSD, multiplicador1) mm 40 60 80 100 120 1 SPY get ( SPY, envir. instrument) primaryid 1 moeda SPY 1 USD multiplicador 1 1 ticksize 1 0.01 lista de identificadores () 40 60 80 tipo 1 stock attr (, classe) Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 15 72 Fetch H Dados istoricos R Código: mm 40 60 80 100 120 getSymbols (SPY, from1998-01-01, to2011-07-31, adjustT) SPYto. monthly (SPY, indexAtendof) SPYSMA10m tail (SPY) 40 SPY. Open 2011-02- 28 128.2641 2011-03-31 132.3362 2011-04-29 132.7519 2011-05-31 136.3938 2011-06-3060 133.8464 2011-07-29 132.0900 SPY. High 133.4458 132.5031 135.8963 136.5033 134.2544 135.7000 SPY. Low SPY. Close SPY. Volume SPY. Adjusted SMA10m 128.1849 131.9201 2846131894 131.92 114.9287 124.1228 131.9359 4825610492 131.94 117.4512 128.8711 135.7570 2826839043 135.76 120.9079 130.7319 134.2345 3354154109 134.23 123.5213 125.6968 131.9700 4723424476 131.97 126.3944 127.9700 129.3300 3840839000 129.33 128.0790 Conversão de notas a partir de dados diários para dados mensais usando o último dia de negociação do mês (Funcionalidade xts) 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 16 72 Estratégia básica backtesting workow for blotter mm 40 60 80 100 120 Inicialização Processamento bar-by-barware Relatório 40 Inicializar currenc Y e instrumentos, e carregue dados históricos Inicialize o portfólio e a conta Verifique os preços e os indicadores para ver se a posição de atualização ou o fator de Compra ou Venda desencadeou Fim dos dados Gerar relatórios e gráficos de desempenho 60 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat - I 17 72 A função initPortf A função initPortf constrói e inicializa um objeto de portfólio, que é usado para conter transações, posições e 80 valores de nível agregado. 120 mm 40 60 100 Código R: A função initPortf args (initPortf) função (nome padrão, símbolos, initPosQty 0, initDate 1950-01-01, 40 moeda USD.) NULL Principais argumentos: nomes símbolos 60 nome para o objeto de portfólio resultante Lista de símbolos a serem incluídos no portfólio initPosQty quantidade de posição inicial initDate 80 data para patrimônio da conta inicial e posição (antes do primeiro preço de fechamento) identitário de moeda moeda Guy Yollin (Copyright 2011) Estratégias de Negociação Quantitativas em R quantstrat-I 18 72 A Função initAcct A função initAcct constrói o contêiner de dados usado para armazenar valores de conta calculados, como 60 PL agregados, equidade, 100 etc. mm 40 80 Código R: a função initAcct args (initAcct) função (nome padrão, carteiras, initDate 1950-01 -01, 40 initEq 0, moeda USD.) NULL 120 Principais argumentos: nome initDate initEq moeda 80 60 nome para o portfólio de objetos de conta resultantes de cadeias de nomes de carteiras incluídas nesta data de conta para Patrimônio e posição da conta inicial (antes do primeiro preço de fechamento) conta inicial contabilista Identificador de moeda Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 19 72 Inicializar portfólio e conta MM Código R: b. strategy initPortf (b. strategy , SPY, initDate1997-12-31) 40 1 bFaber initAcct (b. strategy, portfoliosb. strategy, initDate1997-12-31, initEq1e6) 1 bFaber 40 60 80 100 120 60 Observe que initDate é anterior ao início dos dados 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 20 72 O ambiente. blotter e. instrument R Código: mm ls () 1 SPY ls (.blotter) b. strategy 40 60 80 100 120 40 1 account. bFaber Ls (.instrument) 1 SPY USD portfolio. bFaber 60 objetos diversos (incluindo o objeto de preço histórico xts) armazenados no portfólio de ambiente global e objetos de conta armazenados em. blotter ambiente moeda e objetos de instrumento de negociação armazenados no ambiente. instrument 80 Guy Yollin (Copyright 2011) Quantitat Ive Estratégias de negociação em R quantstrat-I 21 72 Estratégia básica backtesting workow for blotter mm 40 60 80 100 120 Inicialização Processamento bar-by-bar Relatório 40 Inicializar moeda e instrumentos e carregar dados históricos Inicializar portfólio e conta Verificar preços e indicadores para ver Se Buy ou Sell desencadeou posição de atualização e patrimônio final de dados Gerar relatórios de desempenho e gráficos 60 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 22 72 Plot mensal SPY e 10 meses SMA mm 40 60 80 100 120 R Código: gráfico de temasPosn (b. strategy, Symbol SPY, Datas 1998: :) plot (addSMA (n10, col4, on1, lwd2)) 60 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 31 72 Parcela de desempenho SPY 140 19980130 20110729 mm 40 60 80 100 120 130 120 115 140 130 120 110 110 105 100 100 90 40 95 90 85 80 80 75 70 70 1000 800 600 400 200 0 120000 Fixação de posição 1000 qqqqqqqq 1000 800 600 400 200 60 qqqqqqq 0 120000 100000 80000 60000 CumPL 98314.97275 100000 80000 60000 40000 20000 0 1998 Jan 1998 Jul 1998 Jan 1999 1999 Jul 1999 Jan 2000 2000 Jul 2000 Jan 2001 2001 Jul 2001 Jan 2002 2002 Jul 2002 Jan 2003 2003 Jul 2003 Jan 2004 2004 Jul 2004 Jan 2005 2005 Jul 2005 Jan 2006 2006 Jul 2006 Jan 2007 2007 Jul 2007 Jan 2008 2008 Jul 2008 Jan 2009 2009 Jul 2009 Jan 2010 2010 Jul 2010 2011 Jan 2011 Jul 2011 80 40000 20000 0 Guy Yollin (Copyright 2011) Estratégias de Negociação Quantitativas em R quantstrat-I 32 72 Transações Código R: mm Txn. Qty 1997-12-31 0 1998-10-30 1000 1999-09-3040 -1000 1999-10-29 1000 2000-09-29 -1000 2002-03-28 1000 2002-04- 30 -1000 2003-04-30 1000 2004-08-3160 -1000 2004-09-30 1000 2007-12-31 -1000 2009-06-30 1000 2010-06-30 -1000 2010-07-30 1000 2010- 08-3180 -1000 2010-09-30 1000 40 60 80 100 120 getTxns (Portfoliob. strategy, SymbolSPY) Txn. Price Txn. Fees Txn. Value Txn. Avg. Cost Net. Txn. Realized. PL 0.00000 0 0.00 0.00000 0.000 89.25095 0 89250.95 89.25095 0.000 105.61590 0 -105615.90 105.61 590 16364.951 112,38352 0 112383,52 112,38352 0,000 118,98858 0 -118988,58 118,98858 6.605,062 96,28988 96,28988 0 96289,88 0,000 90,69007 90,69007 0 -90690,07 -5599,813 78,59565 78,59565 0 78595,65 0,000 96,86532 0 -96865,32 96,86532 97,83755 0 18269,669 97837,55 97,83755 0,000 136,15069 0 -136150,69 136,15069 38313,139 88,81119 0 88.811,19 88.81119 0.000 101.18979 0 -101189.79 101.18979 12378.598 108.10113 0 108101.13 108.10113 0.000 103.23868 0 -103238.68 103.23868 -4862.443 112.48419 0 112484.19 112.48419 0.000 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 33 72 Esboço mm 40 60 80 100 120 1 O Blotter package 40 2 O pacote quantstrat 60 3 Análise de desempenho 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 34 72 O pacote quantstrat mm 40 60 80 100 120 Descrição Especifique, construa e back-teste negociação financeira quantitativa e Estratégias de portfólio. As principais características suportam estratégias que incluem indicadores, sinais e regras que permitem que as estratégias sejam aplicadas às carteiras alavanca o pacote de borrão para a contabilidade comercial Autores 60 40 Peter Carl Brian Peterson 80 Jerey Ryan Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 35 72 Laboratório de backtesting de estratégia básica para quantstrat mm 40 60 80 100 120 Inicialização Definir estratégia Processamento bar-by-bar Relatórios de atualização 40 Inicializar moeda e instrumentos e carregar dados históricos Inicializar portfólio, conta, pedidos, estratégia Adicionar indicadores, sinais e regras Aplicar estratégia ao portfólio Atualizar portfólio, conta, equidade Gerar relatórios de desempenho e gráficos 60 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 36 72 Funções principais de quantstrat mm Função 40 initOrders strategy 40 add. signal add. rule add. Indicador sigComparison sigCrossover 60 sigFormula sigPeak sigThreshold ruleSignal osNoOp 80 applyStrategy 60 80 100 Descrição Inicialização inicializar o construtor de contêiner de ordem para o objeto de estratégia Denunciar de estratégia adicionar um indicador a uma estratégia adicionar um sinal a uma estratégia adicionar uma regra a uma estratégia Funções padrão gerar sinal de comparação gerar um sinal de cruzamento gerar um sinal de uma função de sinal de fórmula para sinais de pico de vale Gerar uma regra padrão de sinal de limite para gerar uma ordem comercial em uma função de dimensionamento de ordem padrão do sinal Processar aplicar a estratégia a dados de mercado arbitrários 120 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 37 72 Trabalho básico de backtesting para quantstrat mm 40 60 80 100 120 Inicialização Definir estratégia Processar Bar-by-bar Relatórios de atualização 40 Inicializar moeda e instrumentos e carregar dados históricos Inicializar portfólio, conta, pedidos, estratégia Adicionar indicadores, sinais e regras Aplicar estratégia ao portfólio Atualizar portfólio, conta, Equidade Gerar relatórios de desempenho e gráficos 60 80 Guy Yollin (Copyrig Ht 2011) Estratégias de negociação quantitativas em R quantstrat-I 38 72 Inicializar portfólio e conta mm R Código: inz portfólio, conta e ordens qs. strategy initPortf (qs. strategy, SPY, initDate1997-12-31) 1 qsFaber initAcct (qs Estratégia, estratégia de portfólio, initDate1997-12-31, initEq1e6) 1 qsFaber 40 60 80 100 120 60 Código idêntico usado anteriormente 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 39 72 Inicializar ordens e estratégia mm 40 60 80 100 120 R Código: inicializar encomendas container 40 library (quantstrat) initOrders (portfolioqs. strategy, initDate1997-12-31) instanciar uma nova estratégia objeto strat class (strat) 1 estratégia summary (strat) 40 Nome do comprimento 1 recursos 0 indicadores 0 sinais 600 regras 1 restrições 0 init 0 wrapup 0 chamada 2 Classe - none-none-none-none-none-none-none-none-noneMode personagem NULL list list list NULL list list list 40 60 80 100 120 80 Guy Yollin ( Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 41 72 Trabalhos de backtesting de estratégia básica para quantstrat mm 40 60 80 100 120 Inicialização Definir estratégia Processamento bar-by-bar Relatórios de atualização 40 Inicializar moeda e instrumentos e carregar dados históricos Inicializar portfólio, conta, pedidos, estratégia Adicionar indicadores, sinais e regras Aplicar estratégia A carteira Atualizar portfólio, conta, eqüidade Gerar relatórios de desempenho e gráficos 60 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 42 72 A função add. indicator Os indicadores são tipicamente análises técnicas ou estatísticas padrão de 60 100 120 saídas, Tais como 40 médias móveis, bandas, 80 modelos de preços ou indicadores são aplicados antes de sinais e regras, e a saída de indicadores pode ser usada como entradas para construir sinais ou regras. 40 Código R: A função add. indicator args (add. indicator ) Função (estratégia, nome, argumentos, parâmetros NULL, rótulo NULL. Habilitado TRUE, indexnum NULL, store FALSE) NULL 60 Principais argumentos: estratégia nome do objeto da estratégia do nome do indicador (deve ser uma função R) 80 argumentos argumentos a serem passados ​​para o nome do rótulo da função do indicador para referenciar o indicador Guy Yollin (Copyright 2011 ) Estratégias de negociação quantitativas em R quantstrat-I 43 72 Adicionando um indicador a uma estratégia mm 40 60 80 100 120 adicione uma média móvel simples de 10 meses Código R: resumo de estratagem (strat) Nome do comprimento 1 recursos 0 indicadores 1 60 sinais 0 regras 1 restrições 0 init 0 wrapup 0 chamada 2 Classe - none-none-none-none-none-none-none-none-noneMode personagem NULL list list list NULL list list list 80 Guy Yollin (Copyright 2011) Quantitative Trading Strategies in R quantstrat - I 44 72 A função add. signals quantstrat suporta os seguintes tipos de sinal: sinal de cruzamento sigCrossover (gt, lt, eq, gte, 100 lte) mm 40 60 80 sinal de comparação de sigComparison (gt, lt, eq, gte). Símbolo do sinal de limite sigthal (pico, fundo) sinal de 40 sigFormula calculado a partir de uma fórmula Código R: A função add. signals args (add. signal) função (estratégia, nome) , Argumentos, parâmetros NULL, rótulo NULL, 60. habilitado TRUE, indexnum NULL, armazenar FALSE) NULL 120 Principais argumentos: estratégia 80 nome do objeto de estratégia nome do sinal (um dos 5 sinais suportados) argumentos argumentos a serem passados ​​para o indicador Função Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 45 72 Adicionar sinais a uma estratégia adicionar sinal para cruzar acima SMA 40 sinal addmm para cruzamento abaixo de 60 SMA R Código: strat strat summary (strat) Comprimento 601 nome ativos 0 Indicadores 1 sinais 2 regras 1 restrições 0 800 init wrapup 0 chamada 2 Guy Yollin (Copyright 80 100 120 Classe - none-none-none-none-none-none-none-none-none2011) Modo caractere Lista de lista de lista NULL Lista de lista NULL Ligue estratégias quantitativas de negociação em R quantstr At-I 46 72 A função add. rules A função add. rule adiciona uma regra a uma estratégia mm 40 60 80 R Código: A função add. rule args (add. rule) função (estratégia, nome, argumentos, parâmetros NULL, Rótulo NULL, digite 40 c (NULL, risco, ordem, reequilíbrio, saia, entre). Habilitado TRUE, indexnum NULL, path. dep TRUE, timespan NULL, store FALSE) NULL 100 120 Principais argumentos: 60 argumentos de nome de estratégia tipo 80 objeto de estratégia nome da regra (normalmente ruleSignal) argumentos a serem passados ​​para a regra função tipo de regra (Risco, ordem, reequilíbrio, saída enter) Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 47 72 A regra de função ruleSignalSignal é a regra padrão para gerar uma ordem comercial em um sinal Código R: A função ruleSignal args (Nome do arquivo), função de sinal de registro (data de registro), dados (mktdata de dados, timestamp, sigcol, sigval, orderqty 0, ordertype, orderside NULL, limite NULL, tmult FALSE, substituir TRUE, delay 1e-04, osFUN osNoOp, pricemethod c (market, 40 opside, maker) Carteira, símbolo, tipo de regra, TxnFees 0, prefere NULL, sethold FALSE) NULL mm 40 60 80 100 120 Principais argumentos: 60 dados e um objeto xts contendo dados de mercado (padrão para mktdata) nome da coluna sigcol para verificar o valor do sinal sigval de sinal para corresponder Quantidade solicitada para Ordem ou tudo, modificado pelo limite de mercado osFUN ordertype80, stoplimit, stoptrailing, iceberg, orderside long. Curto ou Nulo. Função osFUN ou nome da função de dimensionamento de pedidos (padrão é osNoOp) Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 48 72 Adicionar regras a uma estratégia mm 40 60 80 100 120 adicionar regra para entrar quando Cl. gt. SMA É verdadeira adicionar regra para sair quando Cl. lt. SMA é verdadeira R Código: 40 ir longo quando fechar MA strat exit60 quando fechar resumo de estratagem (strat) Comprimento 401 nome de ativos 0 indicadores 1 sinais 2 regras 3 restrições 0 600 init wrapup 0 chamada 2 Class - none-none-none-none-none-none-none-none-noneMode personagem Lista de lista de lista NULL NULL list list call O objeto de estratégia contém: 1 indicador dened do usuário 80 2 User Dened Signs 2 User Dened Trading Rules Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 50 72 Estratégia básica de trabalho de backtesting para quantstrat mm 40 60 80 100 120 Inicialização Definir estratégia Processamento bar-by-bar Relatórios de atualização 40 Inicializar moeda e instrumentos e carregar dados históricos Inicializar portfólio, Conta, ordens, stra Adicionar indicadores, sinais e regras Aplicar estratégia ao portfólio Atualizar portfólio, conta, eqüidade Gerar relatórios de desempenho e gráficos 60 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 51 72 A função applyStrategy mm 60 80 100 120 A A função applyStrategy 40 aplica a estratégia a dados de mercado arbitrários Código R: A função applyStrategy args (applyStrategy) função (estratégia, carteiras, mktdata NULL, parâmetros NULL, 40. verbose TRUE) NULL Principais argumentos: estratégia 60 um objeto dos parâmetros de tipo de carteira de estratégias 80 uma lista de carteiras para aplicar a estratégia à lista de parâmetros a ser aplicada durante a avaliação da estratégia Guy Yollin (Copyright 2011) Estratégias de Negociação Quantitativas em R quantstrat-I 52 72 Aplicar a estratégia mm Código R: out names (out) 40 60 80 100 120 40 1 qsFaber nomes (outqsFaber) 1 SPY nomes (outqsFaberSPY) 60 1 indicadores sinais normas classe (outqsFaberSPYindicators) 1 xts zoológico 80 Guy Yollin (cópia Logo 2011) Estratégias quantitativas de negociação em R quantstrat-I 53 72 O objeto mktdata mktdata é uma variável especial construída durante a execução de mm applyStrategy. É um objeto de 40 séries temporais que contém 100 preços históricos a 60 80 120 dados, bem como os indicadores, sinais e regras calculados: Código R: cauda (mktdata, - (1: 5), 12) 40 2010-08-31 2010-09-30 2010-10-29 2010-11-30 2010-12-31 2011-01-31 2011-02-28 2011-03-31 2011-04-29 2011-05-31 2011-06-30 2011-07-29 SPY. Adjusted 103.24 112.48 116.78 116.78 124.59 127.49 131.92 131.94 135.76 134.23 131.97 129.33 60 SMA10m 107.7569 108.3360 109.1411 110.3413 111.9953 113.3289 114.9287 117.4512 120.9079 123.5213 126.3944 128.0790 SMA10 Cl. gt. SMA Cl. lt. SMA 107.7569 NA 1 108.3360 1 NA 109.1411 NA NA 110.3413 NA NA 111.9953 NA NA 113.3289 NA NA 114.9287 NA NA 117.4512 NA NA 120.9079 NA NA 123.5213 NA NA 126.3944 NA NA 128.0790 NA NA 80 Inspecionar mktdata pode ser muito útil na compreensão do processamento e depuração da estratégia Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 54 72 Trabalhos de backtesting de estratégia básica para quantstrat mm 40 60 80 100 120 Inicialização Definir st Rategy Processamento Bar-by-Bar Relatórios de Atualização 40 Inicializar moeda e instrumentos e carregar dados históricos Inicializar portfólio, conta, pedidos, estratégia Adicionar indicadores, sinais e regras Aplicar estratégia ao portfólio Atualizar portfólio, conta, equidade Gerar relatórios de desempenho e gráficos 60 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 55 72 atualização PL mm 40 60 80 100 120 atualiza um intervalo de datas inteira de uma vez as funções devem ser chamadas em ordem Código R: 40 updatePortf (Portfolioqs. strategy, Datespaste ( ::, as. Date (Sys. time ()), sep)) 1 qsFaber updateAcct (nameqs. strategy, Dateindex (SPY)) 60 1 qsFaber dummy chartPosn (qs. strategy, Symbol SPY, Datas 1998: :) trama ( AddSMA (n10, col4, on1, lwd2)) 60 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 58 72 Faber desempenho do sistema Quanstrat SPY 140 19980130 20110729 mm 40 60 80 100 120 130 120 115 140 130 120 110 110 105 100 100 90 40 95 90 85 80 80 75 70 70 1000 800 600 400 200 0 1e05 Posicionamento 1000 qqqqqqq 1000 800 600 400 200 60 qqqqqq 0 1e05 8e04 6e04 4e04 CumPL 81950.02164 8e04 6e04 4e04 2e04 0e00 1998 Jan 1998 Jul 1998 Jan 1999 1999 Jul 1999 Jan 2000 2000 Jul 2000 Jan 2001 2001 Jul 2001 Jan 2002 2002 Jul 2002 Jan 2003 2003 Jul 2003 Jan 2004 2004 Jul 2004 Jan 2005 2005 Jul 2005 Jan 2006 2006 Jul 2006 Jan 2007 2007 Jul 2007 Jan 2008 2008 Jul 2008 Jan 2009 2009 Jul 2009 Jan 2010 2010 Jul 2010 2011 Jan 2011 Jul 2011 80 2e04 0e00 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 59 72 Transações Código R: mm 40 60 80 100 120 getTxns (Portfolioqs. strategy, SymbolSPY) Txn. Qty 1997-12-31 0 1999-10-29 1000 40 2000- 09-29 -1000 2002-03-28 1000 2002-04-30 -1000 2003-04-30 1000 2004-08-31 -1000 2004-09-3060 1000 2007-12-31 -1000 2009-06-30 1000 2010-06-30 -1000 2010-07-30 1000 2010-08-31 -1000 2010-09-3080 1000 Txn. Price Txn. Fees Txn. Value Txn. Avg. Cost Net. Txn. Realized. PL 0.00000 0 0.00 0.00000 0.000 112.38352 0 11238 3,52 112,38352 0,000 118,98858 0 -118988,58 118,98858 6.605,062 96,28988 96,28988 0 96289,88 0,000 90,69007 90,69007 0 -90690,07 -5599,813 78,59565 78,59565 0 78595,65 0,000 96,86532 0 -96865,32 96,86532 97,83755 0 18269,669 97837,55 97,83755 0,000 136,15069 0 -136150,69 136,15069 38313,139 88811,19 0 88,81119 88,81119 0,000 101,18979 0 -101189.79 101.18979 12378.598 108.10113 0 108101.13 108.10113 0.000 103.23868 0 -103238.68 103.23868 -4862.443 112.48419 0 112484.19 112.48419 0.000 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 60 72 Esboço mm 40 60 80 100 120 1 O pacote de borrão 40 2 O pacote quantstrat 60 3 Análise de desempenho 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 61 72 O objeto de portfólio de blotter Código R: mm 40 60 80 100 120 thePortfolio getPortfolio (b. strategy) names (thePortfolio) 1 símbolos Nomes de resumo (thePortfoliosymbols) 40 1 nomes SPY (thePortfoliosymbolsSPY) 1 txn posPL posPL. USD 60 Nomes (thePortfoliosummary) 1 Long. Value 5 Realized. PL 9 Net. Trading. PL ​​Short. Value Unrealized. PL Net. Value Gross. Value Gross. Trading. PL ​​Txn. Fees biblioteca (rede) 80 plot (xyplot (thePortfoliosummary, xlab , Typeh, col4)) Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 62 72 Parcela de portfólio de séries temporais objeto 2000 0.4 0.0 0.4 100000 2005 2010 mm Long. Valiente 40 60 80 Valor curto 100 120 0 Rede. Value 100000 Gross. Value 40 Realized. PL 0 0 100000 Não realizado. PL 0 0 20000 10000 0 10000 10000 0 10000 Gross. Trading. PL ​​0.4 0.0 0.440000 Txn. Fees 60 Net. Trading. PL ​​80 2000 2005 2010 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 63 72 O objeto de contabilidade do blotter Código R: mm 40 60 80 100 120 os nomes de preenchimento da conta (b. strategy) (a conta). 1 nomes de resumo das carteiras (theccountportfolios) 40 1 nomes do bFaber (theccountportfoliosbFaber) 1 Long. Value 5 Realized. PL 60 9 Net. Trading. PL ​​Short. Value Unrealized. PL Net. Value Gross. Val U. gr. Trading. PL ​​nomes Txn. Fees (theAccountsummary) 1 Adições 5 Int. Income 9 Advisory. Fees 80 Retiradas Realized. PL Gross. Trading. PL ​​Txn. Fees Net. Performance End. Eq Unrealized. PL Net. Trading. PL Guy Yollin (Copyright 2011) Estratégias quantitativas de negociação em R quantstrat-I 64 72 Estatísticas comerciais mm R Código: (biblioteca tstats (PerformanceAnalytics) rets tail (rets, 12) SPY 2010-08-3140 -4.862443e-03 2010-09- 30 0.000000e00 2010-10-29 4.297123e-03 2010-11-30 0.000000e00 2010-12-31 7.807092e-03 2011-01-31 2.902940e-03 2011-02-28604.428709e-03 2011-03-31 1.584192e-05 2011-04-29 3.821053e-03 2011-05-31 -1.522454e-03 2011-06-30 -2.264505e-03 2011-07-29 -2.640000e-03 charts. PerformanceSummary (rets, colorset Bluefocus) 80 100 120 80 Guy Yollin (Copyright 2011) Estratégias de negociação quantitativas em R quantstrat-I 67 72 Retorno cumulativo e desdobramento Desempenho SPY 0,10 mm 40 60 80 100 120 Retorno acumulado 0,04 0,06 0,08 40 Retorno mensal 0.000 0.005 0.010 0.00 0.02 60 0.000 0.010 Drawdown 0.010 0.020 80 Dec 97 Jul 98 Jul 99 Jul 00 Jul 01 Jul 02 Jul 03 Jul 04 Jul 05 Jul 06 Jul 07 Jul 08 Jul 09 Jul 10 Jul 11 ​​Data Guy Yollin (Copyright 2011) Estratégias de Negociação Quantitativas em R quantstrat-I 68 72 Calcule as estatísticas de retorno mm 40 60 80 100 120 Código R: PA1.tab PA2.tab tab1 res. tab1 res. tab2 res. tab3 tab2Lecture 1 8211 Uma introdução a R O que é RR é um idioma e ambiente para computação estatística e gráficos. Ele inclui um mecanismo eficaz de armazenamento e armazenamento de dados que fornece um conjunto de operadores para cálculos em matrizes, matrizes, data-frames e listas. A instalação básica do R vem com uma grande coleção de ferramentas para análise de dados e visualização de dados. O próprio idioma suporta declarações condicionais, loops, funções, classes e a maioria das outras construções com as quais os usuários da VBA e C estão familiarizados. R suporta estilos de programação orientados a objetos, imperativos e funcionais. A abundância de pacotes contribuídos, uma sólida base de usuários e uma forte comunidade de código aberto são alguns dos outros pontos fortes da estrutura R. O sistema R é dividido em 2 partes: o pacote base que pode ser baixado da CRAN. Todo o resto. O pacote base R contém, entre outras coisas, o código necessário que é necessário para executar R. Muitas funções úteis e bibliotecas também fazem parte desta instalação básica. Alguns destes incluem: utils, estatísticas, conjuntos de dados, gráficos, grDevices e métodos. O que isso significa para você, é que você pode fazer muito com a instalação da planície de baunilha. História de R. A linguagem S (R é um dialeto da língua S) foi desenvolvida por John Chambers e outros no Bell Labs em 1976. It started off as a collection of Fortran libraries and was used for internal Bell Lab statistical analysis. The early versions of the language did not contain functions for statistical modeling. In 1988 the system was rewritten in C (version 3 of the language). In 1998, version 4 of the language was released. In 1993 Bell Labs gave StatSci (now Insightful Corp.) an exclusive license to develop and sell the S language. The S language itself has not changed dramatically since 1998. In 1991 Ross Ihaka and Robert Gentleman developed the R language. The first announcement of R to the public occurred in 1993. In 1995, Martin Machler convinced Ross and Robert to use the GNU General Public License to make R free software. In 1996 public mailing lists were created (R-help and R-devel). In 1997 the R Core Group was formed (containing some people associated with the S-PLUS framework). The core group currently controls the source code for R. The first version R 1.0.0 was released in 2000. Installing R The installation of the R environment on a Windows, Linux or Mac machine is fairly simple. Here are the steps to follow for the Windows version: Navigate to cran. r-project. org Click on the appropriate link for your system. For a Windows machine, select and download the base installation. Select all the default options. A desktop icon will appear once the installation is successful. The following display appears when you click on the R icon. Interacting with the Console There are at least three ways to enter commands in R. The code can either be typed directly into the console, sourced from a. R file or pasted verbatim from a text file. Customization There are a number of customizations that can be performed on the R console itself. For font, color and other cosmetic changes, navigate to the GUI Preferences menu: Edit - GUI Preferences Another useful modification is to enable the sdi option for child windows. Whenever you create a plot or bring up another window within the existing R console, the child-window is confined within the main-window. In order to disable this behavior, do the following: Right-click on the R shortcut icon on the desk - top and select Properties Change the Target directory text from 82208230R-2.15.1binRgui. exe8221 to 82208230R-2.15.1binRgui. exe8221 8211sdi The Basics One can think of R as a glorified calculator. All the usual mathematical operations can be directly entered into the console. Operations such as addition, subtraction, multiplication, division and exponentiation are referenced by the usual symbols , -, , and . More advanced mathematical operations can be performed by invoking specific functions within R. Basic Math

No comments:

Post a Comment