이 영역을 누르면 첫 페이지로 이동
웬디의 기묘한 이야기 블로그의 첫 페이지로 이동

웬디의 기묘한 이야기

페이지 맨 위로 올라가기

웬디의 기묘한 이야기

C/C++ Windows Hooking 개발자의 블로그 입니다! 이곳은 개발 외에도 저의 취미들이 공유되는 기묘한 이야기가 펼쳐집니다.

[Python] 네이버 Finance API를 이용한 ETF 종목 가져오기

  • 2020.01.02 22:34
  • ⌨ DEVELOPMENT/Python
반응형

ETF(상장지수펀드)는 기초지수의 성과를 추적하는 것이 목표인 인덱스펀드로, 거래소에 상장되어 있어서 개별주식과 마찬가지로 기존의 주식계좌를 통해 거래를 할 수 있습니다. 그 구성종목과 수량 등 자산구성내역(PDF)이 투명하게 공개되어 있고, 장중에는 실시간으로 순자산가치(NAV)가 제공되어 거래에 참고하실 수 있습니다. ETF는 1좌를 거래할 수 있는 최소한의 금액만으로 분산투자 효과를 누릴 수 있어 효율적인 투자수단이며, 펀드보다 운용보수가 낮고 주식에 적용되는 거래세도 붙지 않습니다.

 

ETF의 장점은 종목 선정 및 분산투자에 익숙하지 않은 상태에서도 안정적으로 자산을 운용하기에 적합하며, 또한 가격 변동이 그렇게 크지 않기 때문에 주식 초보가 투자하기에도 좋습니다.

 

 

https://finance.naver.com/sise/etf.nhn

위 링크에서 보게되면 Naver Finance에서 약 450개의 ETF 전체 종목을 가져올 수 있습니다.

beautiful soup 라이브러리를 이용하여 html 페이지를 가져와서 Parsing 하는 방법이 있을 테지만 간단하게 API 페이지를 이용하여 가져와보도록 하겠습니다.

 

NAVER FINANCE ETF ITEM LIST API

https://finance.naver.com/api/sise/etfItemList.nhn

{"resultCode":"success","result":{"etfItemList":[{"itemcode":"069500","etfTabCode":1,"itemname":"KODEX 200","nowVal":29465,"risefall":"5","changeVal":-315,"changeRate":-1.06,"nav":29522.0,"threeMonthEarnRate":8.841,"quant":3542631,"amonut":104730,"marketSum":92063}, ...
import requests
import json
from pandas.io.json import json_normalize

url = 'https://finance.naver.com/api/sise/etfItemList.nhn'
json_data = json.loads(requests.get(url).text)
df = json_normalize(json_data['result']['etfItemList'])

 

코드를 보면 너무나도 간다합니다. 단 3줄..

requests를 이용하여 Naver Finance API를 호출하여 전달받은 json은 json.loads를 통해 json data로 저장하였습니다. json data를 그냥 사용하기 불편하니 json_normalize 함수를 사용하여 Data Frame 형태로 변경하여 사용하면 됩니다.

 

 

 

NAVER FINANCE ETF ITEM LIST 엑셀 파일로 저장하기

가져온 ETF 종목 데이터를 pandas Data Frame 형태로 만들어주었으니 Excel 문서로 만드는것도 간단하게 처리할 수 있습니다. to_excel 함수를 이용하여 excel로 저장해보겠습니다.

만약 원하는 데이터만 저장하고싶은경우 data frame에서 원하는 항목만 담아서 저장하면 됩니다.

import requests
import json
from pandas.io.json import json_normalize

url = 'https://finance.naver.com/api/sise/etfItemList.nhn'
json_data = json.loads(requests.get(url).text)
df = json_normalize(json_data['result']['etfItemList'])

df.to_excel('etf_list.xlsx');

 

 

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'⌨ DEVELOPMENT > Python' 카테고리의 다른 글

[Python] 이미지 한장으로 정리하는 Python3 기초!  (3) 2020.05.30
[Python] backtrader를 이용한 주식 전략 백테스팅 시뮬레이션  (9) 2020.01.04
[Python] pandas 주식정보 이동평균(moving average) 구하기  (1) 2019.12.29
[Python] pandas 주식정보로 스토캐스틱(Stochastic Oscillator) 구하기  (3) 2019.12.28
[Python] pandas_datareader를 이용하여 주식 데이터 가져오기! Yahoo Finance  (3) 2019.12.26
[Python] Pandas를 이용하여 주식 종목 코드 가져오기! 한국 거래소 (KRX).  (4) 2019.12.26
Python django vs Flask. web framework 무엇을 선택해야할까?  (6) 2019.12.25
Google Colaboratory 소개 및 사용법 : 주피터 노트북 (jupyter notebook)  (2) 2019.12.16

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Python] 이미지 한장으로 정리하는 Python3 기초!

    [Python] 이미지 한장으로 정리하는 Python3 기초!

    2020.05.30
  • [Python] backtrader를 이용한 주식 전략 백테스팅 시뮬레이션

    [Python] backtrader를 이용한 주식 전략 백테스팅 시뮬레이션

    2020.01.04
  • [Python] pandas 주식정보 이동평균(moving average) 구하기

    [Python] pandas 주식정보 이동평균(moving average) 구하기

    2019.12.29
  • [Python] pandas 주식정보로 스토캐스틱(Stochastic Oscillator) 구하기

    [Python] pandas 주식정보로 스토캐스틱(Stochastic Oscillator) 구하기

    2019.12.28
다른 글 더 둘러보기

정보

웬디의 기묘한 이야기 블로그의 첫 페이지로 이동

웬디의 기묘한 이야기

  • 웬디의 기묘한 이야기의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록
  • 이야기

카테고리

  • 분류 전체보기 (204)
    • MY STORY (2)
    • 📸 WALKING WITH YOU (85)
      • 아이슬란드 신혼여행 이야기 (14)
      • 대한민국 구석구석 (62)
      • CONTAX N1 + T* 28-80mm (4)
      • SAMSUNG NX3000 (1)
      • 어느 멋진 날 (4)
    • ⌨ DEVELOPMENT (80)
      • BOOK:Review (1)
      • AI (13)
      • C++ (26)
      • Python (10)
      • WIndows Hooking (9)
      • Windows Kernel (3)
      • Design Pattern (3)
      • Debugging (9)
      • Tools (0)
      • Project (1)
      • Android (1)
      • 상업용 무료폰트 (4)
    • OS (4)
      • News (0)
      • Windows 일반 (4)
    • 모바일 (2)
      • 모바일 게임 (2)
    • 멘사 퍼즐 (9)
    • 생활 꿀 TIP (7)
      • 건강 (3)
      • 일상 (2)
    • 물생활 (8)
      • 골든볼 라미네지 롱핀 (8)
    • IT 기기 (2)
    • BLOG (4)
      • TISTORY BLOG TIP (3)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 아이슬란드
  • c
  • windbg
  • AI
  • 카페
  • 신혼여행
  • c++
  • 해외여행

나의 외부 링크

  • kernel undocument api
  • 지구 관찰자의 일기
  • 지구와 지구곰

정보

WENDYS의 웬디의 기묘한 이야기

웬디의 기묘한 이야기

WENDYS

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © WENDYS. Designed by Fraccino.

티스토리툴바