Vamos lá:
1) Extrair lista de tickers brasileiros (somente ações) das bibliotecas python-yahoofinance ou outra fonte confiável e gratuita
2) A partir da lista de tickers extraídos (que devem ser atualizados diariamente para verificar se saiu ou ingressou nova empresa da bolsa), realizar a seguinte consulta:
from requests import Response
import tradingview_ta
#
https://tvdb.brianthe.dev/ para os parâmetros válidos
#
https://tvdb.brianthe.dev/ pesquisar Screener = Brazil para lista completa.
#
https://tvdb.brianthe.dev/
#
https://tradingview.brianthe.dev/
#
https://python-tradingview-ta.readthedocs.io/en/latest/usage.html#importing-tradingview-ta
#
https://br.tradingview.com/symbols/BMFBOVESPA-PETR4/technicals/
#
https://python-tradingview-ta.readthedocs.io/en/latest/overview.html?highlight=exchange#quick-start
#
https://python-tradingview-ta.readthedocs.io/en/latest/usage.html#retrieving-multiple-analysis
#
https://python-tradingview-ta.readthedocs.io/en/latest/index.html
#
https://pypi.org/project/tradingview-ta/
#
https://scanner.tradingview.com/america/scan
#
https://github.com/brian-the-dev/tradingview-list
from tradingview_ta import *
consulta1 = TA_Handler(
symbol="Petr4",
screener="brazil",
exchange="bmfbovespa",
interval="1d" # ou => interval=interval.Interval_1_day,
# proxies={'http': 'http://0.0.0.0:8080', 'https': 'https://0.0.0.0:443'}
# inserir no código a linha acima do proxy mas deixar comentada.
)
Print(consulta1.get_analysis().summary)
print(consulta1.get_analysis().oscillators)
print(consulta1.get_analysis().moving_averages)
print(consulta1.get_analysis().indicators)
# class Interval:
# INTERVAL_1_DAY = "1d"
# INTERVAL_1_WEEK = "1W"
# INTERVAL_1_MONTH = "1M"
Os dados da biblioteca utilizada (tradingview-ta) estão comentados acima para documentação.
Realizar as consultas conforme este código e extrair os resultados para tabelas no banco de dados mysql que possuo na núvem (Oracle Cloud)
Este código deve ser salvo no meu github (adiciono o dev como colaborador para ter acesso à pasta) e vou disponibilizar acesso a uma vm para que todos os programas, conectores e bibliotecas sejam instalados devidamente.
Esta consulta deverá ser realizada de forma diária, apóis meia noite, e deverá ser configurada em crontab/cronjob para que todos os dias tanto a lista de empresas que é a base da consulta como as tabelas de resultados sejam atualizados (não será insert de nova linha, mas somente 'update. Somente terá insert caso novo ticker ingresse na lista de empresas, então os dados deverão ser inseridos no banco).
Parâmetros=>
Symbol => TODOS os tickers da bolsa brasileira (fonte = yfinance, ou bibliotecas tradingview ou
investing.com de python. Recomendável deixar mais de uma biblioteca ativa pois se uma falhar, a outra resgata os dados)
Interval=> 1dia, 1 semana, 1 mês. Parâmetros estão no código.
Prazo de Entrega: Não estabelecido