배당금 정보를 핀비즈 Finviz 에서 가져오는 것의 가장 큰 단점은 종목의 숫자가 많아지면 데이터를 가져오는 데 시간이 많이 걸리고, 종목이 너무 많으면 아예 데이터가 임포트되지 않고 모든 셀에 에러 메시지가 뜨기도 한다는 것이다. 그래서 혹시 다른 방법이 있나 찾아보았고 야후 파이낸스 Yahoo Finance 에서도 데이터를 가져올 수 있다는 것을 알게 됐다.
아래 두 포스팅을 참고하면 핀비즈에서 어떤 식으로 배당금에 대한 정보를 가져올 수 있는지 알 수 있을 것이다.
구글 스프레드시트 주식 배당 관리 - 1. 시작하기 (2022년 기준)
구글 스프레드시트 주식 배당 관리 - 19. 2022년 3월 29일 기준 핀비즈 Finviz 배당 불러오기 업데이트
1. 야후 파이낸스 Yahoo Finance 에서 배당금 불러오기
야후 파이낸스에서 데이터를 가져오는 방법도 핀비즈에서 데이터를 가져오는 것과 크게 다르지 않다. 그러나 사소한 차이가 있다.
일단 아래와 같이 시트를 조금 변경했다.
야후와 핀비즈에서 제공하는 배당금에 대한 정보를 다른 열에 불러들여보려고 한다. 핀비즈에서 데이터를 가져오는 방법은 위의 링크를 참고하면 도움이 될 것이다.
야후 파이낸스를 이용할 때 티커는 반드시 대문자로 써야 한다. 소문자로 하면 오류가 발생할 수 있다.
야후 파이낸스에서 배당금에 대한 정보를 불러들이는 함수는 다음과 같다.
=index(split(index(IMPORTHTML(CONCATENATE("https://finance.yahoo.com/quote/", A3), "table", 2), 6, 2), " "),1, 1)
위의 식을 안쪽부터 살펴보자.
가장 안쪽의 CONCATENATE라는 명령어는 두 개의 문자열을 이어 붙이는 명령어라고 할 수 있다.
다시 말해서 CONCATENATE("https://finance.yahoo.com/quote/", A3) 의 결과는
https://finance.yahoo.com/quote/aapl
이라는 문자열을 만드는 것이다.
그리고 이 문자열을 이용해 IMPORTHTML 명령을 실행한다. 위의 함수에서 야후 파이낸스에서 애플의 페이지를 찾아내고, 표2의 6행 2열의 정보를 가져오라는 의미이다.
그런데 그냥
=index(IMPORTHTML(CONCATENATE("https://finance.yahoo.com/quote/", A3), "table", 2), 6, 2)
이라고만 하면 그 결과는 아래와 같이 나온다.
앞쪽의 0.88은 배당금이고 뒤의 (0.50%)는 배당수익률이다. 그런데 우리에게는 배당수익률 정보가 필요 없다. 따라서 뒤쪽을 잘라내고 앞쪽 데이터만 가져와야 한다. 여기서 Split 함수를 이용한다.
=split(index(IMPORTHTML(CONCATENATE("https://finance.yahoo.com/quote/", A3), "table", 2), 6, 2), " ")
위의 함수 중 마지막의 " "은 공백을 기준으로 데이터를 자르라(split)라는 의미이다. 그 결과는 아래와 같다.
아래 행을 보면 데이터가 둘로 나뉜 것을 볼 수 있다. 여기서 1행 1열의 값만 가져와야 한다. 이럴 때 Index 함수를 사용한다.
=index(split(index(IMPORTHTML(CONCATENATE("https://finance.yahoo.com/quote/", A3), "table", 2), 6, 2), " "),1, 1)
위의 함수의 결과는 아래와 같다.
가장 아래 열을 보면 배당금에 대한 정보만 분리되었다.
이제 구역을 지정하고 전체에 위의 마지막 함수를 적용한다.
그 결과가 위의 이미지이다.
2. 핀비즈 Finviz 와 야후 파이낸스 Yahoo Finance 의 정보가 다를 때
위의 이미지를 보면 핀비즈와 야후 파이낸스가 제공하는 정보가 다르다. 이 부분에 대해서는 고민을 하고 있는데, 아무래도 배당금이 낮은 쪽을 선택하는 것이 리스크를 줄이는 방법이라는 생각이 든다.
그리고 이와 관련하여 댓글을 남겨주신 분이 계셔서 내용을 수정했다. 핀비즈와 야후의 데이터가 다른 이유는 핀비즈와 dividend의 배당 성향 데이터가 다른 이유와 같은 맥락이며, 아래 링크는 그 이유에 대해 과거에 올린 포스팅이다. 핀비즈의 데이터는 과거를 기준으로 한 데이터이다. 반면 야후의 데이터에는 "Forward dividend & Yield"라고 명시되어 있다. 다시 말해서 예상 배당금이라고 표현할 수 있을 것이다. 그래서 두 값에 차이가 있다.
배당주 투자 방법 - 배당성향 데이터 Dividend.com과 Finviz 의 차이
예를 들어 위의 이미지에서 AT&T(T)는 배당금에 큰 차이를 보인다. T의 경우 작년 연 배당이 $2.08이었다. 그리고 올해는 배당컷, 배당 삭감으로 인해 연 배당 $1.11이 예상된다. 다시 말해 핀비즈의 배당금 정보는 작년 배당금을 기준으로 하고, 야후의 배당금 정보는 올해 예상되는 배당금을 기준으로 한다. 위의 이미지에 표시된 것과 각각 동일한 값이다.
그리고 이 문제를 스프레드시트 상에서 어떻게 처리할지에 대해서는 추후 포스팅을 올려볼 생각이다.
구글 스프레드시트 주식 배당 관리 - 29. 핀비즈와 야후 파이낸스의 배당 정보가 다를 때
3. 야후 파이낸스 배당금 정보의 문제점과 해결 방법
이와 관련해서는 별도의 포스팅을 올려두었으니 도움이 되길 빈다.
구글 스프레드시트 주식 배당 관리 - 31. 야후 파이낸스 배당 정보의 문제점
4. 과거 10년치 배당 기록 전부 불러오기
핀비즈나 야후 파이낸스는 직전 배당 혹은 예상 배당 정보만 제공한다. 따라서 과거의 배당 기록을 살펴보고 싶으면 다른 방법을 써야 한다. dividendinformation.com에서는 과거의 배당 기록 정보를 제공하고 이를 importhtml 함수를 이용해 시트로 불러들일 수 있다.
그리고 나면 배당별로 얼마나 배당이 성장했는지를 계산해볼 수 있다. 그뿐 아니라 각 연도별 배당의 총합을 구하고 연도별로 배당의 성장률을 계산해볼 수 있다.
아래 링크에 들어가면 자세한 내용을 볼 수 있다.
구글 스프레드 시트 주식 배당 관리 - 34. 과거 배당 기록 불러오기 | 배당성장률 계산하기 | dividendinformation 이용하기
개인투자자분들께 조금이나마 도움이 되길 빈다.
'재테크 > 구글 스프레드시트' 카테고리의 다른 글
구글 스프레드시트 주식 배당 관리 - 27. 배당수익률로 목표 주가 설정하기 (1) | 2022.04.07 |
---|---|
구글 스프레드시트 주식 배당 관리 - 26. 색깔로 매입 비중 관리하기 (1) | 2022.04.06 |
구글 스프레드시트 주식 배당 관리 - 24. 섹터 자동으로 가져오기 (2) | 2022.04.02 |
구글 스프레드시트 주식 배당 관리 - 23. 배당 정보가 에러일 때 배당수익률 처리하기 (2) | 2022.04.01 |
구글 스프레드시트 주식 배당 관리 - 22. 에러 Error 처리하기 (2) | 2022.04.01 |