Python에서 미국 거래소 상장 유명 상표의 Ticker Symbol 받기
9840 단어 주가TickerSymbolpandas파이썬주식
소개
뉴욕 증권거래소(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
참고
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
참고
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))
'Symbol' 열을 보면 상장하는 기업의 Ticker Symbol을 알 수 있습니다.
company, etf = symbols_all()
company
참고
Reference
이 문제에 관하여(Python에서 미국 거래소 상장 유명 상표의 Ticker Symbol 받기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/matsxxx/items/0348af6ed1b1a2a2b84a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)