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