본문 바로가기

ELECTRONICS INVESTMENT

프로그램 투자


Quant

Python

Macroeconomics

Book


퀀트

업종별 종목코드 구하기 [파이썬 데이터분석]

반응형

업종별 종목코드 구하기!!

오늘은 업종별 자동 재무제표 분석을 위해 각 업종별 속해 있는 종목들의 코드를 구해볼 것입니다.

 

위의 사진은 네이버 증권 업종별 시세입니다.

업종별로 그날의 상승 순위를 알 수 있는 곳입니다. 

 

 

 

저는 2번째에 있는 <자동차>업종을 한번 클릭해 보겠습니다.

 

이렇게 업종을 클릭하면 해당되는 종목들이 나오게 됩니다.

 

여기서 주목할 것은 위의 '주소'입니다.

 

주소의 가장 오른쪽을 보시면 no=44라고 되어있습니다. 

이는 44라는 숫자가 자동차 업종이라는 뜻입니다.

 

즉, 분석하고 싶은 업종을 클릭해서 저 번호만 확인해 주면 됩니다!!!!

 

그리고 각 종목들의 html구성을 보면 <a>태그로 이루어져 있어서 링크가 걸려있는것을 볼 수 있습니다. 

위의 사진에서 현대차2우B의 경우 005387임을 알 수 있습니다.

 

그렇다면 이제 준비는 끝났습니다!!! 크롤링으로 가져오기만 하면됩니다.

 

def get_code(url):
    lis=[]
    with urlopen(url) as response:
        soup = BeautifulSoup(response, 'html.parser')
        titl=soup.select('td.name a')
        for i in titl:
            lis.append(i.get('href')[20:])
    return lis

우선 url에 홈페이지 주소를 넣어서 html 코드를 읽어냅니다.

 

그리고 titl 변수를 보면,  name이라는 클라스를 가지는 td 중에 a태그를 골랐습니다. 위의 사진을 보면 td class="name">a의 형태를 알 수 있습니다.

 

그아래의 for문의 경우 우리가 필요한 정보는 005387이기에 href중에서 20번째 글자 뒤부터 선택 했습니다.

 

그 다음 할 일은 s-rim 분석 프로그램을 함수화 하는 것입니다.

s-rim에 대한 프로그램은 아래 링크를 남기겠습니다.

k-electronics.tistory.com/6

 

삼성전자 적정가격 구하기 (S-RIM) [파이썬] [삼성전자 적정주가]

삼성전자 과연 매수할만할까? 오늘은 전 포스팅에서 설명한 S-rim 방법으로 삼성전자의 가격을 정해보겠습니다. S-RIM은 전 포스팅을 참고해주세요. k-electronics.tistory.com/5 주식의 가격을 정하는 방

k-electronics.tistory.com

upzong=get_code('https://finance.naver.com/sise/sise_group_detail.nhn?type=upjong&no=44')
lis2up=[]
for i in upzong:
    try:
        name,r=srim(i)
        lis2up.append([name,r])
        time.sleep(1)
    except:
        print('이회사 에러')     

upzong이라는 변수에 각 종목별 코드가 담겨있습니다.

이때 try문을 사용하는 이유는 저번 시간에도 설명했듯이, 재무제표상 정보가 없는 종목들이 종종 있기 때문입니다.

lis2up을 보면, 회사의 이름과 회사의 가격 괴리율을 저장하도록 했습니다.

 

다음포스트부터 본격적으로 업종별 재무제표 분석과 종목선정을 해보겠습니다!!!

 


>>>>>함께 보면 좋은 글<<<<<

네이버 프리미엄 콘텐츠에서 프로그램과 투자를 결합해 보세요

 

떠먹여 주는 퀀트 투자 : 네이버 프리미엄콘텐츠

파이썬 왕초보도 문제없는 실전형 퀀트투자! 초보자의 눈높이에 맞춘 데이터 수집부터, 다양한 전략 테스트까지! 나만의 경제지표 모델, 투자 모델을 관리하는 봇을 만들어보세요.

contents.premium.naver.com

반응형