엑셀 주식 차트 만들기 | 네이버 금융 실시간 정보 조회

네이버 금융에서 제공하는 정보를 받아와 실시간 엑셀 주식 차트를 만드는 방법을 알아봅니다.

홈페이지 » 엑셀 주식 차트 만들기 | 네이버 금융 실시간 정보 조회

엑셀 주식 차트 만들기 | 네이버 금융 실시간 정보 조회

엑셀 주식 차트 만들기 목차 바로가기
영상 강의

예제파일 다운로드

이번 강의에 사용된 추가기능 함수

이번 강의에서는 아래 2가지 사용자 추가기능 함수가 사용되었습니다.

각 함수에 대한 자세한 사용법은 관련 링크를 참고해주세요. 위 2가지 함수와 더불어 네이버 증권에서 제공하는 다양한 주식정보를 실시간으로 조회할 수 있는 NaverFinanceSearch 함수를 사용하면 주식 분석을 보다 편리하게 할 수 있습니다.

이동평균선 데이터 추가하기

예제파일을 다운받으면 기존에 추가되어 있는 데이터를 기준으로 5일, 20일, 60일 이동평균선을 추가하겠습니다. 이동평균선은 AVERAGE 함수를 이용하여 손쉽게 추가할 수 있습니다.

  1. 예제파일의 I4셀을 선택합니다. 가장 최근날짜 기준 5일치의 평균을 계산하기 위해, I4셀에 아래 수식을 입력합니다. 이동평균은 '종가'의 평균을 계산합니다.
    =AVERAGE(F4:F8)

    평균 계산
    최근 5일 동안의 종가 평균을 계산합니다.
  2. J4셀, K4셀에도 각각 20일, 60일치의 이동평균을 구하기 위해 아래 수식을 입력합니다.
    J4셀 : =AVERAGE(F4:F23)
    K4셀 : =AVERAGE(F4:F63)

    엑셀 주식 차트 이동평균
    20일, 60일의 평균도 동일한 방법으로 계산합니다.
  3. 입력한 수식을 아래방향으로 자동채우기 합니다.

    이동 평균 자동채우기
    입력한 수식을 아래방향으로 자동채우기 합니다.
  4. 5일 이동평균선의 마지막 값을 선택해보면, 데이터의 마지막 날 기준으로 그 이전에는 평균을 구할 범위가 비어있어 이동평균을 제대로 반영하지 않는 것을 확인할 수 있습니다.

    이동평균 오류
    평균의 마지막 n 번째 값들은 올바른 평균을 계산하지 않습니다.
  5. 따라서 5일선의 마지막 4개 항목, 20일선의 마지막 19개 항목, 60일선의 마지막 59개의 항목을 지워서 올바른 이동평균선만 남겨줍니다.

    이동평균 오류 제거
    평균을 올바르게 계산하지 않는 범위는 목록에서 제거합니다.

엑셀 주식 차트 만들기 (기본 양식)

엑셀 주식 차트는 2010 이후 버전 사용자라면 아주 손쉽게 만들 수 있습니다. 다만 주식차트를 만들려면 아래 차트에 사용되는 데이터가 아래 2가지 조건을 만족해야 합니다.

  • 데이터의 첫번째 열은 반드시 '날짜'로 이루어져야 합니다.
  • 주식차트에서 요구하는 데이터의 순서대로 항목을 입력해야 합니다. 주식차트로 만들 수 있는 데이터 항목순서는 총 4가지입니다.
    a. 고가-저가-종가
    b. 시가-고가-저가-종가
    c. 거래량-고가-저가-종가
    d. 거래량-시가-고가-저가-종가

예제파일에 기존 추가되어있는 데이터를 바탕으로 주식차트를 제작해보겠습니다.

  1. 주식차트로 생성할 데이터 범위를 선택합니다. [B3:F129]까지, [날짜|시가|고가|저가|종가] 범위를 모두 선택한 뒤, '삽입' - '추천차트' 로 이동합니다.

    엑셀 주식 차트 범위 선택
    주식 차트로 생성할 범위를 선택한 뒤, 삽입 - 추천차트로 이동합니다.
  2. [차트 삽입] 대화상자에서 [모든 차트]를 선택한 뒤, [주식형] - [시가-고가-저가-종가] 차트를 생성합니다.

    엑셀 주식 차트 삽입
    모든차트 - 주식형 에서 시가-고가-저가-종가 차트를 삽입합니다.
  3. 차트의 가로축을 우클릭하여 [축 서식]으로 이동한 뒤, 축 종류를 '텍스트 축'으로 변경합니다. 그리고 [항목을 거꾸로] 옵션 체크박스를 활성화합니다.

    주식차트 축 변경
    차트의 가로축 설정을 변경합니다.
  4. 차트 옵션 중 '양선' 항목으로 이동합니다.

    주식차트 양선 이동
    차트의 양선 계열을 선택합니다.
  5. '양선'의 채우기 색상을 '빨간색'으로, 테두리는 '없음'으로 변경합니다.

    양선 채우기 색상 변경
    양선 계열의 채우기색상과 테두리 설정을 변경합니다.
  6. '음선'의 채우기 색상은 '파란색'으로, 테두리는 '없음'으로 변경합니다.

    음선 채우기 색상 변경
    음선 계열의 채우기색상과 테두리 설정을 변경합니다.
  7. 계열 항목 중, '시가'를 선택한 뒤, 계열 옵션에서 간격너비를 30%로 변경합니다.

    차트 간격너비
    차트 간격너비를 30%로 변경합니다.
  8. 현재 차트 세로축의 최소값이 0으로 설정되어 있어 주식의 변화량을 확인하기 어렵습니다. 차트 세로축을 우클릭한 뒤, [축 서식]으로 이동하여 축의 최소값을 실제 데이터의 최소값인 18,000 정도로 변경합니다.

    엑셀 주식 차트 값 최소값
    세로축의 최소값을 변경합니다.
  9. 주식 기본 차트가 깔끔하게 완성되었습니다.

    엑셀 주식 차트 기본 완성
    엑셀 기본 주식 차트가 완성되었습니다.

주식차트에 이동평균선 추가하기

  1. 차트를 우클릭한 뒤, [데이터 선택]으로 이동합니다. 범례 항목(계열)에서 [추가]버튼을 클릭합니다.
    주식차트 계열 추가
    차트를 우클릭 - 데이터선택 - 범례항목 계열 [추가] 버튼을 클릭합니다.
  2. 계열이름과 계열 값을 각각 아래와 같이 추가합니다. 3번 작업을 반복하여 5일선, 20일선, 60일선의 데이터를 모두 추가해줍니다.
    주식차트 계열 추가 완료
    5일선, 20일선, 60일선 데이터를 각각 추가합니다.
    계열이름계열 값
    =주식차트!$I$3=주식차트!$I$4:$I$129
    =주식차트!$J$3=주식차트!$J$4:$J$129
    =주식차트!$K$3=주식차트!$K$4:$K$129
  3. 새로운 데이터 계열이 추가되면서 기존 주식차트의 모양이 변경된 것을 확인할 수 있습니다. 다시 차트를 우클릭한 뒤, [데이터 계열 서식]으로 이동합니다.

    차트 데이터 계열 서식
    차트를 우클릭 한 뒤, 데이터 계열 서식으로 이동합니다.
  4. 계열 항목 중 '5일선'을 선택한 뒤, [데이터 계열 지정]의 값을 기본축 -> 보조축 -> 기본축으로 변경합니다. '20일선'과 '60일선'도 동일하게 보조축을 선택했다가 다시 기본축으로 변경합니다.

    데이터 계열 서식 5일선
    5일선/20일선/60일선 계열을 기본축->보조축->기본축으로 변경합니다.
  5. 차트가 다시 원래대로 돌아온 것을 확인할 수 있습니다. 다시 [데이터 계열 서식]으로 이동합니다.

    이평선 데이터 계열 서식
    차트를 우클릭 한 뒤, 데이터 계열 서식으로 이동합니다.
  6. 계열 항목에서 '5일선'을 선택한 뒤, 선은 '실선'으로, 채우기 색상은 '초록색'으로, 너비는 1pt로 변경합니다. '20일선'과 '60일선'도 동일하게 실선에 색을 추가하여 변경합니다.

    엑셀 주식 차트 이평선 서식
    각 이동평균선의 서식을 변경합니다.
  7. 주식차트에 이동평균선이 추가되었습니다.

    엑셀 주식 차트 완성 2차
    주식 차트에 이동 평균선이 추가되었습니다.

주식차트에 거래량 추가하기

  1. 차트를 우클릭한 뒤, [데이터 선택]으로 이동합니다. 범례 항목(계열)에서 [추가]버튼을 클릭하여 거래량 데이터계열을 추가합니다.
    거래량 계열 추가
    차트에 거래량 데이터 계열을 추가합니다.
    계열이름계열 값
    =주식차트!$G$3=주식차트!$G$4:$G$129
  2. 차트를 우클릭한 뒤, [데이터 계열 서식]으로 이동합니다. '계열 옵션' 에서 거래량을 선택한 뒤, 데이터 계열 지정의 값을 '보조축'으로 변경합니다.

    거래량 데이터 계열 서식
    거래량의 위치를 보조축으로 변경합니다.
  3. 차트의 [+] 버튼을 클릭한 뒤, [차트요소] - [축] - [보조가로]를 추가합니다.
    차트 보조 가로축 추가
    차트의 [+] 버튼을 클릭한 뒤, 축 - 보조가로축을 추가합니다.
  4. 보조가로축을 우클릭한 뒤, [축 서식]으로 이동합니다. 이전에 했던 작업과 동일하게 축 종류는 '텍스트 축'으로, '항목을 거꾸로' 체크박스를 활성화합니다.

    차트 보조 가로 축 변경
    보조가로축의 설정을 변경합니다.
  5. 보조축을 변경하였으면 [차트요소]에서 [보조가로축]을 다시 숨겨줍니다.

    보조가로축 숨기기
    보조가로축을 숨겨줍니다.
  6. 거래량 차트를 우클릭한 뒤, [데이터 계열 서식]으로 이동하여 거래량 선을 얇은 회색 실선으로 변경해줍니다.

    주식 차트 거래량 서식 변경
    거래량 차트의 서식을 변경합니다.
  7. 현재 주식 변동량과 거래량 차트가 겹쳐있어서 값을 확인하는데 어려울 수 있습니다. 거래량을 나타내는 보조세로축을 우클릭한 뒤, [축 서식]으로 이동합니다. 최대값을 기존 최대값의 약 2.5배 되는 값으로 변경합니다.

    거래량 최대값 수정
    거래량 차트의 최대값을 변경합니다.
  8. 보조세로축 설정 중 아래 '레이블' 항목을 '없음'으로 변경하여 보조세로축을 숨겨줍니다.

    보조세로축 숨김
    보조세로축의 레이블 위치를 없음으로 변경합니다.
  9. 차트제목과 범례항목 중 불필요한 항목을 삭제합니다. 범례를 위로 이동하여 주식 차트 만들기 작업을 마무리합니다.

    엑셀 주식차트 최종 완성
    주식 차트가 완성되었습니다.

엑셀 주식 차트 자동화 매크로 추가하기

NaverFinanceHistroy 함수를 사용하여 특정 종목의 주식정보를 실시간으로 받아올 경우, 매번 차트 세로축의 최소값/최대값을 변경하기 어려울 수 있습니다. 그럴 경우 아래 명령문을 엑셀 파일에 추가하면 세로축의 최소/최대값이 자동으로 변경됩니다.

아래 명령문을 사용하는 방법은 영상강의 21:20 부터 자세히 설명해드렸습니다.

Sub UpdateChart()
 
On Error Resume Next
 
Dim WS As Worksheet
Dim Cht As ChartObject
Dim i As Long: Dim cEnd As Long: Dim cVol As Long
Dim pMax As Double: Dim pMin As Double: Dim vMax As Double: pMin = 1000000000
Dim sEnd As String: sEnd = "F:F"   '<- 종가가 입력된 열을 입력하세요.
Dim sVolume As String: sVolume = "G:G"   '<- 거래량이 입력된 열을 입력하세요.
 
Set WS = ActiveSheet
Set Cht = WS.ChartObjects(1)
 
WS.Calculate
 
cEnd = WS.Range(sEnd).Column
cVol = WS.Range(sVolume).Column
 
For i = 1 To WS.UsedRange.Row + WS.UsedRange.Rows.Count - 1
    If WS.Cells(i, cEnd) > pMax And IsNumeric(WS.Cells(i, cEnd)) And WS.Cells(i, cEnd) <> "" Then pMax = WS.Cells(i, cEnd)
    If WS.Cells(i, cEnd) < pMin And IsNumeric(WS.Cells(i, cEnd)) And WS.Cells(i, cEnd) <> "" Then pMin = WS.Cells(i, cEnd)
    If WS.Cells(i, cVol) > vMax And IsNumeric(WS.Cells(i, cVol)) And WS.Cells(i, cVol) <> "" Then vMax = WS.Cells(i, cVol)
Next
 
Cht.Chart.Axes(xlValue).MaximumScale = pMax * 1.1
Cht.Chart.Axes(xlValue).MinimumScale = pMin * 0.7
Cht.Chart.Axes(xlValue, xlSecondary).MinimumScale = 0
Cht.Chart.Axes(xlValue, xlSecondary).MaximumScale = vMax * 2.5
 
Application.Calculation = xlCalculationManual
 
End Sub

계산방식을 수동으로 변경해야 하는 이유

엑셀 NaverFiananceHistory 함수는 네이버 증권에서 제공하는 주식정보를 실시간으로 받아오는 함수입니다. 따라서 계산방식을 자동으로 설정한 상태에서 많은 양의 데이터를 받아올 경우, 주식 정보와는 전혀 연관없는 다른 셀을 변경할 때에도 인터넷에 접속하여 값을 받아오게 되므로 처리속도가 느려지는 문제가 발생할 수 있습니다.

뿐만 아니라, 불필요한 많은 양의 데이터를 지속적으로 요청할 경우, Naver 측에서도 불필요한 리소스를 사용하게 되는 문제가 발생할 수 있습니다.

엑셀 수식 계산 옵션 변경
NaverFinanceHistory 함수 사용시에는 계산방식을 수동으로 변경 후 사용하시는 것을 권장드립니다.

따라서, NaverFinanceHistory 함수를 사용하여 주식정보를 실시간으로 받아온다면, 엑셀 환경설정에서 계산 방식을 '수동'으로 변경한 뒤, 필요할 때만 값을 갱신하는 방법으로 사용하는 것을 권장드립니다.

4.7 3 votes
게시글평점
현재 페이지 댓글알림 신청
알림 설정
guest
5 Comments
Inline Feedbacks
View all comments
ki72****
ki72****
2020년 9월 2일 8:38 오전
게시글평점 :
     

오늘도 재미있고 즐겁게 배웠습니다. 좋은 하루 보내세요.

신현승
신현승
2020년 10월 11일 1:09 오후
게시글평점 :
     

대박 강의를 하셨네요 전혀 생각지 않은 곳에서 이런 멋진 강의를 봤습니다 질문이 있는데요 양선과 음선이 말씀하신대로 변경하면 각각 빨강 파랑으로 바뀌는데요 봉자체에 있는 고가와 저가의 선은 검정색입니다 실제 증권차트처럼 선색도… 더보기 »

지금은 공부중
지금은 공부중
2020년 10월 21일 8:14 오전
게시글평점 :
     

항상 좋은정보 감사합니다
한가지 이상한게 있어서 질문 드립니다
종목 검색할때 예를 들어 "비에이치"를 검색했는데 "비에이치아이"라는 종목이 나오는데요
이거 왜 그러는걸까요.?

5
0
여러분의 생각을 댓글로 남겨주세요.x