Aprendizado Profundo Para Finanças
()
Sobre este e-book
Leia mais títulos de Jideon F Marques
O Guia Completo Para Bonecos De Crochê E Animais Nota: 5 de 5 estrelas5/5Técnicas De Sexo Tântrico Nota: 0 de 5 estrelas0 notasPosições Sexuais Tântricas Nota: 5 de 5 estrelas5/5Manual De Tdah Para Adultos Nota: 0 de 5 estrelas0 notasKama Sutra: Guia Ilustrado De Posições Sexuais Para Iniciantes E Avançados Nota: 0 de 5 estrelas0 notasFísica Quântica Para Iniciantes Nota: 5 de 5 estrelas5/5Psicologia Negra E Manipulação Nota: 0 de 5 estrelas0 notasA Enciclopédia De Óleos Essenciais Nota: 0 de 5 estrelas0 notasA Bíblia Do Swing Trader Nota: 0 de 5 estrelas0 notasDay Trading - Estratégias De Negociação Nota: 0 de 5 estrelas0 notasO Guia Das Técnicas Do Reiki - Cura Reiki Para Iniciantes Curando Mais De 100 Doenças Nota: 0 de 5 estrelas0 notasAumento Peniano Nota: 0 de 5 estrelas0 notasFeitiços De Amor Nota: 0 de 5 estrelas0 notasDecoração De Bolos Para Iniciantes: Um Guia Passo A Passo Para Decorar Como Um Profissional Nota: 0 de 5 estrelas0 notasBíblia De Programação Python Para Iniciantes Nota: 0 de 5 estrelas0 notasDicas De Sexo Tântrico; Todas As Dicas Que Você Precisa Saber Nota: 0 de 5 estrelas0 notasEngenharia Elétrica E Instrumentação Nota: 0 de 5 estrelas0 notasReceitas De Café Gelado Nota: 0 de 5 estrelas0 notasNervo Vago Exercícios Para Estimular Nota: 0 de 5 estrelas0 notasO Pequeno Livro Do Rootwork Nota: 0 de 5 estrelas0 notasReceitas De Iogurte Grego 40 Ótimas Receitas Nota: 0 de 5 estrelas0 notasAprenda Fazer Licores Deliciosos E Lucre Muito Com Vendas Online Nota: 0 de 5 estrelas0 notasAlongamento Para Idosos Nota: 0 de 5 estrelas0 notasThe Perfect Fit For Knitting Nota: 0 de 5 estrelas0 notasFermentação Para Iniciantes Nota: 0 de 5 estrelas0 notasReceitas Francesa Para Iniciantes Nota: 0 de 5 estrelas0 notasMarketing Do Instagram (guia Para Iniciantes 2023) Nota: 0 de 5 estrelas0 notas
Relacionado a Aprendizado Profundo Para Finanças
Ebooks relacionados
Bíblia De Programação Python Para Iniciantes Nota: 0 de 5 estrelas0 notasEstratégias de Trade para Opções Binárias: Aprenda Estratégias de Lucro com Opções Binárias Nota: 4 de 5 estrelas4/5Estratégias de Trade para Opções Binárias Nota: 1 de 5 estrelas1/5Business Intelligence: Implementar do jeito certo e a custo zero Nota: 4 de 5 estrelas4/5Gerenciamento de projetos de TI Nota: 0 de 5 estrelas0 notasModelagem De Dados Gráficos Em Python Nota: 0 de 5 estrelas0 notasEngenharia de recursos: Transforme dados brutos em recursos valiosos com Feature Engine Nota: 0 de 5 estrelas0 notasA Verdade Sobre a Análise Técnica para Ganhar em Bolsa Nota: 0 de 5 estrelas0 notasProgramação de Expert Advisor Para Iniciantes Nota: 0 de 5 estrelas0 notasData Visualization: Transforme dados em conhecimento Nota: 0 de 5 estrelas0 notasA Chave para Começar a Ganhar Dinheiro na Bolsa Nota: 0 de 5 estrelas0 notasPreço De Venda: Uma Função De Marketing E Gestão De Custos Nota: 0 de 5 estrelas0 notasA Lógica Do Jogo Nota: 0 de 5 estrelas0 notasProgramação de Expert Advisor Para Iniciantes: Estratégias de Lucro Máximo de Forex no MT4 Nota: 0 de 5 estrelas0 notasAnálise de Investimentos Econômicos e Financeiros Nota: 5 de 5 estrelas5/5Sistemas Orientados a Objetos: Conceitos e Práticas Nota: 0 de 5 estrelas0 notasBig Data para Executivos e Profissionais de Mercado - Terceira Edição: Big Data Nota: 0 de 5 estrelas0 notasMedo De Investir Em Ações? Então Leia! Nota: 0 de 5 estrelas0 notasAnálise De Dados Para Negócios Nota: 0 de 5 estrelas0 notasGuia 36 - Gerenciamento de Produção Nota: 0 de 5 estrelas0 notasOlhando O Futuro Nota: 0 de 5 estrelas0 notasVenda recorrente: Um método de vendas prático para sobreviver à indústria 4.0 Nota: 0 de 5 estrelas0 notasGerenciamento de Portfólio Nota: 0 de 5 estrelas0 notasArquitetando Soluções De Iot No Azure Nota: 0 de 5 estrelas0 notas
Negócios para você
O poder da ação: Faça sua vida ideal sair do papel Nota: 4 de 5 estrelas4/5Os 7 hábitos das pessoas altamente eficazes Nota: 4 de 5 estrelas4/5Coaching Communication: Aprenda a falar em público e assuma o palestrante que há em você Nota: 4 de 5 estrelas4/5Mapeamento comportamental - volume 1 Nota: 4 de 5 estrelas4/5Do mil ao milhão: Sem cortar o cafezinho Nota: 4 de 5 estrelas4/5Desvendando O Metodo De Taufic Darhal Para Mega Sena Nota: 4 de 5 estrelas4/5Estratégias Gratuitas de Marketing Digital: Alavanque seus ganhos na internet Nota: 4 de 5 estrelas4/5A melhor estratégia é atitude: Bora vender Nota: 5 de 5 estrelas5/5Seja foda! Nota: 5 de 5 estrelas5/5O código da mente extraordinária Nota: 4 de 5 estrelas4/5A ciência de ficar rico Nota: 5 de 5 estrelas5/5Programação Neurolinguística em uma semana Nota: 4 de 5 estrelas4/5Vou Te Ajudar A Fazer As Pessoas Clicar No Seu Link Nota: 5 de 5 estrelas5/5Como ser um grande líder e influenciar pessoas Nota: 0 de 5 estrelas0 notasDesafio 50k Nota: 3 de 5 estrelas3/5Desmistificando a Sutil Arte de Ligar o F*da-Se: Uma Abordagem Alternativa para uma Vida Melhor Nota: 0 de 5 estrelas0 notasManual do empreendedorismo: 74 dicas para ser um empreendedor de sucesso Nota: 4 de 5 estrelas4/510 Dicas de Ouro para ter Sucesso na Venda Direta Nota: 5 de 5 estrelas5/5O Que Ninguém Ensina Sobre O Copywriting Nota: 5 de 5 estrelas5/588 Segredos Dos Milionários Nota: 5 de 5 estrelas5/5Storytelling: Histórias que deixam marcas Nota: 3 de 5 estrelas3/55 Lições de Storytelling: Fatos, Ficção e Fantasia Nota: 5 de 5 estrelas5/5Falando Bonito: Uma reflexão sobre os erros de português cometidos em São Paulo e outros estados Nota: 4 de 5 estrelas4/5Assertividade em uma semana Nota: 5 de 5 estrelas5/5Dinheiro: 7 passos para a liberdade financeira Nota: 5 de 5 estrelas5/5
Avaliações de Aprendizado Profundo Para Finanças
0 avaliação0 avaliação
Pré-visualização do livro
Aprendizado Profundo Para Finanças - Jideon F Marques
Aprendizado profundo para finanças
Aprendizado profundo para finanças
Criando modelos de máquina e aprendizado
profundo para negociação em Python
Jideon Marques
Copyright © 2024 Jideon Marques
A obra, incluindo todo o conteúdo, é protegida por direitos autorais. Todos os direitos reservados. É proibida a reimpressão ou reprodução (incluindo extratos) sob qualquer forma (impressão, fotocópia ou outro processo), bem como o armazenamento, processamento, duplicação e distribuição por sistemas eletrônicos de qualquer espécie, no todo ou em extratos, sem autorização expressa. do autor.
Todos os direitos de tradução reservados.
Publicado de forma independente
Este conteúdo é fornecido com o único propósito de fornecer informações relevantes sobre um tópico específico para o qual todos os esforços razoáveis foram feitos para garantir que seja preciso e razoável. No entanto, ao adquirir este conteúdo, você concorda com o fato de que o autor, assim como o editor, não são de forma alguma especialistas nos tópicos aqui contidos, independentemente de quaisquer reivindicações como tal que possam ser feitas nele. Como tal, todas as sugestões ou recomendações feitas aqui são feitas exclusivamente para fins de entretenimento. É recomendável que você sempre consulte um profissional antes de realizar qualquer um dos conselhos ou técnicas discutidos aqui.
A reprodução, transmissão e duplicação de qualquer conteúdo aqui encontrado, incluindo qualquer informação específica ou extensa, será feita como um ato ilegal, independentemente da forma final que a informação assuma. Isso inclui versões copiadas da obra física, digital e de áudio, a menos que o consentimento expresso do Editor seja fornecido com antecedência. Quaisquer direitos adicionais reservados.
Prefácio
Aprender nunca esgota a mente.
Leonardo da Vinci
O aprendizado de máquina e o aprendizado profundo mudaram completamente o setor financeiro nos últimos anos. Os diferentes modelos de aprendizagem são adequados para um mundo onde os dados são abundantes e contínuos. Os dados são o novo ouro e o seu valor continua a aumentar à medida que análises adequadas levam a decisões empresariais importantes, que são o motor das mudanças económicas.
A ascensão dos fundos quantitativos é a prova viva de que o mundo da ciência de dados tem muito a oferecer ao mundo comercial. Depois dos traders fundamentais e técnicos, está a emergir uma nova geração de líderes do universo. Estes são os traders quantitativos que dependem de algoritmos baseados em máquinas com operações extremamente complexas que procuram prever e superar os mercados.
Este livro cobre em detalhes o assunto de aprendizado profundo para finanças.
Por que este livro?
Passei minha carreira pesquisando estratégias de negociação, técnicas e tudo relacionado ao mundo financeiro. Ao longo dos anos, familiarizei-me com alguns modelos algorítmicos que têm o potencial de agregar valor à estrutura de negociação.
Neste livro, discuto diferentes modelos de aprendizagem e suas aplicações no mundo do comércio, com foco em aprendizagem profunda e redes neurais. Meu principal objetivo é abordá-los de forma que todos entendam como funcionam.
As máquinas podem realizar operações e detecção melhor do que os humanos por vários motivos, um dos quais é a sua objetividade. Isso significa que uma das principais habilidades que você aprenderá é como usar Python para criar os algoritmos necessários para realizar tais operações.
Conforme mencionado, meu objetivo é fornecer uma introdução abrangente ao uso do aprendizado profundo em finanças. Faço isso discutindo uma ampla variedade de tópicos, incluindo ciência de dados, negociação, modelos de aprendizado profundo e de máquina e aplicativos de aprendizado por reforço para negociação.
O livro começa com uma visão geral do campo da ciência de dados e seu papel no mundo financeiro. Em seguida, ele se aprofunda nos requisitos de conhecimento, como estatística, matemática e Python, antes de se concentrar em como usar a aprendizagem automática e profunda em estratégias de negociação.
Quem deve ler?
Este livro destina-se a um público amplo, incluindo profissionais e acadêmicos de finanças, cientistas de dados, traders quantitativos e estudantes de finanças de qualquer nível. Ele fornece uma introdução completa ao uso de aprendizado de máquina e profundo na previsão de séries temporais e é um recurso essencial para quem deseja compreender e aplicar essas técnicas poderosas.
O livro pressupõe que você tenha conhecimento básico em programação Python (usuários profissionais de Python acharão o código muito simples) e negociação financeira. Adoto uma abordagem clara e simples que foca nos conceitos-chave para que você entenda o propósito de cada ideia.
Convenções utilizadas neste livro
As seguintes convenções tipográficas são usadas neste livro:
itálico
Indica novos termos, URLs, endereços de e-mail, nomes de arquivos e extensões de arquivos.
Largura constante
Usado para listagens de programas, bem como dentro de parágrafos para se referir a elementos de programas, como nomes de variáveis ou funções, bancos de dados, tipos de dados, variáveis de ambiente, instruções e palavras-chave.
Largura constante em negrito
Mostra comandos ou outros textos que devem ser digitados literalmente pelo usuário.
Largura constante em itálico
Mostra o texto que deve ser substituído por valores fornecidos pelo usuário ou por valores determinados pelo contexto.
Dica
Este elemento significa uma dica ou sugestão.
Observação
Este elemento significa uma nota geral.
Aviso
Este elemento indica um aviso ou cuidado.
Capítulo 1. Apresentando Ciência de Dados e Negociação A melhor maneira de começar a aprender sobre um tópico complexo é dividi-lo em partes menores e entendê-las primeiro. Compreender a aprendizagem profunda para finanças requer conhecimento de ciência de dados e de mercados financeiros.
Este capítulo estabelece os alicerces necessários para compreender completamente a ciência de dados e seus usos, bem como para compreender os mercados financeiros e como o comércio e a previsão podem se beneficiar da ciência de dados.
Ao final do capítulo, você deverá saber o que é ciência de dados, quais são suas aplicações e como usá-la em finanças para extrair valor.
Compreendendo os dados
É impossível compreender o campo da ciência de dados sem primeiro compreender os tipos e estruturas dos dados. Afinal, a primeira palavra para o nome desse imenso campo é dados. Então, o que são dados? E o mais importante, o que você pode fazer com isso?
Dados em sua forma mais simples e pura é uma coleção de informações brutas que podem ser de qualquer tipo (numérica, texto, booleana, etc.).
O objetivo final da coleta de dados é a tomada de decisões. Isso é feito por meio de um processo complexo que vai desde o ato de coletar e processar dados até interpretá-los e usar os resultados para tomar uma decisão.
Vejamos um exemplo de uso de dados para tomar uma decisão. Suponha que você tenha um portfólio composto por cinco ações diferentes que pagam dividendos com pesos iguais, conforme detalhado emTabela 1-1.
Tabela 1-1. Ações e seus rendimentos de dividendos Estoque Rendimento de dividendos
A
5,20%
B
3,99%
C
4,12%
D
6,94%
E
5,55%
Observação
Um dividendo é o pagamento feito aos acionistas a partir dos lucros de uma empresa.
O rendimento de dividendos é o valor distribuído em unidades monetárias sobre o preço atual das ações da empresa.
A análise desses dados pode ajudá-lo a compreender o rendimento médio de dividendos que você recebe de seu portfólio. A média é basicamente a soma dividida pela quantidade e fornece uma visão rápida do rendimento geral de dividendos do portfólio:
5.20% + 3.99% + 4.12% + 6.94% + 5.55%
Averagedividendyield =
= 5.16%
5
Portanto, o rendimento médio de dividendos da sua carteira é de 5,16%. Essas informações podem ajudá-lo a comparar seu rendimento médio de dividendos com outras carteiras, para que você saiba se precisa fazer algum ajuste.
Outra métrica que você pode calcular é o número de ações mantidas na carteira. Isto pode constituir o primeiro elemento informativo na construção de um muro de diversificação. Embora estas duas informações (rendimento médio de dividendos e número de ações na carteira) sejam muito simples, a análise complexa de dados começa com métricas simples e pode, por vezes, não exigir modelos sofisticados para interpretar adequadamente a situação.
As duas métricas calculadas no exemplo anterior são chamadas de média (ou média) e contagem (ou número de elementos). Eles fazem parte de um campo chamado estatística descritiva, discutido emCapítulo 3, que também faz parte da ciência de dados.
Vejamos outro exemplo de análise de dados para fins inferenciais. Suponha que você calculou uma medida de correlação anual entre duas commodities e deseja prever se a próxima correlação anual será positiva ou negativa.Tabela 1-2tem os detalhes dos cálculos.
Tabela 1-2. Medidas de correlação anuais
Ano
Correlação
2015 Positivo
2016 Positivo
2017 Positivo
2018 Negativo
2019 Positivo
2020 Positivo
2021 Positivo
2022 Positivo
2023 Positivo
Observação
Correlação é uma medida da confiança linear entre duas séries temporais. Uma correlação positiva geralmente significa que as duas séries temporais se movem, em média, na mesma direção, enquanto uma correlação negativa geralmente significa que
as duas séries temporais se movem, em média, em direções opostas. A correlação é discutida emCapítulo 3.
DeTabela 1-2, a correlação histórica entre as duas mercadorias foi maioritariamente (ou seja, 88%) positiva. Levando em conta as observações históricas, podemos dizer que há 88% de probabilidade de que a próxima medida de correlação seja positiva.
Isto também significa que há uma probabilidade de 12% de que a próxima medida de correlação seja negativa:
8
𝐸(Positivecorrelation) =
= 88.88%
9
Este é outro exemplo básico de como usar dados para tirar inferências de observações e tomar decisões. Claro, a suposição aqui é que os resultados históricos refletirão exatamente os resultados futuros, o que é improvável na vida real, mas ocasionalmente, para prever o futuro, tudo o que você tem é o passado.
Agora, antes de discutir a ciência de dados, vamos revisar quais tipos de dados podem ser usados e segmentá-los em diferentes grupos:
Dados numéricos
Este tipo de dados é composto por números que refletem um determinado tipo de informação que é coletada em intervalos regulares ou irregulares. Os exemplos podem incluir dados de mercado (OHLC,1volume, spreads, etc.) e dados das demonstrações financeiras (ativos, receitas, custos, etc.).
Dados categóricos
Dados categóricos são dados que podem ser organizados em grupos ou categorias usando nomes ou rótulos. É qualitativo e não quantitativo. Por exemplo, o tipo sanguíneo dos pacientes é um tipo de dado categórico. Outro exemplo é a cor dos olhos de diferentes amostras de uma população.
Dados de texto
Os dados de texto têm aumentado nos últimos anos com o desenvolvimento do processamento de linguagem natural (PNL). Os modelos de aprendizado de máquina usam dados de texto para traduzir, interpretar e analisar o sentimento do texto.
Dados visuais
Imagens e vídeos também são considerados dados e você pode processá-los e transformá-los em informações valiosas. Por exemplo, uma rede neural convolucional (CNN) é um tipo de algoritmo (discutido emCapítulo 8) que pode reconhecer e categorizar fotos por rótulos (por exemplo, rotular fotos de gatos como gatos).
Dados de áudio
Os dados de áudio são muito valiosos e podem ajudar a economizar tempo nas transcrições. Por exemplo, você pode usar algoritmos de áudio para criar legendas e criar legendas automaticamente. Você também pode criar modelos que interpretam o sentimento do locutor usando o tom e o volume do áudio.
Ciência de dados é um campo transdisciplinar que tenta extrair inteligência e conclusões de dados utilizando diferentes técnicas e modelos, sejam eles simples ou complexos. O processo de ciência de dados é composto por muitas etapas além de apenas analisar os dados. O seguinte resume essas etapas: 1. Coleta de dados: Este processo envolve a aquisição de dados de fontes confiáveis e precisas. Uma frase amplamente conhecida na ciência da computação, geralmente creditada a George Fuechsel, é Entra lixo, sai lixo
e se refere à necessidade de ter dados de qualidade nos quais você possa confiar para uma análise adequada. Basicamente, se você tiver dados imprecisos ou defeituosos, todos os seus processos serão inválidos.
2. Pré-processamento de dados: Ocasionalmente, os dados que você adquire podem estar em formato bruto e precisam ser pré-processados e limpos para que os modelos de ciência de dados possam usá-los. Por exemplo, descartar dados desnecessários, adicionar valores ausentes ou eliminar dados inválidos e duplicados pode fazer parte da etapa de pré-processamento. Outros exemplos mais complexos podem incluir normalização e eliminação de ruído de dados. O
objetivo desta etapa é preparar os dados para análise.
3. Exploração de dados: Durante esta etapa, é realizada pesquisa estatística básica para encontrar tendências e outras características nos dados. Um exemplo de exploração de dados é calcular a média dos dados.
4. Visualização de dados: esta é uma etapa importante que complementa a etapa anterior. Inclui a criação de visualizações como histogramas e mapas de calor para ajudar a identificar padrões e tendências e facilitar a interpretação.
5. Análise de dados: Este é o foco principal do processo de ciência de dados. É
quando você ajusta (treina) os dados usando diferentes modelos de aprendizagem para que eles interpretem e prevejam o resultado futuro com base nos parâmetros fornecidos.
6. Interpretação de dados: Esta etapa trata da compreensão do feedback e das conclusões apresentadas pelos modelos de ciência de dados. A otimização também pode fazer parte desta etapa; nesses casos, voltamos à etapa 5 e executamos os modelos novamente com os parâmetros atualizados antes de reinterpretá-los e avaliar o desempenho.
Vejamos um exemplo simples em Python que aplica as etapas do processo de ciência de dados. Suponha que você queira analisar e prever o VIX (índice de volatilidade), um indicador de série temporal de volatilidade que representa a volatilidade implícita do índice do mercado de ações S&P 500. O VIX está disponível desde 1993 e é emitido pela Chicago Board Options Exchange (CBOE).
Observação
Há também uma etapa oculta no processo de ciência de dados que chamo de etapa zero, e ocorre quando você forma uma ideia com base em qual processo deve ser iniciado. Afinal, você não estaria aplicando o processo se não tivesse primeiro um motivo. Por exemplo, acreditar que os números da inflação podem impulsionar os
retornos de determinadas commodities é uma ideia e um motivo para começar a explorar os dados em busca de números reais que comprovem esta hipótese.
Como se destina a medir o nível de medo ou incerteza no mercado de ações, o VIX é frequentemente referido como índice do medo. É uma percentagem calculada utilizando a precificação de opções no S&P 500. Um valor VIX mais elevado está correlacionado com uma maior turbulência e incerteza do mercado, enquanto um valor mais baixo está correlacionado com uma maior estabilidade, em média.
O primeiro passo é a coleta de dados, que neste caso pode ser automatizada usando Python. O bloco de código a seguir se conecta ao site do Federal Reserve de Saint Louis e baixa os dados históricos do VIX entre 1º de janeiro de 1990 e 23 de janeiro de 2023
(Capítulo 6dedica-se a apresentar Python e escrever código; por enquanto, você não precisa entender o código, pois esse ainda não é o objetivo):
# Importando a biblioteca necessária
importar pandas_datareader como pdr
#Definindo o início e o fim dos dados históricos
data_inicial = '1990-01-01'
data_final = '23/01/2023'
# Criando um dataframe e baixando os dados VIX
vix = pdr.DataReader('VIXCLS', 'fred', data_inicial, data_final)
# Imprimindo as últimas cinco observações do dataframe imprimir(vix.tail())
O código usa a biblioteca pandas para importar a função DataReader, que busca os dados históricos online de diversas fontes. A função DataReader leva o nome dos dados como primeiro argumento, seguido pela fonte e pelas datas. A saída de print(vix.tail()) é mostrada emTabela 1-3.
Tabela 1-3. Saída de print(vix.tail())
DATA
VIXCLS
17/01/2023 19h36
01/01/2023 20h34
19/01/2023 20.52
2023-01-20 19h85
23/01/2023 19.81
Vamos para a segunda etapa: pré-processamento de dados. Divido esta parte em verificação de dados inválidos e transformação dos dados para que estejam prontos para uso. Ao lidar com séries temporais, especialmente séries temporais baixadas, às vezes você pode encontrar valores nan. NaN significa Not a Number, e os valores nan ocorrem devido a dados ausentes, inválidos ou corrompidos.
Você pode lidar com valores nan de várias maneiras. Para fins deste exemplo, vamos usar a maneira mais simples de lidar com esses valores inválidos, que é eliminá-los.
Mas primeiro, vamos escrever um código simples que produza o número de nan valores no dataframe para que você tenha uma ideia de quantos valores irá excluir:
# Calculando o número de valores nan
contagem_nan = vix['VIXCLS'].isnull().sum()
# Imprimindo o resultado
print('Número de valores nan no dataframe VIX: ' + str(count_nan)) O código usa a função isnull() e soma o número obtido, o que fornece o número de nan valores. A saída do trecho de código anterior é a seguinte: Número de valores nan no dataframe VIX: 292
Agora que você tem uma ideia de quantas linhas irá excluir, você pode usar o seguinte código para eliminar as linhas inválidas:
# Removendo os valores nan das linhas
vix = vix.dropna()
A segunda parte da segunda etapa é transformar os dados. Os modelos de ciência de dados normalmente requerem dados estacionários, que são dados com propriedades estatísticas estáveis, como a média.
Observação
O conceito de estacionariedade e as métricas estatísticas necessárias são discutidas em detalhes emCapítulo 3. Por enquanto, tudo que você precisa saber é que é provável que você tenha que transformar seus dados brutos em dados estacionários ao usar modelos de ciência de dados.
Para transformar os dados VIX em dados estacionários, você pode simplesmente calcular as diferenças de um valor em relação ao valor anterior. O trecho de código a seguir pega o dataframe VIX e o transforma em dados estacionários teoricamente implícitos:2
# Tomando as diferenças na tentativa de tornar os dados estacionários vix = vix.diff(períodos = 1, eixo = 0)
# Eliminando o primeiro valor do dataframe
vix = vix.iloc[1: , :]
A terceira etapa é a exploração de dados, que consiste em compreender os dados que você tem à sua frente, estatisticamente falando. Como você verá métricas estatísticas em detalhes emCapítulo 3, limitarei a discussão apenas ao cálculo da média do conjunto de dados.
A média é simplesmente o valor que pode representar os outros valores no conjunto de dados se eles elegerem um líder. É a soma dos valores dividida pela sua quantidade. A média é a estatística mais simples no mundo da estatística descritiva e é definitivamente a mais utilizada. A fórmula a seguir mostra a representação matemática da média de um conjunto de valores:
𝑖
1
𝑥 =
∑ 𝑥
𝑛
𝑖
𝑖=1
Você pode calcular facilmente a média do conjunto de dados da seguinte maneira:
# Calculando a média do conjunto de dados
média = vix[VIXCLS
].média()
# Imprimindo o resultado
print('A média do conjunto de dados = ' + str(média))
A saída do trecho de código anterior é a seguinte:
A média do conjunto de dados = 0,0003
A próxima etapa é a visualização de dados, que é considerada principalmente uma etapa divertida. Vamos traçar os valores diferenciados do VIX ao longo do tempo. O
trecho de código a seguir representa os dados VIX mostrados emFigura 1-1:
# Importando a biblioteca necessária
importar matplotlib.pyplot como plt
# Plotando as últimas 250 observações em preto com um rótulo plt.plot(vix[–250:], cor = 'preto', largura de linha = 1,5, label = 'Alteração no VIX')
# Traçando uma linha horizontal tracejada vermelha que seja igual à média plt.axhline(y = média, cor = 'vermelho', estilo de linha = 'tracejado')
# Chamando uma grade para facilitar o componente visual grade()
# Chamando a função de legenda para que ela apareça no gráfico plt.legenda()
# Chamando o enredo
plt.show()
Figura 1-1. Mudança no VIX desde o início de 2022
As etapas 5 e 6, análise e interpretação de dados, são o que você estudará detalhadamente neste livro, portanto, vamos ignorá-las por enquanto e nos concentrar na parte introdutória da ciência de dados.
Voltemos ao problema dos dados inválidos ou ausentes antes de prosseguir. Às vezes, os dados estão incompletos e faltam células. Embora isto tenha o potencial de prejudicar a capacidade preditiva do algoritmo, não deve impedi-lo de continuar a análise, pois existem soluções rápidas que ajudam a diminuir o impacto negativo das células vazias. Por exemplo, considereTabela 1-4.
Tabela 1-4. PIB trimestral
Trimestre
PIB
1º trimestre de 2020 0,9%
2º trimestre de 2020 1,2%
3º trimestre de 2020 0,5%
4º trimestre de 2020 0,4%
1º trimestre de 2021 #N / D
2º trimestre de 2021 1,0%
3º trimestre de 2021 1,1%
4º trimestre de 2021 0,6%
A tabela contém o produto interno bruto (PIB) trimestral3de um país hipotético.
Observe como falta o valor da tabela para o primeiro trimestre de 2021. Existem três maneiras básicas de resolver esse problema:
Exclua a célula que contém o valor ausente.
Esta é a técnica usada no exemplo VIX. Simplesmente considera que o carimbo de data/hora não existe. É a solução mais fácil.
Suponha que a célula ausente seja igual à célula anterior.
Esta também é uma solução simples que visa suavizar os dados em vez de ignorar completamente o problema.
Calcule uma média ou mediana das células em torno do valor vazio.
Esta técnica leva a suavização um passo adiante e assume que o valor ausente é igual à média entre os valores anteriores e seguintes. Além disso, pode ser a média de algumas observações anteriores.
A ciência de dados compreende uma variedade de conceitos matemáticos e estatísticos e requer um conhecimento profundo de algoritmos de aprendizado de máquina. Neste livro, esses conceitos são discutidos detalhadamente, mas também de uma maneira fácil de entender, para beneficiar leitores técnicos e não técnicos. Muitos modelos são considerados caixas misteriosas, e há um toque de verdade nisso, mas o trabalho de um cientista de dados é compreender os modelos antes de interpretar seus resultados. Isso ajuda a compreender as limitações dos modelos.
Este livro usa Python como linguagem de programação ideal para criar os algoritmos.
Como mencionado,Capítulo 6apresenta Python e o conhecimento necessário para manipular e analisar os dados, mas também fornece as bases para a criação de diferentes modelos, que, como você verá, são mais simples do que você imagina.
Antes de passar para a próxima seção, vamos dar uma olhada no conceito de armazenamento de dados. Afinal, os dados são valiosos, mas você precisa armazená-los em um local onde possam ser facilmente obtidos e analisados.
Armazenamento de dados refere-se às técnicas e áreas utilizadas para armazenar e organizar dados para análises futuras. Os dados são armazenados em vários formatos, como CSV e XLSX. Outros tipos de formatos podem incluir XML, JSON e até JPEG para imagens. O formato é escolhido de acordo com a estrutura e organização dos dados.
Os dados também podem ser armazenados na nuvem ou no local, dependendo da capacidade e dos custos de armazenamento. Por exemplo, você pode querer manter seu histórico de um minuto de dados de ações da Apple na nuvem, em vez de em um arquivo CSV, para economizar espaço em seu computador local.
Ao lidar com séries temporais em Python, você lidará principalmente com dois tipos de armazenamento de dados: arrays e dataframes. Vamos dar uma olhada no que são:
Variedade
Um array é usado para armazenar elementos do mesmo tipo. Normalmente, é melhor manter um conjunto de dados homogêneo (como números) em uma matriz.
Quadro de dados
Um dataframe é uma estrutura bidimensional que pode conter dados de vários tipos.
Pode ser comparado a uma tabela com colunas e linhas.
Em geral, arrays devem ser usados sempre que uma coleção homogênea de dados precisar ser armazenada de forma eficiente. Ao lidar com dados heterogêneos ou quando precisar editar e analisar dados de maneira tabular, você deve usar dataframes.
Observação
A ciência de dados está em constante evolução. Novos métodos de armazenamento estão sendo desenvolvidos a todo momento na tentativa de torná-los mais eficientes e aumentar sua capacidade e velocidade.
Compreendendo a ciência de dados
A ciência de dados desempenha um papel essencial na tecnologia e no progresso. Os algoritmos dependem de informações fornecidas por ferramentas de ciência de dados para executar suas tarefas. Mas o que são algoritmos?
Um algoritmo é um conjunto de procedimentos ordenados projetados para concluir uma determinada atividade ou resolver um problema específico. Um algoritmo pode ser tão simples quanto um cara ou coroa ou tão sofisticado quanto o algoritmo de Risch.4
Vejamos um algoritmo muito simples que atualiza uma plataforma de gráficos com os dados financeiros necessários. Este algoritmo seguiria estas etapas: 1. Conecte o servidor e o provedor de dados online.
2. Copie os dados financeiros com o carimbo de data/hora mais recente.
3. Cole os dados na plataforma de gráficos.
4. Volte à etapa 1 e refaça todo o processo.
Essa é a natureza dos algoritmos: executar um determinado conjunto de instruções com um objetivo finito ou infinito.
Observação
As seis etapas da ciência de dados discutidas na seção anterior também podem ser consideradas um algoritmo.
As estratégias de negociação também são algoritmos, pois possuem regras claras para o início e liquidação de posições. Um exemplo de estratégia de negociação é a arbitragem de mercado.
Arbitragem é um tipo de estratégia de negociação que visa lucrar com diferenças de preços de um mesmo ativo cotado em diferentes bolsas. Estas diferenças de preços são anomalias que são apagadas pelos arbitradores através das suas atividades de compra e venda. Considere uma ação negociada na bolsa A e na bolsa B em países diferentes (por razões de simplicidade, os dois países usam a mesma moeda).
Naturalmente, as ações devem ser negociadas ao mesmo preço em ambas as bolsas.
Quando esta condição não se verifica, os arbitradores saem dos seus covis para caçar.
Eles compram as ações na bolsa mais barata e as vendem imediatamente na bolsa mais cara, garantindo assim um lucro praticamente livre de risco. Essas operações são realizadas na velocidade da luz, pois as diferenças de preços não duram muito devido ao poder e à velocidade dos arbitradores. Para esclarecer, aqui está um exemplo:
•
O preço da ação na bolsa A = $ 10,00.
•
O preço da ação na bolsa B = $ 10,50.
O algoritmo do arbitrador neste caso fará o seguinte:
1. Compre as ações na bolsa A por $ 10,00.
2. Venda as ações imediatamente na bolsa B por $ 10,50.
3. Embolse a diferença (US$ 0,50) e repita até que a lacuna seja fechada.
Observação
Os algoritmos de negociação e execução podem ser altamente complexos e requerem conhecimento especializado e uma certa vantagem de mercado.
Neste ponto, você deve estar ciente dos dois usos principais da ciência de dados: interpretação de dados e previsão de dados:
Interpretação de dados
Também comumente referido como business intelligence ou simplesmente inteligência de dados. O objetivo da implantação dos algoritmos é entender o quê e como dos dados.
Previsão de dados
Também comumente chamada de análise preditiva ou simplesmente previsão. O
objetivo da implantação dos algoritmos é entender o que vem a seguir dos dados.
O principal objetivo do uso de algoritmos de aprendizagem nos mercados financeiros é prever os preços futuros dos ativos para que você possa tomar uma decisão comercial informada que resulte na valorização do capital com uma taxa de sucesso superior à aleatória. Discuto muitos algoritmos de aprendizagem simples e complexos neste livro. Esses algoritmos ou modelos de aprendizagem podem ser categorizados da seguinte forma:
Aprendizagem supervisionada
Algoritmos de aprendizagem supervisionada são modelos que requerem dados rotulados para funcionar. Isso significa que você deve fornecer dados para que o modelo se treine nesses valores passados e compreenda os padrões ocultos para que possa fornecer resultados futuros ao encontrar novos dados. Exemplos de aprendizagem supervisionada incluem algoritmos de regressão linear e modelos florestais aleatórios.
Aprendizagem não supervisionada
Algoritmos de aprendizagem não supervisionados são modelos que não requerem dados rotulados para funcionar. Isso significa que eles podem fazer o trabalho com dados não rotulados, uma vez que foram criados para encontrar padrões ocultos por conta própria. Os exemplos incluem algoritmos de agrupamento e análise de componentes principais (PCA).
Aprendizagem por reforço
Algoritmos de aprendizagem por reforço são modelos que não necessitam de dados, pois descobrem seu ambiente e aprendem com ele por conta própria. Em contraste com os modelos de aprendizagem supervisionada e não supervisionada, os modelos de aprendizagem por reforço ganham conhecimento através do feedback obtido do ambiente através de um sistema de recompensa. Como isso geralmente se aplica a situações em que um agente interage com o ambiente e aprende a adotar comportamentos que maximizam a recompensa ao longo do tempo, pode não ser o algoritmo ideal para regressão de série temporal. Por outro lado, pode ser usado para
desenvolver uma política que possa ser aplicada a dados de séries temporais para criar previsões.
Como você deve ter notado, o título do livro é Deep Learning for Finance. Isso significa que, além de cobrir outros modelos de aprendizagem, passarei uma parte considerável do livro discutindo modelos de aprendizagem profunda para previsão de séries temporais. O aprendizado profundo gira principalmente em torno do uso de redes neurais, um algoritmo discutido em profundidade emCapítulo 8.
Modelos de aprendizagem supervisionada profunda (como redes neurais profundas) podem aprender representações hierárquicas dos dados porque incluem muitas