Python에서 미국 거래소 상장 유명 상표의 Ticker Symbol 받기

소개



뉴욕 증권거래소(NYSE)와 NASDAQ의 주가 데이터를 얻으려고 한다면 유명 상표의 티커 기호를 알아야 했기 때문에 그 방법을 적는다. 상장하고 있는 종목 모두가 리스트 업 되고 있는지를 확인하고 있지 않으므로, 참고까지.

환경



Windows 10 홈

Anaconda (Python 3.7.6)

Pandas 0.24.2

Ticker Symbol 얻기



NASDAQ의 ftp에서 목록을 가져 와서 성형합니다.
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='|')
    #NYSEのものを取得する
    company_nyse = other[other['Exchange']=='N'][['ACT Symbol', 'Security Name']]
    #ETFはMYSE MKT、NYSE ARCA、MATSがある。
    etf_other = other[other['ETF'] == 'Y'][['ACT Symbol', 'Security Name', 'Exchange']]   
    #indexはリセットする
    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='|')
    #StatusがNormalのものだけを取得する
    nasdaq_normal = nasdaq[nasdaq['Financial Status']=='N']
    #Test issueでないものを選択する
    nasdaq_normal = nasdaq_normal[nasdaq_normal['Test Issue']=='N']
    #ETFかどうかで判別
    company_nasdaq = nasdaq_normal[nasdaq_normal['ETF']=='N'][['Symbol', 'Security Name']]
    etf_nasdaq = nasdaq_normal[nasdaq_normal['ETF']=='Y'][['Symbol', 'Security Name']]
    #indexはリセットする
    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()
    #NYSEとNASDAQは区別する
    company_nyse['Market'] = 'NYSE'
    company_nasdaq['Market'] = 'NASDAQ'    
    #NASDAQのETFも区別しておく
    etf_nasdaq['Exchange'] = 'NASDAQ'#etf_otherのcolum名に合わせる

    return (pd.concat([company_nyse, company_nasdaq], ignore_index=True, sort=False),
            pd.concat([etf_other, etf_nasdaq], ignore_index=True, sort=False))


Ticker Symbol 보기



'Symbol' 열을 보면 상장하는 기업의 Ticker Symbol을 알 수 있습니다.
company, etf = symbols_all()
company



참고


  • h tp // w w. 나 s다 qt 등으로 r. 이 m/t 등으로 r. 아 spx? d = symbo l r에서 fs # 오테 r
  • h tp // w w. 나 s다 qt 등으로 r. 이 m/t 등으로 r. 아 spx? d = symbo l r에서 fs # s s q
  • 좋은 웹페이지 즐겨찾기