Wenn ich Börsendaten für die New York Stock Exchange (NYSE) und die NASDAQ erhalten wollte, musste ich das Tickersymbol der Aktie kennen, damit ich Ihnen zeigen kann, wie. Wir haben nicht bestätigt, dass alle börsennotierten Aktien gelistet sind. Bitte beziehen Sie sich darauf.
Windows 10 home
Anaconda(Python 3.7.6)
Pandas 0.24.2
Holen Sie sich die Liste von NASDAQs FTP und formen Sie sie.
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='|')
#Holen Sie sich NYSE-Zeug
company_nyse = other[other['Exchange']=='N'][['ACT Symbol', 'Security Name']]
#Zu den ETFs gehören MYSE MKT, NYSE ARCA und MATS.
etf_other = other[other['ETF'] == 'Y'][['ACT Symbol', 'Security Name', 'Exchange']]
#Index wird zurückgesetzt
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='|')
#Holen Sie sich nur diejenigen mit normalem Status
nasdaq_normal = nasdaq[nasdaq['Financial Status']=='N']
#Wählen Sie eine aus, bei der es sich nicht um ein Testproblem handelt
nasdaq_normal = nasdaq_normal[nasdaq_normal['Test Issue']=='N']
#Bestimmt davon, ob es sich um einen ETF handelt
company_nasdaq = nasdaq_normal[nasdaq_normal['ETF']=='N'][['Symbol', 'Security Name']]
etf_nasdaq = nasdaq_normal[nasdaq_normal['ETF']=='Y'][['Symbol', 'Security Name']]
#Index wird zurückgesetzt
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()
#Unterscheiden Sie zwischen NYSE und NASDAQ
company_nyse['Market'] = 'NYSE'
company_nasdaq['Market'] = 'NASDAQ'
#Unterscheiden Sie auch NASDAQ ETFs
etf_nasdaq['Exchange'] = 'NASDAQ'#etf_Mit einem anderen Spaltennamen übereinstimmen
return (pd.concat([company_nyse, company_nasdaq], ignore_index=True, sort=False),
pd.concat([etf_other, etf_nasdaq], ignore_index=True, sort=False))
Sie können das Tickersymbol eines börsennotierten Unternehmens in der Spalte "Symbol" sehen.
company, etf = symbols_all()
company
Recommended Posts