Quels sont les api que vous utilisez pour la finance?

Hello,

Ça fait quelques années que Google Finance Api n’est plus disponible, je me demandais quels sont les alternatives actuelles que vous utilisez ?

Bonne journée !

Noé

Salut,
J’ai contacté Euronext depuis leur portail pour avoir accès a leur API, mais ils ont refusé car ils donnent accès uniquement aux institutions.

J’ai regardé du coté de yahoo finance, et visiblement on arrive encore de façon non officielle à interroger certaines adresses, exemple :
https://query1.finance.yahoo.com/v7/finance/quote?&symbols=ESE.PA&crumb=iE87FplIpG1&formatted=false&region=FR&lang=fr-FR

https://query1.finance.yahoo.com/v8/finance/chart/ESE.PA?metrics=high?&interval=1d&range=1d

https://query1.finance.yahoo.com/v1/finance/search?q=ESE.PA

https://query2.finance.yahoo.com/v6/finance/options/ESE.PA

Par contre avec Yahoo on a 15 minutes de décalage.
Finalement, pour ce que je voulais faire, j’ai préféré scrapper le contenu des pages Euronext quis sont en temps réel, exemple pour l’ETF S&P 500 de bnp :

https://live.euronext.com/fr/ajax/getDetailedQuote/FR0011550185-XPAR

Ca m’a permis de faire en Autoit des Widgets pour les 4 ETF que j’ai dans mon portefeuille :
{54875799-4272-4BBC-8469-F9284DF822E7}

Bonjour Ă  tous

Je profite de cette discussion plus technique que financière.

J’entend beaucoup parler d’API, Web Scraping, Stock screener etc. et je me perd un peu dans toutes ces notions.

Je réfléchis très souvent à développer un outil qui me serait personnel et qui irait justement piocher à partir d’un site Web des informations pour me les restituer ensuite sans que j’ai besoin de me rendre sur un quelconque site pour obtenir l’information

Est ce que l’un de vous sait par ou je pourrai commencer pour acquérir les connaissances nécessaires à ces types de développements ?

Quand je vois des sites comme Morningstar ou Quantalys pour ne citer qu’eux j’imagine qu’ils ne vont pas chercher chaque jour les informations à la main pour mettre à jour leurs données mais qu’une grande partie comme la valeur liquidative, les performances etc sont directement tirées d’une source permettant d’auto alimenter leur site avec les données les plus récentes.

J’ai cru comprendre qu’il est possible de faire cela avec un simple fichier Excel ou un Google Sheet par exemple

Désolé si je m’exprime mal :sweat_smile:

Scrapping avec des outils en language python.
API yfinance sur github en accès gratuit. API fred (federal reserve) pour les données macro.
Eodfinance avec un abonnement pour les données financières et le calcul des ratios. Les bons sites de trading ont d excellentes API interactive broker, etrade.

1 « J'aime »

Bonjour @ZakZak

Merci pour votre réponse :ok_hand:

Norgate Data est trés au point mais payant.

API python pour données réserve fédérale

import pandas as pd
from fredapi import Fred
fred = Fred(api_key=‹ votre clef â€ş)

def get_dfNFCI(pf_init_startdate):
«  Â»"
The Chicago Fed’s National Financial Conditions Index (NFCI)
provides a comprehensive weekly update on U.S. financial conditions
in money markets, debt and equity markets and the traditional
and « shadow Â» banking systems.
Positive values of the NFCI indicate financial conditions that are tighter
than average,
while negative values indicate financial conditions that are looser
than average.
«  Â»"
print (« get Fred Macro indicator NFCI Â»)
dfNFCI =pd.DataFrame()
extra_parameters = {
« frequency Â»: « w Â»}

dfNFCI['WEEKLY DATA']= fred.get_series('NFCILEVERAGE',**extra_parameters)
dfNFCI.index.names = ['observation_date']       
#dfNFCI = dfNFCI.resample('M').last()
dfNFCI.index = dfNFCI.index.strftime('%Y-%m-%d')
dfNFCI.index = dfNFCI.index.astype(str)
return dfNFCI

Web scraping get vix data from CBOE web site
import requests
import urllib.request
import pandas as pd

def get_VIX_data (nb_of_days):

def get_row (data):
    #print (data)
    x=0
    row = []
    last_cell = ""
    for cell in data :
        if x < 17:
            
            row.append(cell.text)
        else:
            last_cell = cell   
        x=x+1
    #print (row)
    return (row,last_cell)


def initiate_get_row(data):
    for i in range(0,nb_of_days + 1):
        #print (i)
        row,next_data = get_row(data)
        
        data= next_data            #print (data)
        
        writer.writerow(row)      
    return

CICVIE_VIX_file = ‹ VIX Term Structure â€ş

url = CICVIE_VIX_file + str(nb_of_days)
#print ("VIX Url = " + str(url))
response = requests.get(url)
#print("status code = " +str(response.status_code))

soup = BeautifulSoup(response.text,"html.parser")
#print ("soup")
#print(soup)
table = soup.find('table')
#print ("table")
#print (table)
data = []
file = param.CICVIE_FILE_LOG + param.CICVIE_VIX_DATA + param.csvsuffix
if util.file_exist(file):
    util.delete_file(file)
VIXfile = open(file,'wt',newline='',encoding='utf-8')

writer = csv.writer(VIXfile)  
data = table.find('tr')    
initiate_get_row(data)
VIXfile.close()
VIXdata = pd.read_csv(file)
file = param.CICVIE_FILE_LOG + param.CICVIE_VIX_DATA + param.xlssuffix

if util.file_exist(file):
    util.delete_file(file)
VIXdata.to_excel (file, index = False, header=True)

return (VIXdata)

yfinance

import yfinance as yf
ticker=‹ ^VIX â€ş
VIXdata = yf.download(ticker, start=start, end=end)