Introdução
O artigo visa capacitá-lo a criar seus projetos, aprendendo como criar seu quadro de dados e coletar dados sobre o mercado de ações e o mercado de criptografia da Internet e, em seguida, basear seu código nisso.. Isso permitirá que você crie seus modelos de ML e faça experiências com dados do mundo real..
Neste artigo, Vou demonstrar dois métodos e ambos usam o Yahoo Finance como Fonte de dadosUMA "Fonte de dados" refere-se a qualquer lugar ou meio onde as informações podem ser obtidas. Essas fontes podem ser primárias e, como levantamentos e experimentos, como secundário, como bancos de dados, Artigos acadêmicos ou relatórios estatísticos. A escolha certa de uma fonte de dados é crucial para garantir a validade e confiabilidade das informações em pesquisa e análise...., porque é gratuito e não é necessário registro. Você pode usar qualquer outra fonte de dados como Quandi, Tiingo, Nuvem IEX e mais.
Preparando-se
Na primeira abordagem, vamos considerar o módulo financeiro em Python e é um módulo muito fácil de trabalhar. O outro módulo que falaremos é o yahoofinancials, que requer esforço extra, mas retorna um monte de informações adicionais em troca. Discutiremos isso mais tarde e agora começaremos importando os módulos necessários em nosso código..
Configuração inicial:
Precisamos carregar as seguintes bibliotecas:
importar pandas como pd importação yfinance como yf de yahoofinancials importar YahooFinancials
Se você não tem essas bibliotecas, você pode instalá-los via pip.
!pip instalar yfinance !pip instalar yahoofinanciais
Primeiro método: como usar yfinance
Era anteriormente conhecido como "fix_yahoo_finance", mas então ele foi transformado em um módulo de sua própria, mas o Yahoo não é oficial. O módulo 'yfinance’ agora é uma biblioteca muito popular que é muito compatível com Python e pode ser usada como um patch para o pandas_datareader ou uma biblioteca independente. Ele tem muitos usos potenciais e muitas pessoas o usam para baixar os preços das ações e também os preços das criptomoedas. Sem mais demora, vamos executar o seguinte código. Começaremos baixando o preço das ações da ‘Apple’
Código:
aapl_df = yf.download('AAPL', start ="2019-01-01", end = '2021-06-12', progress = False, ) aapl_df.head()
Produção :
O intervalo de dados está definido para 1 dia, mas o interno pode ser especificado externamente com valores como 1 m, 5 m, 15 m, 30 m, 60 m, 1h, 1d, 1 semana, 1 mês e mais. O comando acima para baixar os dados mostra uma data de início e término, mas você também pode simplesmente baixar os dados com o código fornecido abaixo:
Código:
aapl_df = yf.download('AAPL')
Produção :
Existem muitos parametroso "parametros" são variáveis ou critérios usados para definir, medir ou avaliar um fenômeno ou sistema. Em vários domínios, como a estatística, Ciência da Computação e Pesquisa Científica, Os parâmetros são essenciais para estabelecer normas e padrões que orientam a análise e interpretação dos dados. Sua seleção e manuseio adequados são cruciais para obter resultados precisos e relevantes em qualquer estudo ou projeto.... da função de download que você pode encontrar na documentação e o início e o fim são alguns dos mais comuns de serem usados. Como os dados eram pequenos, a barra de progresso foi definida como falsa e mostra que é inútil e deve ser usada para grandes volumes ou dados.
Também podemos baixar vários preços de ações para mais de um ativo ao mesmo tempo. Fornecimento de uma lista de nomes de empresas em formato de lista (p. Não. [‘FB’,'MSFT',‘AAPL’] ) como o argumento dos tickers. Também podemos fornecer um argumento adicional que é autotuning = True, de modo que todos os preços atuais sejam ajustados para possíveis ações corporativas, como divisões.
Além da função yf.download, também podemos usar o módulo ticker e você pode executar o seguinte código para baixar o mais recente 5 anos de preços das ações da Apple.
Código:
ticker = yf.Ticker('AAPL') aapl_df = ticker.history(período ="5e") aapl_df['Fechar'].enredo(título ="Preço das ações da APPLE")
Produção :
A única vantagem de usar um módulo ticker é que você pode tirar proveito dos vários métodos que estão conectados a ele.. Os métodos disponíveis que podemos usar são:
-
informação – Esse método imprime uma saída do formatador JSONJSON, o Notação de objeto JavaScript, É um formato leve de troca de dados que é fácil para os humanos lerem e escreverem, e fácil para as máquinas analisarem e gerarem. É comumente usado em aplicativos da web para enviar e receber informações entre um servidor e um cliente. Sua estrutura é baseada em pares de valores-chave, tornando-o versátil e amplamente adotado no desenvolvimento de software.. que contém muitas informações sobre a empresa, começando com o nome completo da empresa, o resumo, Indústria, as trocas listadas com o país e fuso horário, e mais. Ele também vem equipado com o beta coeficiente.
-
recomendações – Este método contém uma lista histórica de recomendações feitas por diferentes analistas sobre o estoque e se deve comprar., vender ou dar sugestões sobre isso.
-
calendário – Esta função mostra todos os eventos de entrada, como ganhos, e você pode até adicionar isso ao seu calendário do google via código. Basicamente, mostra datas de dividendos importantes para uma empresa.
Se você ainda quiser explorar mais sobre como as funções funcionam, você pode verificar isso GitHub repositório yfinance.
Segundo método: Como usar yahoofinancials?
O segundo método é usar o módulo yahoofinancials, que é um pouco mais difícil de trabalhar, mas fornece muito mais informações do que yfinance. Começaremos baixando os preços das ações da Apple.
Para fazer isso, primeiro passaremos um objeto YahooFinancials ignorando o nome do ticker Apply e, em seguida, usaremos uma variedade de informações importantes para obter os dados necessários. Aqui, os dados retornados estão no formato JSON e, portanto, fazemos um pouco de embelezamento para que possam ser transformados em um DataFrame para exibi-los corretamente.
Código:
yahoo_financials = YahooFinancials('AAPL') data = yahoo_financials.get_historical_price_data(start_date ="2019-01-01", data_final ="2019-12-31", time_interval ="semanalmente") aapl_df = pd.DataFrame(dados['AAPL']['preços']) aapl_df = aapl_df.drop('encontro', eixo = 1).set_index('formatted_date') aapl_df.head()
Produção :
Em um nível técnico, o processo de obtenção de um preço histórico das ações é um pouco mais longo do que o caso do yfinance, mas isso se deve principalmente ao grande volume de dados. Agora vamos passar para algumas das funções importantes de yahoofinancials.
-
get_stock_quote_type_data () – Este método retorna muitas informações genéricas sobre uma ação que é semelhante à função yfinance info (). A saída é algo assim.
-
get_summary_data () – Este método retorna um resumo de toda a empresa junto com dados úteis, como o valor beta, preço para valor de livro e muito mais.
-
get_stock_earnings_data () – Este método retorna informações sobre os ganhos trimestrais e anuais da empresa junto com a próxima data em que a empresa apresentará seus ganhos..
-
get_financial_stmts () – Este é outro método útil para recuperar as demonstrações financeiras de uma empresa que é útil para a análise de um estoque..
-
get_historical_price_data () – Este é um método semelhante à função de download () o Ticker () para obter os preços das ações com start_date, data final e intervalos de intervalo.
O módulo acima também pode ser usado para baixar dados da empresa de uma só vez, como yfinance e dados de criptomoeda também podem ser baixados conforme o código abaixo mostrado.
Código:
yahoo_financials = YahooFinancials('BTC-USD') data = yahoo_financials.get_historical_price_data("2019-07-10", "2021-05-30", "por mês") btc_df = pd.DataFrame(dados['BTC-USD']['preços']) btc_df = btc_df.drop('encontro', eixo = 1).set_index('formatted_date') btc_df.head()
Produção :
Para mais detalhes sobre o módulo, você pode verificar o seu GitHub Repositório.
Notas finais
A informação completa é finalmente obtida de Yahoo Finance e agora você sabe como importar qualquer conjunto de informações de estoque ou criptomoeda e dados de preços para o seu código e começar a explorar e experimentar com ele. Boa sorte com suas aventuras e fique à vontade para compartilhar seu código comigo no LinkedIn ou não hesite em contactar-me em caso de dúvidas ou erros.
Obrigado por ler até o fim. Espero que você esteja bem e que fique seguro e que se vacine logo ou que já esteja.
Sobre o autor :
Arnab Mondal
Engenheiro de dados e desenvolvedor Python | Escritor técnico freelance
Link para meus outros artigos