본문 바로가기

프로젝트

(19)
[Python] 셀레니움으로 100대 통계지표 크롤링하기 오늘은 셀레니움을 사용하여 100대 통계지표를 크롤링해보겠습니다. 오늘 우리가 크롤링해보려는 사이트는 이곳입니다. https://ecos.bok.or.kr/jsp/vis/keystat/#/key 100대 통계지표 ecos.bok.or.kr 한국은행 경제통계시스템의 "한눈에 보는 우리나라 100대 통계지표"입니다. 통계지표 중 가장 중요한 100개의 통계 자료를 뽑아 한눈에 보기 좋게 정리해놓은 사이트입니다. 셀레니움으로 크롤링을 시도하기 전 requests랑 BeautifulSoup로 크롤링을 시도해보았으나 실패했습니다. 동적 데이터의 경우 requests와 BeautifulSoup로 크롤링을 하는 것이 불가능합니다. 단순히 웹서버에 이미 저장되어 있는 데이터를 요청하여 받아오는 경우 이는 정적인 요소이..
[Python] 공공데이터포털 API 사용하여 데이터 수집하기 이전 시간에 공공데이터포털에서 인증키를 받아 XML파일을 열어보는 것까지 진행하였습니다. 이번 포스팅을 읽기 전에 이전 포스팅을 보고 오시는 것을 추천드립니다. https://bigdata-doctrine.tistory.com/16 공공데이터포털 오픈 API 사용법 : 인증키 생성, XML 파일 접속 데이터를 수집하는 방법에는 여러 가지가 있습니다. 그중 하나는 직접 크롤링하는 것이고 하나는 오픈 API를 사용하여 크롤링하는 것입니다. 직접 크롤링을 하는 경우에는 여러 문제가 발생할 bigdata-doctrine.tistory.com 이번 시간에는 파이썬을 활용하여 공공데이터포털의 국토교통부 아파트매매 실거래자료 데이터를 데이터프레임에 저장하고 시각화를 통해 간단한 분석을 하도록 하겠습니다. 데이터 수집..
공공데이터포털 오픈 API 사용법 : 인증키 생성, XML 파일 접속 데이터를 수집하는 방법에는 여러 가지가 있습니다. 그중 하나는 직접 크롤링하는 것이고 하나는 오픈 API를 사용하여 크롤링하는 것입니다. 직접 크롤링을 하는 경우에는 여러 문제가 발생할 수 있습니다. 관리자가 외부 접속자는 크롤링을 하지 못하도록 막아 둘 수 있고 만약에 현재 크롤링이 된다고 하더라도 미래에도 같은 방식으로 데이터를 가져올 수 있을지 확신할 수 없습니다. 또한 크롤링을 통해 과도한 트래픽을 일으키거나 수익 창출을 한다면 IP주소가 차단되고 처벌을 받을 수도 있습니다. 우리나라의 경우 "여기어때" 플랫폼에서 "야놀자"의 숙박정보를 무단으로 크롤링해가서 소송을 당한 경우가 있습니다. 하지만 오픈 API를 사용한다면 말이 달라집니다. 오픈 API는 관리자가 관리하고 있는 데이터를 누구나 쓸 수..
[Python] 몬테카를로 방법을 이용하여 원주율, 파이(π)값 구하기 오늘은 몬테카를로 방법을 이용하여 원주율, 파이(π)의 값을 구해보도록 하겠습니다. 몬테카를로 방법이란 무작위 추출된 난수를 이용하여 모델(함수)을 구하는 알고리즘을 부르는 용어입니다. 몬테카를로 방법은 금융, 물리학 등의 다양한 학문에서 사용됩니다. 2차 세계대전 중의 핵무기 개발 프로그램인 맨해튼 계획에 사용되었고 "몬테카를로 방법"이라는 이름 또한 맨해튼 계획 중에 붙여졌습니다. "몬테카를로"는 모나코의 유명한 도박의 도시인데 "몬테카를로 방법"의 무작위성과 연관이 있어 이 이름이 지금까지 내려져오고 있습니다. 이제부터 "몬테카를로 방법"의 가장 대표적인 예시인 원주율, 파이(π) 값 구하기 프로젝트를 시작합니다! 난수 생성 import random #1 import matplotlib.pyplot..
[Python] 정규분포 그래프 시각화 오늘은 정규분포 그래프를 matplotlib을 사용하여 시각화해보겠습니다. 정규분포의 사전적 정의는 다음과 같습니다. 도수(度數) 분포 곡선이 평균값을 중앙으로 하여 좌우 대칭으로 종 모양을 이루는 분포. 정규분포의 평균값에는 많은 데이터가 모여있기 때문에 다른 값들보다 높고 정규분포가 퍼진 정도는 표준편차에 의해 결정됩니다. 표준정규분포는 평균이 0이고 표준편차가 1인 정규분포입니다. 그럼 이제 정규분포 그래프를 시각화해보도록 합시다. 확률밀도함수 정규분포 그래프는 확률밀도함수에 의해 그려집니다. 확률밀도함수란 특정한 값의 확률을 나타내기 위한 함수입니다. 확률밀도함수를 통해 정규분포 그래프를 그릴 수 있습니다. 확률밀도함수는 다음과 같습니다. 하지만 정규분포 곡선을 그리기 위해 항상 위의 식을 대입해..
[Python] (3)올웨더 기반 효율적 투자선 구현 : 시각화 https://bigdata-doctrine.tistory.com/10 [Python] (1)올웨더 기반 효율적 투자선 구현 : 데이터 수집 이번 프로젝트는 효율적 투자선을 파이썬을 통하여 시각화를 해 보는 것입니다. 단순히 효율적 투자선을 시각화하는 것뿐만 아니라 샤프지수가 가장 높은 포트폴리오, 위험률이 가장 낮은 포트 bigdata-doctrine.tistory.com https://bigdata-doctrine.tistory.com/11 [Python] (2)올웨더 기반 효율적 투자선 구현 : 수익률, 리스크, 샤프지수 계산 오늘은 이전 시간에 수집한 포트폴리오 각 종목의 연간 수익률과 리스크를 가지고 포트폴리오들의 수익률과 리스크를 구해보도록 하겠습니다. 또한 샤프지수가 가장 큰 포트폴리오, 리..
[Python] (2)올웨더 기반 효율적 투자선 구현 : 수익률, 리스크, 샤프지수 계산 https://bigdata-doctrine.tistory.com/10 [Python] (1)올웨더 기반 효율적 투자선 구현 : 데이터 수집 이번 프로젝트는 효율적 투자선을 파이썬을 통하여 시각화를 해 보는 것입니다. 단순히 효율적 투자선을 시각화하는 것뿐만 아니라 샤프지수가 가장 높은 포트폴리오, 위험률이 가장 낮은 포트 bigdata-doctrine.tistory.com 오늘은 이전 시간에 수집한 포트폴리오 각 종목의 연간 수익률과 리스크를 가지고 포트폴리오들의 수익률과 리스크를 구해보도록 하겠습니다. 또한 샤프지수가 가장 큰 포트폴리오, 리스크가 가장 작은 포트폴리오, 올웨더 포트폴리오의 종목 비중과 수익률, 리스크, 샤프지수 또한 구해보도록 하겠습니다. 포트폴리오 연간 수익률, 리스크 구하기 종목..
[Python] (1)올웨더 기반 효율적 투자선 구현 : 데이터 수집 이번 프로젝트는 효율적 투자선을 파이썬을 통하여 시각화를 해 보는 것입니다. 단순히 효율적 투자선을 시각화하는 것뿐만 아니라 샤프지수가 가장 높은 포트폴리오, 위험률이 가장 낮은 포트폴리오, 올웨더 포트폴리오의 위치 또한 효율적 투자선 안에서 확인해 보도록 하겠습니다. 포트폴리오 내 종목은 올웨더 포트폴리오의 종목과 같이 주식, 중기채, 장기채, 금, 원자재로 구성하였고 위 종목들은 모두 미국 거래소에서 거래되는 etf로 구성하였습니다. 데이터 수집 주식, 중기채, 장기채, 금, 원자재의 시세 데이터를 수집해 보겠습니다. pip install investpy etf 시세 데이터를 수집하기 위해 investpy 패키지를 설치합니다. import matplotlib.pyplot as plt #1 from d..

반응형