GetAggregateIndustryConsensus
산업별 컨센서스를 조회합니다.
Function specification
• 상장기업의 주식 애널리스트 컨센서스 데이터를 이용하여 산업 레벨에서의 컨센서스를 유추합니다. • 향후 3년간 산업 내 모든 기업의 매출, 영업이익, 당기순이익 등의 컨센서스 예측치를 합산하여, 이 총합의 성장치를 계산합니다. • 애널리스트 별로 기업과 산업에 대해 가지고 있는 견해의 차이를 반영하기 위해, 평균 성장치 뿐만 아니라 그 분산까지 함께 계산합니다.
Parameters
Parameter | Type | Description |
industry_type | string | 0 : 딥서치 산업분류, 1 : 통계청 산업분 |
fields | string | • 아래 항목들 중 일부 또는 전체를 list 형태로 제공: "csd_operating_income", "csd_revenue", "csd_net_income", "operating_income", "revenue", or "net_income" • 값이 주어지지 않았거나 empty list 가 제공될 경우 모든 항목에 대해 수행 • “csd” prefix 는 연결 재무제표 항목을 표현. |
date | date | • 컨센서스를 계산할 기준 시점을 명시 • 값이 주어지지 않을 경우 오늘 날짜를 기본 값으로 선택 |
consensus_duration | integer | • 컨센서스 자료를 취합할 기간을 설정 • 값이 주어지지 않을 경우 기준 시점으로부터 과거 3개월을 사용 |
Examples
Computation Algorithm
위 함수는 아래와 같은 순서에 따라 산업별 컨센서스 성장 전망치를 계산합니다.
1) 주어진 기간 사이에 발표된 모든 컨센서스 데이터를 꺼내옵니다. a. date 와 consensus_duration 파라미터가 명시되지 않았을 경우, 오늘부터 과거 3개월 동안의 컨센서스 값을 가져옵니다. b. 이후의 예시는 오늘을 2020.01.23 으로 가정하고 설명하겠습니다.
2) 예측치가 가장 많이 발견되는 대상 연도를 세 개 선택합니다. a. 예를 들어, 오늘 데이터를 기준으로 예측치가 가장 많은 연도는 2019, 2020, 2021년입니다. b. 2022년과 2023년에도 일부 예측치가 있기는 하지만 샘플 숫자가 워낙 적어 사용하지 않고 버립니다.
3) 종목, 재무 연도, 그리고 증권사별로 가장 마지막 예측치만을 선택합니다. a. 예를 들어, xx 증권이 삼성전자에 대한 2019, 2020, 2021년 매출 전망치를 지난 세 달 동안 매주 발표했다고 합니다. b. 이 경우 가장 최근에 발표된 2019, 2020, 2021 매출 전망치만 남기고 이전 값들은 모두 버립니다.
4) 위에서 남겨진 값들을 이번엔 다시 종목과 재무 연도로 묶어 예측치의 평균과 분포를 계산합니다. a. 예를 들어, 삼성전자를 다루는 증권사가 여럿 있을 경우, 삼성전자의 2019, 2020, 2021년 매출 전망치에 대해 증권사들의 평균, 25 percentile, median, 75 percentile 을 구합니다. b. 이제 증권사 고유 코드는 사라지고, “종목 x 재무연도” 에 대한 전망치의 분포가 구해졌습니다.
5) 위 컨센서스가 다루어지는 모든 기업들에 대해 과거 2년 동안의 재무제표 데이터를 꺼내옵니다. a. 1년이 아니라 2년을 선택한 이유는, 오늘은 2020년 이지만 아직 2019년의 결산 재무제표가 공시되지 않았기 때문입니다. b. 오늘 기준으로 마지막 재무제표가 2018.12.31 이기 때문에 2년을 선택했습니다.
6) 컨센서스 예측치와 과거 재무제표를 비교해서, 동일한 연도에 대해 값이 존재할 경우 컨센서스의 값을 재무제표 값으로 overwrite 합니다. a. 예를 들어, 모 증권사가 xx 기업의 2019 매출 전망치를 한달 전에 발표했는데, xx 기업이 2019 재무제표를 지난주에 공시했다고 가정합시다. 이 경우 컨센서스는 더 이상 의미가 없기 때문에, 컨센서스를 재무제표 값으로 덮어 씌웁니다.
7) 산업 목록과 그에 소속되어 있는 모든 기업들의 목록을 꺼내옵니다.
8) 가장 최근으로 사용할 기준 회계연도를 선택합니다. a. 날짜가 3월 이전이라면 2년 전을, 4월 이후라면 1년 전을 선택합니다. b. 예를 들어 오늘이라면 2018년이 기준 회계연도가 됩니다. c. 대부분의 기업들이 12월에 회계연도를 끝내는데, 이 때 결산 재무제표 공시는 3월 중에 이루어지기 때문입니다.
9) 위 (5) 단계에서 꺼내온 재무제표 데이터 중에서 (8) 단계에서 선택한 기준 회계연도의 값을 꺼내옵니다.
10) 위 (9) 단계의 테이블을 (7) 단계에서 꺼내온 산업 분류와 결합한 뒤 산업별로 aggregation 하여 전체 기업의 수와 금액 총합을 계산합니다. a. 결과값 예시에서 2018 - count, 2018 – sum 에 해당하는 부분입니다.
11) 이번엔 (6) 단계에서 업데이트 된 컨센서스 값을 (7) 단계의 산업 분류와 결합합니다. 아직 산업별로 aggregation 하지는 않은 상태입니다.
12) 위 (11) 단계에서 얻어진 테이블을 (9) 단계의 기준 회계연도 값과 다시 결합합니다.
13) 위 (12) 단계의 테이블을 이제 산업별로 aggregation 합니다. a. 11에서 13으로 바로 오지 않고 12를 거치는 이유를 예를 들어 설명 드리겠습니다. b. 예를 들어, 임의 산업 내에 2019 예측치를 가지고 있는 기업들이 20개 있지만, 이 중 일부는 단기 예측치만 있고 2020 이후 예측치는 없다고 가정합니다. c. 산업별 성장 전망치를 구하기 위해선, 기준 회계연도 값의 총합과 컨센서스 총합을 비교해야 하는데, 2019년의 경우엔 기업이 20개 있지만 2020년의 경우엔 기업 갯수가 그보다 적기 때문에 기준 회계연도 값의 총합도 그에 맞게 조정되어야 합니다. d. 이렇게 계산된 기준 회계연도 값의 총합은 위 결과값 예시 화면의 latest 컬럼에 포함되어 있습니다. e. 컨센서스의 총합은 결과값 예시 화면의 forecast 컬럼에 들어있습니다. f. 이 둘을 비교하여 계산된 성장 전망치를 growth 컬럼에 넣었습니다. g. Latest 값이 음수일 경우 growth 가 의미가 없기 때문에, 이 경우 growth 는 missing 으로 대체했습니다.
14) Aggregation 이 각 통계치 (평균, 중위, p25, p75) 에 대해 이루어졌기 때문에 산업별 총합에서도 각 통계치 별로 계산이 이루어진 것을 알 수 있습니다.
15) Growth 컬럼의 평균/중위 값을 산업별 경제 성장 전망치로 사용할 수 있습니다.
16) Growth 컬럼에서 p75 와 p25 사이의 차이를 해당 산업 내 정보의 불확실성 (Knightian uncertainty) 또는 분산 (dispersion) 으로 해석할 수 있습니다.
*주의사항 삼성전자나 현대차 같은 대기업의 경우 컨센서스가 연결 재무제표 기준으로 작성되고, 개별 재무제표의 컨센서스는 비어있는 경우가 많습니다. 따라서 가급적 csd_ prefix 로 시작하는 연결 재무제표의 값을 사용해서 산업별 컨센서스를 만드시기를 권장 드립니다.
Last updated