반응형

코스닥최근3년간영업이익흑자종목리스트.xlsx
0.06MB

개요

이번에는 최근 3년간 영억이익이 흑자인 기업을 찾아보겠습니다. 앞서 진행한 코드와 크게 다른 점이 없어 간략하게 포스팅 하겠습니다.

 

자세한 내용은 아래 참고 부탁드립니다.

[국내주식] 최근1년간 영업이익이 발생하는 코스닥 기업 찾기(with python) 

 

[국내주식] 최근1년간 영업이익이 흑자인 코스닥 기업 찾기(with python)

개요 워렌버핏 명언에 이런 말이 있습니다. 10년 이상을 볼 것이 아니면 10분도 그 주식을 갖고 있지 말아라. 물론 10년 이상 주식을 보유한다는건 개미투자자들에게 매우 힘든일입니다. 그렇다면

taeguu.tistory.com

코드

#시각화 라이브러리
import matplotlib.pyplot as plt
import seaborn as sns
plt.rc('font', family='NanumGothic')

#전처리 라이브러리
from tqdm import tqdm_notebook
import pandas as pd

#크롤링 라이브러리
import requests

url = 'https://kind.krx.co.kr/corpgeneral/corpList.do'

kosdaq_code = pd.read_html(url+"?method=download&marketType=kosdaqMkt")[0]
# 코스닥 종목 업종
kosdaq_sectors = kosdaq_code[['회사명','업종','주요제품']]

# 종목코드가 int 타입이라 앞의 0이 사라짐, 다시 붙여주는 코드
kosdaq_code = kosdaq_code[['회사명','종목코드']]
kosdaq_code['종목코드'] = kosdaq_code['종목코드'].astype('str')
kosdaq_code['종목코드'] = kosdaq_code['종목코드'].map(lambda x : '00'+x if len(x) ==4 else x)
kosdaq_code['종목코드'] = kosdaq_code['종목코드'].map(lambda x : '0'+x if len(x) ==5 else x)

result = pd.DataFrame()

for index, row in tqdm_notebook(kosdaq_code.iterrows()):
  try :
    code = row[1]
    url = f"https://finance.naver.com/item/main.nhn?code={code}"
    res = requests.get(url)
    df = pd.read_html(res.text)[3]

    # 재무정보 인덱스 설정
    df.set_index(df.columns[0],inplace=True)
    df.index.rename('재무정보', inplace=True)

    # 두번째 컬럼 제거
    df.columns = df.columns.droplevel(2)

    # 최근 분기 실적만 가져오기
    quater = pd.DataFrame(df).xs('최근 연간 실적',axis=1)

    # 최근 4개 분기 가져오기
    df2 = quater[['2019.12','2020.12','2021.12','2022.12(E)']]
    df2 = df2.reset_index()

    # 매출액 가져오기
    df2 = df2[df2['재무정보']=='영업이익']

    # 종목명 입력
    df2['재무정보'] = row[0]
    result = pd.concat([result, df2])
  except :
    pass

#최근 3개년 데이터
result = result[['재무정보', '2019.12', '2020.12', '2021.12']]

# 수집 데이터 확인
print('코스닥 종목 데이터 : ',kosdaq_code.shape)
print('최근 3년 데이터가 있는 종목 : ',result.shape)
# 결산이 안된 분기는 -로 표시 되기 때문에 음수로 변환
result = result.replace('-', -999)

# 4개분기 모두 이익을 기록한 회사 추출
operatingp_rofit_plus= result[result['2019.12'].map(lambda x : int(x)>0) & result['2020.12'].map(lambda x : int(x)>0)& result['2021.12'].map(lambda x : int(x)>0)]

# 컬럼명 변경
operatingp_rofit_plus.columns = ['회사명', '2019.12', '2020.12', '2021.12']

# 업종 테이블과 merge
operatingp_rofit_plus = pd.merge(operatingp_rofit_plus, kosdaq_sectors, on='회사명', how='inner')

최근 3년 영억이익이 흑자인 기업 

1,610개의 코스닥 기업 중 최근 1년 간 영업이익 수치가 있는 기업은 1,483개 기업이었으며, 1,483개 기업 중 최근 3년동안 영업이익이 흑자인 기업은 총 739개 기업이었습니다. 

반응형

+ Recent posts