본문 바로가기
반응형

개발 프로젝트/Python4

Python을 활용해 원자재 가격과 주가와의 상관관계 분석 * 주피터 노트북에서 개발을 진행하였습니다. 그러면 지금부터 본격적으로 원자재 가격과 주가와의 상관관계를 수치적으로 계산해보겠다. 원자재 가격은 The World Bank에서 Monthly Price 데이터를 다운로드하여 사용하고, 주가 데이터는 이전 포스팅(링크)에서 설명하였듯이 Python FinanceDataReader 라이브러리를 사용하도록 하겠다. 원자재 가격 데이터 가져오기 먼저 다운로드한 월별 원자재 데이터를 Pandas를 활용해 DataFrame에 저장해보겠다. pandas.read_excel()을 활용해 'CMOHistoricalDataMonthly.xlsx' 파일을 읽어온다. 읽으려는 엑셀 파일 sheet name이 'Monthly Prices' 이기 때문에 sheet_name 옵션도 .. 2020. 12. 2.
Python 라이브러리를 활용한 코스피/코스닥 주가 데이터 수집 * 주피터 노트북에서 개발을 진행하였습니다. 원자재 가격과 주가와의 상관관계 분석을 위해 지난 포스팅까지는 웹 크롤링을 활용해 원자재 가격 데이터를 수집하는 방법에 대해서 알아봤다. 이번 포스팅에서는 Python FinanceDataReader 라이브러리를 활용해서 코스피/코스닥 주가 데이터를 수집해보겠다. FinanceDataReader FinanceDataReader는 한국, 미국 글로벌 시장의 금융상품 가격 데이터(주식, 지수, 환율, 선물 등)와 종목 리스팅 등 금융 데이터 수집과 분석을 위한 오픈소스 라이브러리이다. 기존에 한국 주식시장 주가 데이터를 가져오기 위해서는 네이버나 야후 Finance를 크롤링하거나 증권사에서 제공하는 api를 활용해야만 했다. 사실 두 방법 모두 어려운 것은 아니나.. 2020. 11. 29.
Python 웹 크롤링을 활용한 원자재 가격 데이터 수집 (2) 금과 WTI유 각각의 HistoricalDataAjax 파일의 Request URL은 동일하지만 Form Data를 살펴보면 차이가 나는 부분이 몇 가지 있다. 이 차이가 나는 부분이 바로 서버에서 원자재를 구분하는 요소들이다. 아래에서 header는 원자재 이름 + "선물 내역"으로 고정되어 있고, 원자재 별로 curr_id와 smlID가 다르기 때문에 해당 페이지에서 이 식별자들을 찾아줘야 한다. 추가적으로 원자재 가격 5년 치 데이터를 주별로 받아올 것이기 때문에 st_date는 5년 전 날짜, end_date는 오늘 날짜 그리고 interval_sec는 Weekly로 변경해서 요청을 보낼 것이다. 그 아래 sort 부분은 정렬 방법을 나타내는 것이므로 수정할 필요는 없다. curr_id와 smlI.. 2020. 11. 22.
Python 웹 크롤링을 활용한 원자재 가격 데이터 수집 (1) 개인적으로 원자재 가격과 주가와의 상관관계는 수치적으로 얼마 정도 될까라는 의구심을 항상 품고 있었다. 그 의구심을 해결하고자 파이썬 웹 크롤링을 활용해 원자재 가격 데이터와 주가 데이터를 수집한 뒤 상관관계를 분석해보도록 하겠다. 사실 The World Bank에서 Monthly Price를 선택하면 간편하게 엑셀로 받을 수 있지만 웹 크롤링 연습도 할 겸 해서 한 번 해보았다. BeautifulSoup 라이브러리 설치 먼저 웹 크롤링을 하다 보면 HTML 문서를 태그 단위로 파싱(Parsing)할 필요가 있는데 이때 유용한 파이썬 라이브러리가 BeautifulSoup 라이브러리다. BeautifulSoup는 bs4 패키지를 설치해야 사용할 수 있다. pip install bs4 설치가 완료되면 아래와.. 2020. 11. 22.
반응형