вторник, 5 июня 2018 г.

Estratégia de negociação florestal aleatória


Estratégia de negociação aleatória de floresta
Recentemente assisti a uma apresentação do primeiro autor do seguinte artigo que nos deu um uso bastante criativo e esclarecedor (tipo de meta-) de florestas aleatórias em Quant Finance:
por Thomas Wiecki, Andrew Campbell, Justin Quaresma, Jessica Stauth (todas Quantopian)
Quando estratégias de negociação automatizadas são desenvolvidas e avaliadas usando backtests em dados históricos de preços, existe uma tendência a se adaptar ao passado. Usando um conjunto de dados desconhecido de 888 estratégias de negociação algorítmica desenvolvidas e backtested na plataforma da Quantopian com pelo menos 6 meses de desempenho fora da amostra, estudamos a prevalência e o impacto do sobreajuste de backtest. Especificamente, descobrimos que as métricas de avaliação de backtests comumente relatadas, como o índice de Sharpe, oferecem pouco valor na previsão do desempenho da amostra (R² & lt; 0,025). Por outro lado, momentos de alta ordem, como volatilidade e rebaixamento máximo, bem como características de construção de portfólio, como hedging, mostram valor preditivo significativo de relevância para os profissionais de finanças quantitativas. Além disso, em consonância com considerações teóricas anteriores, encontramos evidências empíricas de overfitting - quanto mais backtesting um quant fez para uma estratégia, maior a discrepância entre o desempenho de backtest e out-of-sample. Finalmente, mostramos que ao treinar classificadores de aprendizado de máquina não lineares em uma variedade de características que descrevem o comportamento de backtest, o desempenho fora da amostra pode ser previsto com uma precisão muito maior (R² = 0,17) em dados de holdout comparados ao uso recursos lineares e univariados. Um portfólio construído com base em previsões de dados de hold-out teve um desempenho significativamente melhor fora da amostra do que um construído a partir de algoritmos com as mais altas taxas de backtest de Sharpe.
Então, o que eles basicamente fizeram foi pegar todos os tipos de algoritmos reais de negociação quântica e perguntaram à antiga questão da EMH se, no desempenho da amostra, existe algum poder preditivo para o desempenho fora da amostra. Eles calcularam todos os tipos de medidas para esses algos e os usaram (e combinações dos mesmos) para prever o desempenho fora da amostra. Em seguida, eles extraíram os recursos mais importantes do modelo de floresta aleatório - a foto a seguir foi tirada do papel (p. 9)

Estratégia de negociação aleatória de floresta
Bandas de Bollinger são um dos indicadores técnicos mais populares com muitos comerciantes usando-os para negociar o intervalo, bem como procurar fugas. No entanto, quais recursos e valores você realmente deveria estar observando quando está usando o Bollinger Bands para negociar?
Neste artigo, usaremos florestas aleatórias, uma poderosa abordagem de aprendizado de máquina, para descobrir quais aspectos das bandas de Bollinger são mais importantes para uma estratégia de GBP / USD em gráficos de 4 horas.
Bandas de Bollinger.
O Bollinger Bands, uma ferramenta de negociação técnica desenvolvida por John Bollinger no início dos anos 80, fornece uma medida relativa do alcance do mercado. Durante períodos de alta volatilidade, a faixa de negociação será naturalmente maior, enquanto em períodos de baixa volatilidade a faixa será menor.
Bandas de Bollinger são uma combinação de três linhas. A linha do meio é uma média móvel simples (geralmente 20 períodos), com a linha superior sendo 2 desvios padrão do fechamento acima da linha do meio e a linha inferior sendo 2 desvios padrão abaixo da linha do meio.
Maior volatilidade levará a maiores desvios padrão e, portanto, um intervalo maior entre as bandas superior e inferior.
Ao usar os Bollinger Bands em qualquer tipo de estratégia sistemática, as três linhas diferentes apresentam algumas questões e questões; ou seja, que fator único você deve incluir? Você quer ver onde o preço atual é relativo ao intervalo? Talvez você esteja preocupado apenas com a faixa superior para operações curtas e a banda inferior para operações longas, ou você quer ver a altura total da faixa?
Há um grande número de valores diferentes que você pode ver e esse processo, conhecido como seleção de "recursos" no mundo da aprendizagem de máquina, é extremamente importante.
A escolha do recurso correto que contém mais informações relevantes para sua estratégia pode ter um impacto enorme no desempenho de sua estratégia.
Em vez de precisar avaliar esses recursos por conta própria, podemos usar uma floresta aleatória, uma poderosa técnica de aprendizado de máquina, para avaliar objetivamente esses recursos para nós.
Florestas Aleatórias.
As florestas aleatórias são uma abordagem conjunta baseada no princípio de que um grupo de "aprendizes fracos" pode ser combinado para formar um "aprendiz forte". Florestas aleatórias começam com a construção de um grande número de árvores de decisão individuais.
As árvores de decisão inserem uma entrada no topo da árvore e a enviam para baixo de suas ramificações, onde cada divisão representa níveis variáveis ​​de valores de indicadores. (Para saber mais sobre as árvores de decisão, dê uma olhada no nosso post anterior, no qual usamos uma árvore de decisão para negociar ações do Bank of America.)
Aqui está a árvore de decisão que construímos em um post anterior:
As árvores de decisão individuais são vistas como aprendizes bastante fracos, o que significa que eles podem facilmente ajustar os dados e ter problemas para generalizar bem os novos dados. Combinados em "florestas" com milhares de "campos", esses algoritmos simplistas podem formar uma abordagem de modelagem muito poderosa.
O sucesso em uma floresta aleatória é derivado em grande parte da capacidade de criar grande quantidade de variabilidade entre as árvores individuais. Isto é conseguido introduzindo um grau de aleatoriedade de duas maneiras diferentes:
Bagging Bagging, abreviação de "agregação de inicialização", significa simplesmente amostrar com substituição. Em vez de usar todo o conjunto de dados disponível para construir cada árvore, o conjunto de dados é amostrado aleatoriamente com cada ponto de dados disponível para ser selecionado novamente. Por exemplo, se fôssemos realizar um ensacamento em um conjunto de treinamento que consistisse nos números de 1 a 10, poderíamos acabar com o seguinte conjunto de dados: 1 3 2 1 5 7 5 5 7 10 Isso nos permite criar um número infinito de conjuntos de dados todo o mesmo tamanho e derivado do nosso conjunto de dados original. Subconjunto de indicadores Em vez de usar todos os indicadores disponíveis para construir cada árvore, apenas um subconjunto de indicadores escolhido aleatoriamente é usado. Por exemplo, se tivéssemos 5 recursos diferentes que estávamos testando, apenas 3 seriam usados ​​em cada árvore.
A partir dessas duas fontes de aleatoriedade, criamos uma floresta inteira de diversas árvores. Agora, para cada ponto de dados, cada árvore é chamada para fazer uma classificação e uma votação majoritária decide a decisão final.
Uma grande vantagem das florestas aleatórias é que elas são capazes de fornecer uma medida muito robusta do desempenho de cada indicador. Com milhares de árvores construídas com um conjunto de treinamento ensacado diferente e um subconjunto de indicadores, eles dizem quais indicadores foram os mais importantes para decidir a classe da variável que estamos tentando prever, neste caso, a direção do mercado.
Aproveitamos essa valiosa propriedade de florestas aleatórias para descobrir quais recursos, derivados das Bollinger Bands, devemos usar em nossa estratégia.
Criação de Funcionalidades.
Primeiro temos que decidir quais recursos derivam das bandas de Bollinger. Esta é uma área onde você pode ser criativo em criar cálculos e fórmulas sofisticadas, mas por enquanto vamos nos ater a 8 características básicas: Banda Superior - Preço A distância entre a faixa superior do preço atual Banda Média - Preço A distância entre o meio linha, uma média móvel simples de 20 períodos, e o preço atual Banda Inferior - Preço A distância entre a banda inferior o preço atual% B Mede o preço atual relativo às bandas superior e inferior:% B = (Preço Atual - Banda Inferior) / (Banda Superior - Banda Inferior)
Vamos também olhar para a mudança percentual de cada um dos recursos para adicionar um aspecto temporal: Variação percentual (Banda superior - Preço) A mudança percentual em um período da distância entre a banda superior e o preço atual. - Preço) A variação percentual em um período da distância entre a faixa do meio e o preço atual Porcentagem de alteração (Banda inferior - preço) A alteração percentual em um período da distância entre a banda inferior e o preço atual Porcentagem de alteração (% B ) A variação percentual em um período do valor% B.
Agora que temos nossos 8 recursos, vamos construir nossa floresta aleatória para ver quais recursos devemos usar em nossa estratégia.
Construindo nosso modelo.
Primeiro vamos instalar os pacotes e importar nosso conjunto de dados (você pode baixar os dados usados ​​aqui):
Antes de podermos construir nossa floresta aleatória, precisamos encontrar o número ideal de indicadores a serem usados ​​para cada árvore individual. Felizmente, o pacote de floresta aleatório que estamos usando pode nos ajudar:
Podemos ver que uma árvore com 2 características (mtry = 2), teve uma taxa de erro menor fora do saco (OOB), então vamos com isso para a nossa floresta aleatória.
Vejamos como os recursos se acumulam.
A "precisão de diminuição" mede quão pior cada modelo se comporta sem cada recurso e a "redução média Gini" é uma função matemática mais complexa que é uma medida de quão puro é o final de cada ramificação de árvore para cada característica.
Podemos ver imediatamente que a alteração percentual no valor de% B foi o fator mais importante e, em geral, observar a variação percentual nos valores foi melhor do que observar apenas a distância entre o preço e o valor superior, inferior e médio. linhas.
(Devido às duas fontes de aleatoriedade, você pode obter resultados ligeiramente diferentes, mas no geral achei as conclusões consistentes.)
Então agora sabemos quais recursos, baseados nas Bollinger Bands, devemos usar em nossa estratégia de negociação.
Conclusão.
As florestas aleatórias são uma abordagem muito poderosa que normalmente supera os algoritmos mais sofisticados. Eles podem ser usados ​​para classificação (previsão de uma categoria), regressão (previsão de um número) ou com seleção de recursos (como vimos aqui).
A seleção de recursos, ou a decisão sobre quais fatores incluir em sua estratégia, é uma parte extremamente importante da construção de qualquer estratégia e há muitas técnicas de aprendizado de máquina focadas na solução desse problema.
Com o TRAIDE, nós cuidamos do segundo passo: depois de selecionar os recursos para sua estratégia, usamos algoritmos de aprendizado de máquina para encontrar os padrões para você.
Crie sua própria conta aqui e, como sempre, feliz TRAIDING!

Estratégia de negociação aleatória de floresta
O aprendizado de máquina é uma ferramenta poderosa, não só para criar novas estratégias (como fazemos no TR AI DE), mas também para melhorar suas estratégias existentes.
Neste artigo, abordaremos o ajuste do tamanho de sua posição usando um algoritmo de floresta aleatória e desativando sua estratégia usando um Modelo oculto de Markov. Você pode copiar e colar o código R para experimentá-lo em suas próprias estratégias. Este artigo pressupõe que você já tenha uma estratégia. Você pode fazer o download do conjunto de dados históricos da minha estratégia aqui. Se você estiver procurando por uma nova estratégia, você pode rapidamente construir uma na TR AI DE e copiar as negociações da mesa de negociação no Dashboard para um csv. Apenas certifique-se de usar o mesmo formato que o csv acima.
Como melhorar o dimensionamento da posição.
O dimensionamento de posição é um aspecto importante, muitas vezes negligenciado, da negociação. Muitos traders consideram o dimensionamento de posição como uma maneira de diminuir o risco de queda sem vê-lo como uma ferramenta para aumentar o desempenho. Embora seja importante não arriscar muito de sua conta total em cada negociação (geralmente em torno de 2%), há maneiras muito melhores do que apenas usar um lote fixo ou porcentagem fixa, o tamanho da posição para cada negociação.
Uma linha lógica de pensamento seria entrar em uma posição maior quando o seu comércio tiver uma probabilidade maior de sucesso e uma posição menor quando você estiver menos seguro sobre o negócio. Usando uma floresta aleatória, um popular algoritmo de aprendizado de máquina, podemos estimar a probabilidade de sucesso para cada comércio e tamanho de acordo (nunca arriscando mais de 2% por comércio, é claro).
Fiz um detalhamento maior sobre o uso de uma floresta aleatória para construir uma estratégia baseada na Bollinger Band para o GBP / USD e podemos usar uma abordagem semelhante para nos ajudar a determinar o tamanho ideal da posição.
Dado o meu conjunto de dados de negociações históricas (você pode baixá-lo aqui para brincar com ele mesmo), primeiro classificamos cada negociação em três categorias com base em seu retorno: Ganhar comércios Retorna> = 10 pips Idealmente queremos entrar em posições maiores para estes comércios Negociações neutras Devoluções = -10 pips Podemos usar isso como nosso tamanho de posição padrão Perdendo trocas Retorna.

Categoria: Forrests aleatórios.
Sistemas de negociação de aprendizado de máquina.
O SPDR S & P 500 ETF (SPY) é um dos produtos de ETF amplamente negociados no mercado, com cerca de US $ 200 bilhões em ativos e volume de negócios médio de pouco menos de 200 milhões de ações diariamente. Assim, a probabilidade de ser capaz de desenvolver um sistema de negociação lucrativo usando informações publicamente disponíveis pode parecer pequena. Então, para nos darmos # 8230;
As técnicas de aprendizado de máquina podem ser usadas para prever a direção do mercado? O teste do modelo de 1.000.000.
Durante a década de 1990, o advento da Neural Networks desencadeou uma torrente de pesquisas sobre suas aplicações nos mercados financeiros, acompanhadas por algumas alegações bastante extravagantes sobre suas habilidades predicativas. Infelizmente, grande parte da pesquisa provou ser sub-padrão e os resultados ilusórios, após o que o tópico foi largamente relegado às arquibancadas, pelo menos em & # 8230;

Estratégia de negociação aleatória de floresta
Isso está estendendo a estrutura proposta por John Fawcett e Alex Izydorczyk há cerca de 2 anos para usar a classificação para prever e agir de acordo com tendências baseadas em momentum.
Usando retornos históricos como entrada no modelo de treinamento Random Forest. Para cada data, use os movimentos direcionais de cada um dos últimos 5 dias como recursos para treinar o modelo. Serão 60 exemplos, que são simplesmente os últimos 60 conjuntos de movimentos de 5 dias. A classificação preverá como alvo a direção do movimento do estoque no dia atual.
Para o dia atual, usamos os movimentos de cinco dias à direita da data atual como recursos na previsão do dia atual. Compre (long 10 shares) se o classificador prevê movimento ascendente na data atual, venda (short 10 shares) caso contrário.
Os resultados são mostrados para o algoritmo executado em BRK_A.
Eu adicionei uma linha ao seu algoritmo e corri o backtest. A linha registra seu saldo em dinheiro.
Infelizmente, parece que o seu algoritmo empresta uma quantia escandalosa de dinheiro. Seria legal pedir US $ 17.000.000 em uma base de US $ 10.000. . . . mas meu corretor não me deixa!
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta para fornecer serviços de consultoria de investimento pela Quantopian. Além disso, o material não oferece opinião com relação à adequação de qualquer investimento específico ou de segurança. Nenhuma informação aqui contida deve ser considerada como uma sugestão para se envolver ou se abster de qualquer ação relacionada ao investimento, pois nenhuma das suas afiliadas está comprometida em fornecer consultoria de investimento, atuar como um consultor para qualquer plano ou entidade sujeita a o Employee Retirement Income Security Act de 1974, conforme alterado, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em uma capacidade fiduciária com relação aos materiais aqui apresentados. Se você for um investidor individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado com a Quantopian sobre se qualquer ideia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não garante a exatidão ou integridade das opiniões expressas no site. As opiniões estão sujeitas a alterações e podem ter se tornado não confiáveis ​​por várias razões, incluindo mudanças nas condições de mercado ou circunstâncias econômicas.
É muito divertido pensar em pares de títulos que são indicadores ou contra-indicadores, então comecei a brincar com esse algoritmo. Alterei o algoritmo para usar ordens percentuais de destino em vez de ordens de contagem de ações e defini um tamanho de etapa para subir e descer na exposição ao estoque. Também defino uma exposição máxima longa e uma exposição mínima curta. O algoritmo registra a porcentagem alvo para o estoque, assim você pode ver o sentimento do algoritmo ao longo do backtest.
O original compartilhado estava usando o BRK_A para indicar para o BRK_A. Para fazer esse trabalho com meus pedidos de porcentagem, eu tive que começar com pelo menos US $ 1 milhão, já que o BRK_A tem um preço de ação nos seis números.
Mas achei mais interessante pensar em contra indicadores. O backtest anexado está usando o ETF SPDR Select Energy como um indicador contra o ETF SPDR Select Materials. Meu raciocínio foi que a lucratividade nos materiais básicos é inversa à da energia, porque a fabricação de materiais é intensiva em energia.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta para fornecer serviços de consultoria de investimento pela Quantopian. Além disso, o material não oferece opinião com relação à adequação de qualquer investimento específico ou de segurança. Nenhuma informação aqui contida deve ser considerada como uma sugestão para se envolver ou se abster de qualquer ação relacionada ao investimento, pois nenhuma das suas afiliadas está comprometida em fornecer consultoria de investimento, atuar como um consultor para qualquer plano ou entidade sujeita a o Employee Retirement Income Security Act de 1974, conforme alterado, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em uma capacidade fiduciária com relação aos materiais aqui apresentados. Se você for um investidor individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado com a Quantopian sobre se qualquer ideia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não garante a exatidão ou integridade das opiniões expressas no site. As opiniões estão sujeitas a alterações e podem ter se tornado não confiáveis ​​por várias razões, incluindo mudanças nas condições de mercado ou circunstâncias econômicas.

Como usar um classificador Random Forest no Python usando o Scikit-Learn.
Random Forest é um poderoso algoritmo de aprendizado de máquina, ele pode ser usado como um regressor ou como um classificador. É um meta estimador, o que significa que está usando um número específico de árvores de decisão para ajustar e prever.
Nós vamos usar o pacote Scikit-Learn em Python, é uma biblioteca muito útil que contém muitos algoritmos de aprendizado de máquina e ferramentas relacionadas.
Preparação de dados.
Para ver como a Random Forest pode ser aplicada, vamos tentar prever os futuros do S & P 500 (E-Mini), você pode obter os dados gratuitamente no Quandl. Aqui está o que parece:
A coluna Alterar precisa ser removida, pois há dados ausentes e essas informações podem ser recuperadas diretamente ao subtrair D fechar e fechar D-1.
Como é um classificador, precisamos criar classes para cada linha: 1 se o futuro subiu hoje, -1 se caiu ou permaneceu o mesmo.
Agora que temos um conjunto de dados completo com um valor previsível, a última coluna & # 8220; Return & # 8221; que é -1 ou 1, vamos criar o trem e testar o conjunto de dados.
Usando o algoritmo.
Quando tivermos tudo pronto, podemos começar a ajustar o classificador Random Forest em relação ao nosso conjunto de dados de trem:
predições é uma matriz contendo os valores previstos (-1 ou 1) para os recursos no data_X_test.
Você pode ver a precisão da previsão usando o método accuracy_score, que compara os valores previstos com os esperados.
O que vem depois?
Agora, por exemplo, você pode criar uma estratégia de negociação que será longa no futuro se o valor previsto for 1 e for curto se for "1". Isso pode ser facilmente backtested usando um mecanismo de backtest como Zipline em Python.
Com base no seu resultado de backtest você pode adicionar ou remover recursos, talvez a volatilidade ou a média móvel de 5 dias possa melhorar a precisão da previsão?

Como usar um classificador Random Forest no Python usando o Scikit-Learn.
Random Forest é um poderoso algoritmo de aprendizado de máquina, ele pode ser usado como um regressor ou como um classificador. É um meta estimador, o que significa que está usando um número específico de árvores de decisão para ajustar e prever.
Nós vamos usar o pacote Scikit-Learn em Python, é uma biblioteca muito útil que contém muitos algoritmos de aprendizado de máquina e ferramentas relacionadas.
Preparação de dados.
Para ver como a Random Forest pode ser aplicada, vamos tentar prever os futuros do S & P 500 (E-Mini), você pode obter os dados gratuitamente no Quandl. Aqui está o que parece:
A coluna Alterar precisa ser removida, pois há dados ausentes e essas informações podem ser recuperadas diretamente ao subtrair D fechar e fechar D-1.
Como é um classificador, precisamos criar classes para cada linha: 1 se o futuro subiu hoje, -1 se caiu ou permaneceu o mesmo.
Agora que temos um conjunto de dados completo com um valor previsível, a última coluna & # 8220; Return & # 8221; que é -1 ou 1, vamos criar o trem e testar o conjunto de dados.
Usando o algoritmo.
Quando tivermos tudo pronto, podemos começar a ajustar o classificador Random Forest em relação ao nosso conjunto de dados de trem:
predições é uma matriz contendo os valores previstos (-1 ou 1) para os recursos no data_X_test.
Você pode ver a precisão da previsão usando o método accuracy_score, que compara os valores previstos com os esperados.
O que vem depois?
Agora, por exemplo, você pode criar uma estratégia de negociação que será longa no futuro se o valor previsto for 1 e for curto se for "1". Isso pode ser facilmente backtested usando um mecanismo de backtest como Zipline em Python.
Com base no seu resultado de backtest você pode adicionar ou remover recursos, talvez a volatilidade ou a média móvel de 5 dias possa melhorar a precisão da previsão?

Estratégia de negociação aleatória de floresta
Esse algoritmo usa um classificador de floresta aleatório com um limite de quanto o preço foi movido (por exemplo, considere apenas y = Verdadeiro se o preço subiu ou desceu x%). Parece suavizar o SPY um pouco, mas claramente não é uma estratégia bem-sucedida. Eu acho que o que ajudaria é olhar para uma carteira de ações e usar um limite mais alto (atualmente usando 25bps). Por exemplo, digitalizar uma carteira de 100 ações para aqueles que atendem & gt; ou & lt; 2%, mas isso exigiria muito mais poder de processamento.
Obrigado por compartilhar o Michael! Mantenha-nos informados enquanto você continua trabalhando na lista de tarefas pendentes, e eu ficarei curioso para ver como isso acontece.
Tenha em mente que este tipo de estratégia não funcionará em negociação ao vivo, porque usa um objeto aleatório. Na negociação ao vivo, exigimos que os algoritmos sejam determinísticos. Nesta postagem, você encontrará uma explicação mais detalhada e a maneira como alguém encontrou uma solução alternativa (alerta de spoiler: usando o objeto datetime para obter pseudo-aleatoriedade): quantopian / posts / random-selection-with-ratcheting-price .
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta para fornecer serviços de consultoria de investimento pela Quantopian. Além disso, o material não oferece opinião com relação à adequação de qualquer investimento específico ou de segurança. Nenhuma informação aqui contida deve ser considerada como uma sugestão para se envolver ou se abster de qualquer ação relacionada ao investimento, pois nenhuma das suas afiliadas está comprometida em fornecer consultoria de investimento, atuar como um consultor para qualquer plano ou entidade sujeita a o Employee Retirement Income Security Act de 1974, conforme alterado, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em uma capacidade fiduciária com relação aos materiais aqui apresentados. Se você for um investidor individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado com a Quantopian sobre se qualquer ideia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não garante a exatidão ou integridade das opiniões expressas no site. As opiniões estão sujeitas a alterações e podem ter se tornado não confiáveis ​​por várias razões, incluindo mudanças nas condições de mercado ou circunstâncias econômicas.

Комментариев нет:

Отправить комментарий