투자관련 데이터를 수집할수 있는곳

 

 

1. Dart (dart.fss.or.kr/, opendart.fss.or.kr/)

기업 공시들이 올라오는 곳, api를 통해 공시 리스트를 받을수 있으며 일부 공시의경우 파싱된 공시 내용까지 받을 수 있음.

크롤링 제한은 페이지단위당(main.do, viewer.do) 분당 100회이며 100회 초과시 24시간 접속불가, 이후 자동으로 해제

 

*문제점

공시발생했다는 정보만 주며 모든 공시에 대해 내용을 주지 않음

-> 결국 공시 하나하나 일일히 파싱하는게 정확함

공시가 발생한 일자는 알 수 있지만 공시가 발생한 시간은 알수없음(장마감전 공시인지 장마감후 공시인지)

-> dart.fss.or.kr/dsac001/mainAll.do 페이지를 통해 공시 시간을 알수는 있지만 일부 수정 공시등에 대해선 시간을 정확히 알수가 없음

공시 내용까지 주는 api의 경우 재무제표가 주요 데이터인데 정정 내역등에 대해 정확히 알수가없음. 예를 들면 2020년 4분기 실적을 불러오는 경우 4분기 제무재표에 대해 최종 수정본의 데이터만 불러 올 수 있음, 이는 최초 발생일에 나온 공시내용을 알수가 없으며 실적발표일이 최종 수정일이 되는 문제가 생김

-> 결국 html을 직접파싱하는게 더 나음

 

KIND 기업공시 (kind.krx.co.kr/)

Dart와 동일하게 기업공시들이 올라옴. 공시 발생히 kind와 dart 동시에 전달되기때문에 공시 발생에 대한 시간 차는 없음.

Dart와 달리 api를 제공해 주지 않으며 크롤링이 더 까다로움, 크롤링 관련에 대한 안내가 정확히 없음.

기본적으로 Dart에 발생한 공시는 KIND에도 똑같이 발생하지만 KIND에는 증권시장본부에서 발생하는 일부 공시 정보가 추가적으로 있음(e.g. 시장조치 및 자사주취득 신청 등등)

 

KRX (www.krx.co.kr/main/main.jsp, data.krx.co.kr/)

주식관련 정보들을 확인할수있음, 따로 데이터 판매도 하고 있지만 기본 제공정보도 부족하지 않음

주가정보 실시간 확인이 가능하나 20분 지연정보

2021년 데이터 제공이 정보데이터 시스템으로 분리되어 크롤링이 간편해졌으며 제공 정보가 조금더 다양해짐

KRX 주가정보는 수정주가로 제공 되지 않지만 전일 대비 등락률이 수정된 주가 기준으로 발생하기 때문에 수정주가 발생내역을 일일히 트랙킹하지 않아도 long term에 대한 일일 주가정보를 사용할 수 있음

(예. 10000원이던 주식이 2:1 주식 분할을 하여 5000원이 된후 6000원이 되었다면, 전일 대비 등락률이 -40%가 아닌 +20%가 됨)

ETF, ETN 상품에 대한 주가 정보도 확인 가능하며 개별 주식도 포함해 상폐된 종목들의 주가 정보도 알 수있음. VIX상품 등에서는 운용기간이 만료되면 상장폐지시키고 다시 상장(코드는 변경)시키는 경우가 있기때문에 코드만을 가지고는 long term에 대한 주가 정보를 확인 할 수 없지만 KRX에서는 상폐된 종목의 주가 정보도 주기 때문에 과거 상품의 주가 정보도 알 수 있음(단, 종목코드는 다르기 때문에 상품명을 이용해 같은 상품으로 묶어주는 작업이 필요)

 

Seibro(seibro.or.kr/, www.data.go.kr/)

한국 예탁 결제원의 증권 정보 포털.

개별 종목 정보 및 채권, 펀드등의 데이터를 제공해줌

일반적으로 개별종목 정보는 다른 곳을 통해 수집가능하나 seibro에서만 정확히 얻을 수 있는 정보중 하나는 배당금 정보. 배당결정일, 기준일, 실제 배당금 지급일 등을 알수 있으며, 따로 dart등을 통해 따로 공시가 되지않는 ETF에대한 배당 정보까지 제공해 줌

dart에서 알려주지않는 일반 회사채, 국채등의 정보도 알수 있음

사이트 내에서 크롤링용 api는 기업체에만 제공해주며 일반 개인이 사용하기 위한 api는 공공 데이터 포털을 통해 제공됨 공공데이터 포털에서 한국예탁결제원 검색, api 활용신청을 하며 바로 승인이 되지만 실제 api키를 이용해 호출이 승인되는데는 몇시간 정도 시간이 소요됨

 

 

 

 

'퀀트' 카테고리의 다른 글

투자 관련 데이터를 수집 할 수 있는곳2  (0) 2021.04.16
Posted by rjh
,

#a= some object


# method list

import inspect
inspect.getmembers(a, predicate=inspect.ismethod)


# attribute list

vars(a)

'python' 카테고리의 다른 글

jupyter notebook 비밀번호 변경  (0) 2021.09.28
디렉토리 순회  (0) 2018.03.09
dictionary sort  (0) 2018.02.19
python2 utf8인코딩  (0) 2017.07.29
python string to dict or list etc...  (0) 2016.12.29
Posted by rjh
,

디렉토리 순회

python 2018. 3. 9. 18:03

import os

def search(dirname):
  filenames = os.listdir(dirname)
  for filename in filenames:
    full_filename = os.path.join(dirname, filename)
    if os.path.isdir(full_filename):
      search(full_filename)
    else:
      #todo

'python' 카테고리의 다른 글

jupyter notebook 비밀번호 변경  (0) 2021.09.28
python 오브젝트 함수,변수 리스트  (0) 2018.04.02
dictionary sort  (0) 2018.02.19
python2 utf8인코딩  (0) 2017.07.29
python string to dict or list etc...  (0) 2016.12.29
Posted by rjh
,