구글 스프레드시트 활용팁 (10) – 과거 특정일자의 주가나 환율 등 불러오기

구글 스프레드시트 활용팁 (10) – 과거 특정일자의 주가나 환율 등 불러오기

258 views

먼저 항상 저에게 글감을 던져주시는 많은 분들께 감사의 말씀을 드립니다. ^_^ 오늘은 melon님이 댓글로 문의하신 내용을 알려드리고자 합니다.

‘혹시 구글 시트를 통해서 특정 종목에 대한 과거 특정일 종가 자료를 가져올 수 있는 함수가 있는지’를 물어보셨는데요. 방법이 있습니다! googlefinance 함수를 이용해서 종가 뿐만 아니라, 시가, 그날의 저가, 고가, 거래량을 가져올 수 있습니다.

 

GOOGLEFINANCE(ticker, [attribute], [start_date], [end_date|num_days], [interval])

예) GOOGLEFINANCE(“GOOG”, “price”, DATE(2014,1,1), DATE(2014,12,31), “DAILY”)

요약) Google Finance에서 현재 또는 과거 유가증권 정보를 가져옵니다.

 

*[attribute]

“open” – 지정한 날짜의 개장가입니다.

“close” – 지정한 날짜의 종가입니다.

“high” – 지정한 날짜의 최고가입니다.

“low” – 지정한 날짜의 최저가입니다.

“volume” – 지정한 날짜의 거래량입니다.

“all” – 위의 모든 속성입니다.

 

*[start_date] – [ 선택사항 ] – 과거 데이터를 가져올 기간의 시작일입니다.

– start_date만 지정하고 end_date|num_days를 지정하지 않을 경우 시작일 하루의 데이터만 반환됩니다.

*[end_date|num_days] – [ 선택사항 ] – 과거 데이터를 가져올 기간의 종료일 또는 데이터를 반환할 start_date로부터의 일수입니다.

 

*[interval] – [ 선택사항 ] – 반환 데이터의 실행 빈도로, “DAILY” 또는 “WEEKLY”입니다.

– interval을 1 또는 7로 지정할 수도 있습니다. 다른 숫자 값은 사용할 수 없습니다.

 

[start_date]나 [end_date] 항목에 대해 조금 추가 설명을 하자면, 일반적으로는 DATE(년도,월,일)과 같은 형식으로 쓸 수 있고, 오늘 날짜를 참조할때는 TODAY() 함수를 사용할 수 있습니다. TODAY()-365라고 쓰면 오늘 기준으로 1년전 날짜라는 뜻이 됩니다.

 

 

=googlefinance(“KRX:005930”,“close”,today()100,today(),“weekly”)

이런식으로 지난 100일간의 삼성전자의 종가를 주 단위로 불러올 수 있는 것이죠.

 

그럼 이제 어느 특정 일자 하루의 종가를 불러와볼까요?

 

A1셀에 있는 날짜를 참조하여 종가를 불러 왔습니다. 12월 31일은 주식 시장이 열리지 않은 날이라서, 그 이후 1번째 마감일의 종가를 보여주고 있습니다.

그런데 실제로 스프레드시트에서 데이터 가공을 많이 해보신 분은 이쯤에서 한가지 의문이 생길 수 있습니다. 나는 값을 1개만 불러오고 싶은데, 이건 2줄 x 2칸의 값이 나와버리니, 여러 종목, 혹은 여러개의 날짜에 대한 정보를 넣어놓고 함수식만 쭈루룩~~ 카피해서 쓰고 싶고, 그 값을 다른 함수식에 이용하고 싶기도 한데, 이렇게 나오면 그게 안되자나!? 라는 것이죠.

 

그래서 이럴때는 INDEX() 함수가 유용하게 쓰이게 됩니다.

 위의 구글파이낸스 함수가 총 불러오는 정보의 범위가 2×2 인데, 거기에서 2번째줄, 2번째칸의 값만 불러오는 index 함수를 사용하면 간단하게 해결됩니다.

 

종목코드 자리에 USDKRW과 같은 환율 코드를 넣으면 과거 특정 시점의 환율 등도 손쉽게 불러올 수 있겠죠?

 

이런 함수를 활용하면 해당 종목이 년초나 월초 같이 특정 시점에 비해서 얼마만큼 올랐거나 떨어졌는지도 쉽게 계산할 수 있습니다.

 

=googlefinance(A2)/index(googlefinance(A2,“close”,date(year(today()),1,1)),2,2)1

위의 함수에서 매년 첫째 일을 계산할때 date(2016,1,1) 라고 쓰면 향후 이 함수를 내년에도 계속 사용하려고 하면 문제가 되겠죠? 그래서 오늘 날짜를 불러오는 today() 함수와 날짜에서 년도만 불러오는 year() 함수를 이용했습니다. ^_^

이제는 과거 주가 정보를 위해서 HTS를 뒤지거나 네이버 금융 페이지를 뒤지는 노가다는 하지 않으셔도 되겠죠? 근데 이게 data가 아주 옛날까지는 없구요. 코스피 지수 기준으로 찾아보니 2003년부터 있답니다. 그보다도 더더욱의 과거 data가 필요하신 분은.. 호옥~시 계시면 제가 또 꿀팁을 풀어보지요. 다음 시간에…… ^-^

 

%d 블로거가 이것을 좋아합니다: