본문 바로가기

주식투자

미국 주식 ticker 를 이용해서 exchange (거래소) 찾는 방법

미국 주식에서 ticker 는 우리나라 주식의 종목코드와 같은 것이다.

 

국내

삼성전자 : 005930

기아 : 000270

 

미국

애플 : AAPL

마이크로소프트 : MSFT

 

NASDAQ 상장 주식 목록이나 S&P500 지수에 포함된 주식 목록을 가져오는 방법은 이전에 알아보았다.

 

미국 주식 S&P500 주식 종목 가져오기

나스닥에 상장된 주식은 5000개가 넘는다. 퀀트 투자를 위해서는 분석 대상 주식 목록을 먼저 알아야 한다. 그런데 주식의 목록이 이렇게 너무 많다면 분석하는데 시간이 너무 오래 걸리고 비효

dkgkim.tistory.com

 

 

상장 주식 목록 가져오기 (코스피, 코스닥, 나스닥, NYSE, S&P500)

python 의 finance-datareader 라이브러리를 이용하면 코스피, 코스닥, 나스닥, NYSE, S&P500 등 상장 주식 목록을 편하게 가져올 수 있다. python 라이브러리 설치 먼저 아래와 같이 finance-datareader 를 설치 해

dkgkim.tistory.com

 

하지만 아래 global market monitor 에있는 정보를 사용하기 위해서는 exchange 코드 정보가 필요하다.

 

 

Global Market Monitor - USA

 

globalmonitor.einfomax.co.kr

exchange 코드로는 NAS(NASDAQ), NYS(NYSE), AMEX 등이 있다.

주식 목록을 가져올 때 애초에 NASDAQ 목록 이나 NYSE 등 한 거래소에 상장된 주식 목록이라면 이런 고민을 할 필요가 없지만, S&P500 과 같은 목록을 가져왔다면 어떤 방법을 이용해서 exchange 코드를 알아내야 한다.

 

거래소 코드를 알아 내기 위해서는 naver stock api 를 이용할 수 있다.

import requests


def get_basic_info(ticker):
    url = f"https://api.stock.naver.com/stock/{ticker}.O/basic"
    headers = {'user-agent': 'Mozilla/5.0'}
    response = requests.get(url, headers=headers)
    basic_info = response.json()
    if "code" in basic_info and basic_info.get("code") == "StockConflict":
        raise ValueError()
    return basic_info


def get_exchange(ticker):
    basic_info = get_basic_info(ticker)
    return basic_info["stockExchangeName"]


print(get_exchange("AAPL"))

 

위 코드와 같이 ticker 를 이용해서 naver stock api 로 basic info 를 불러온 후 stockExchangeName 값을 통해 exchange 를 구분할 수 있다.

 

그런데 이렇게 분류를 하다보니 S&P500 에 포함되 주식의 ticker 코드가 4자리이상이고 "." 마침표가 포함되지 않은 경우 NASDAQ 상장 주식이었고, 나머지는 NYSE 에 상장된 주식이었다. 많은 수의 주식 목록을 분석함에 있어 API 수행이 많아서 조금이라도 API 호출을 줄이고 싶다면, ticker 를 보고 어느정도 구분해도 될 것 같다.