Si je voulais obtenir des données boursières pour la Bourse de New York (NYSE) et le NASDAQ, j'avais besoin de connaître le symbole boursier de l'action, alors je vais vous montrer comment. Nous n'avons pas confirmé que toutes les actions cotées sont cotées, veuillez donc vous y référer.
Windows 10 home
Anaconda(Python 3.7.6)
Pandas 0.24.2
Obtenez la liste du ftp du NASDAQ et modelez-la.
import pandas as pd
others_list = 'ftp://ftp.nasdaqtrader.com/symboldirectory/otherlisted.txt'
nasdaq_list = 'ftp://ftp.nasdaqtrader.com/symboldirectory/nasdaqlisted.txt'
def symbols_nyse():
    other = pd.read_csv(others_list, sep='|')
    #Obtenez des trucs NYSE
    company_nyse = other[other['Exchange']=='N'][['ACT Symbol', 'Security Name']]
    #Les FNB comprennent MYSE MKT, NYSE ARCA et MATS.
    etf_other = other[other['ETF'] == 'Y'][['ACT Symbol', 'Security Name', 'Exchange']]   
    #l'index se réinitialise
    company_nyse = company_nyse.reset_index(drop=True)
    etf_other = etf_other.reset_index(drop=True)
    #ACT Symbol -> Symbol
    company_nyse = company_nyse.rename(columns={'ACT Symbol':'Symbol'})
    etf_other = eft_other.rename(columns={'ACT Symbol':'Symbol'})
    
    return company_nyse, etf_other
def symbols_nasdaq():
    nasdaq = pd.read_csv(nasdaq_list, sep='|')
    #Obtenez uniquement ceux avec un statut normal
    nasdaq_normal = nasdaq[nasdaq['Financial Status']=='N']
    #Sélectionnez-en un qui n'est pas un problème de test
    nasdaq_normal = nasdaq_normal[nasdaq_normal['Test Issue']=='N']
    #Déterminé par s'il s'agit d'un ETF
    company_nasdaq = nasdaq_normal[nasdaq_normal['ETF']=='N'][['Symbol', 'Security Name']]
    etf_nasdaq = nasdaq_normal[nasdaq_normal['ETF']=='Y'][['Symbol', 'Security Name']]
    #l'index se réinitialise
    company_nasdaq = company_nasdaq.reset_index(drop=True)
    etf_nasdaq = etf_nasdaq.reset_index(drop=True)
    return company_nasdaq, etf_nasdaq
def symbols_all():
    company_nyse, etf_other = symbols_nyse()
    company_nasdaq, etf_nasdaq = symbols_nasdaq()
    #Distinguer NYSE et NASDAQ
    company_nyse['Market'] = 'NYSE'
    company_nasdaq['Market'] = 'NASDAQ'    
    #Distinguer également les FNB NASDAQ
    etf_nasdaq['Exchange'] = 'NASDAQ'#etf_Correspondance avec un autre nom de colonne
    return (pd.concat([company_nyse, company_nasdaq], ignore_index=True, sort=False),
            pd.concat([etf_other, etf_nasdaq], ignore_index=True, sort=False))
Vous pouvez voir le symbole boursier d'une société cotée en regardant la colonne «Symbole».
company, etf = symbols_all()
company
 
Recommended Posts