저PBR주 종목 데이터 수집하는 방법

저PBR 주식에 대한 관심이 많이 올라갔습니다. 정부의 정책 발표에 대한 영향 때문인데요. 최근에 정부의 기업 밸류업 지원방안 공개 후 하락했지만, 저PBR주에 계속 관심을 가져야 합니다. 다시 테마가 형성될 수도 있고, 기본적으로 가치 대비 가격이 저렴한 주식이기 때문입니다.

그래서 저PBR주에 자동으로 투자하는 코딩을 해 보고자 합니다. 그 첫 번째로 저PBR 주식 데이터를 수집하는 방법을 알아보았습니다.


저PBR 종목 데이터 확인

저PBR 종목 데이터를 확인하는 방법은 다양합니다. 가장 대표적인 방법 중 하나는 KRX 정보데이터 시스템입니다. 이 시스템을 통해 날짜별 PBR 데이터를 수집할 수 있습니다.

PBR-데이터-확인
PBR-데이터-확인

종목별 PBR을 확인하는 것은 위 데이터만으로 충분합니다. 하지만 자동 투자를 위해서는 일자별 데이터를 수집하고, 투자하고자 하는 방법이 정말 투자 수익이 발생할 수 있는지 과거 데이터를 가지고 검증해야 합니다.

이 데이터를 수동으로 수집하면 시간이 많이 소요됩니다. 그보다 파이썬 코딩을 통해 자동화된 방법으로 데이터를 수집하세요.


파이썬을 이용한 저PBR 데이터 수집

파이썬으로 웹 크롤링을 하는 방법은 많이 알려져 있습니다. 파이썬에 대한 깊은 지식이 없는 사람도 쉽게 접근할 수 있을 만큼 간단합니다.

코드는 아래 코드를 이용하세요. 2015년 2월 3일 기준의 PBR 데이터를 수집하는 코드입니다. requests 모듈을 이용해서 해당 URL의 데이터를 가져오고, 데이터 작업을 용이하게 하기 위해 파이썬 데이터 프레임으로 저장하는 코드입니다.


날짜가 있는 부분을 수정하면, 다른 일자 기준으로 수집도 가능합니다. 이를 통해 다양한 기간에 대한 데이터를 수집할 수 있습니다. 이 과정은 자동 투자 시스템을 구축하기 위한 첫걸음으로, 정확한 데이터 수집은 다음 작업을 위한 중요한 기초가 됩니다.

import requests

url = 'http://data.krx.co.kr/comm/bldAttendant/getJsonData.cmd'

params = {
    "bld": "dbms/MDC/STAT/standard/MDCSTAT03501",
    "locale": "ko_KR",
    "searchType": 1,
    "mktId": "ALL",
    "trdDd": 20150203,
    "isuCd": "KR7005930003",
    "isuCd2": "KR7005930003",
    "삼성전자",
    "param1isuCd_finder_stkisu0_2": "ALL",
    "csvxls_isNo": False
}

# POST 요청으로 데이터 수집 시도
response = requests.post(url, params=params)


# 응답 상태 코드 확인
if response.status_code == 200:    
    data = response.json()
    print(data)
else:
    print(f"Failed to retrieve data: {response.status_code}")

import pandas as pd

df = pd.DataFrame(data['output'])
df.head()

위 코드는 함수로 변환하고, 함수의 입력 파라미터로 날짜를 넣도록 하면 더 편리하게 사용가능합니다. 이후에는 모든 코드를 다 실행할 필요 없이 함수에 날짜만 넣으면 됩니다. 해당 일자의 PBR 데이터를 수집할 수 있습니다.


파이썬 코드는 설치 없이 웹에서도 실행 가능합니다. 구글 코랩(Colab)을 이용해보세요.


자동 투자를 위해 날짜별 데이터를 수집하고, 백테스팅을 하는 검증 작업이 필요합니다. 이는 다음 포스팅에서 이어서 해 보겠습니다. 이후에 증권사 API를 이용해서 실제 주문까지 이어지도록 구현해 볼 예정입니다.

저PBR주에 관심이 있으신 분들은 이러한 데이터 수집 방법을 활용해보세요. 보다 체계적이고 효율적인 투자 준비를 할 수 있습니다.


Recommend Posting


Leave a Comment