728x90

네이버 금융 데이터

웹 스크레이핑

DB에 저장

DB에서 내가 원하는 자료 찾기

 

마리아디비 설치는 책에 설명한 방법이 아닌 도커를 이용 했다. 예전에 도커를
사용해 봤지만, 만족할 만큼은 아니여서 걱정이 됐다. 하지만 예전과 다르게
별다른 문제 없이 원하는 대로 도커도 잘 설치 됐고, 마리아디비 이미지도
잘 받아졌으며, 설정도 잘 됐다. 책에 있는 시세 조회 API 개발 코드를 보고 만드는데도
오타 때문에 고생 좀 했다. 실습 영상에도 적나라 하게 나온다.

 

docker container run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -v /Users/Shared/data/mariadb:/var/lib/mysql --name mariadb_local mariadb

-d 데몬으로 실행한다. 
-p 포트포워딩 해준다. 로컬이라 3306 3306 했다
-e MYSQL_ROOT_PASSWORD root 패스워드 설정한다.
-v 디비 데이터 저장할 폴더이다
--name 컨테이너 이름이다

 

docker run --name mariadb -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mariadb mariadb
docker exec -it mariadb /bin/bash

 

youtu.be/uipdLntAbII

 

 

CHAPTER 5 시세 DB 구축 및 시세 조회 API 개발
5.1 야후 파이낸스와 네이버 금융 비교하기

5.1.1 야후 파이낸스 데이터의 문제점
5.1.2 네이버 금융 데이터로 시세 데이터베이스 구축하기

 

5.2 마리아디비 설치 후 접속 확인
5.2.1 마리아디비 설치
5.2.2 마이에스큐엘 클라이언트로 접속 확인
5.2.3 헤이디에스큐엘
5.2.4 파이마이에스큐엘로 버전 정보 확인하기

 

5.3 주식 시세를 매일 DB로 업데이트하기
5.3.1 DBUpdater 클래스 구조
5.3.2 헤이디에스큐엘로 테이블 생성하기
5.3.3 복합 기본키
5.3.4 파이마이에스큐엘로 테이블 생성하기
5.3.5 종목코드 구하기 
5.3.6 종목코드를 DB에 업데이트하기
5.3.7 주식 시세 데이터 읽어오기
5.3.8 일별 시세 데이터를 DB에 저장하기
5.3.9 json을 이용한 업데이트 페이지 수 설정
5.3.10 마리아디비 자동 연결 해제 방지

5.3.11 DBUpdater.py  전체 소스 코드

5.3.12 Run 레지스트리 등록해 자동 실행하기

 

5.4 일별 시세 조회 API
5.4.1 클래스 구조 
5.4.2 생성자와 소멸자로 DB 연결 관리
5.4.3 일별 시세 조회 API
5.4.4 기본 인숫값 처리
5.4.5 정규표현식으로 연 월 일 분리하기
5.4.6 회사명으로 종목코드 조회하기

5.4.7 Analyzer.py 전체 소스 코드

5.5 핵심 요약

 

이전글 - 2021/02/07 - [책들] - [파이썬 증권 데이터 분석] 4.5 OHLC 캔들 차트 203p

다음글 - 2021/02/25 - [책들] - [파이썬 증권 데이터 분석] 6.1.2 효율적 투자선 267P

 

 

728x90
블로그 이미지

두리뭉실 두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

728x90

포트폴리오의 전반적인 위험을 줄일 수 있는 방법으로 상관관계가
낮은 자산으로 포트폴리오를 구성한다. 회귀 분석을 통하여
상관관계를 분석하여 상관계수를 구한다.

 

이번 예제 실습 중 미국 국채와(TLT) KOSPI(^KS11)의 회귀 분석이
있는데 TLT의 자료가 책에 그려진 그래프와는 다른 거 같다.
그렇지만 상관 계수는 얼추 비슷하게 나왔다.

 

해당 자산을 지수화 ->
사이파이를 이용하여 선형 회귀 분석 ->
상관 계수 구하기(데이터프레임, 시리즈로)->

결정 계수 구하기

 

코드로 작성하는 건 어렵지 않다.
단어에 대한 이해가 필요한 부분이다.
앞으로도 더욱 더 이해가 많이 필요할 거 같다.

3.6 회귀 분석과 상관관계
3.6.1 KOSPI와 다우존스 지수 비교 
3.6.2 지수화 비교
3.6.3 산점도 분석
3.6.4 사이파이 선형 회귀 분석 .....
3.6.5 선형 회귀 분석

3.7 상관계수에 따른 리스크 완화
3.7.1 데이터프레임으로 상관계수 구하기
3.7.2 시리즈로 상관계수 구하기
3.7.3 결정계수 구하기
3.7.4 다우존스 자수와 KOSPI의 회귀 분석
3.7.5 상관계수에 따른 리스크 완화

 

이전글 - 2021/02/01 - [책들] - 파이썬 증권 데이터 분석 3.4 주식비교하기 ~ 153p

이후글 - 2021/02/07 - [책들] - [파이썬 증권 데이터 분석] 4. 웹 스크레이핑을 사용한 데이터 분석 191p

728x90
블로그 이미지

두리뭉실 두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

728x90

일정 기간의 시세를 기본으로 일간 변동률과 누적 수익률을 구한다.
야후 파이낸스(yfinance) 라이브러리를 이용하여 해당 종목의
시세를 구할 수 있다.

 

책에서는 누적 수익률을 인간 변동률의 누적합으로 되어 있으나, 누적곱으로
구해야 한다. 관련 오류는 해당 책 오탈자 부분에 자세하게 나와 있다.

 

아래는 '삼성전자'와 '마이크로소프트'의
2018년부터 지금까지 누적수익률 그래프다.

 

마소가 대단하긴 대단한가 보다!

 

 

파이썬 증권 데이터 분석

이 책은 웹 스크레이핑으로 증권 데이터를 주기적으로 자동 수집, 분석, 자동 매매, 예측하는 전 과정을 파이썬으로 직접 구현한다. 그 과정에서 금융 데이터 처리 기본 라이브러리(팬더스)부터

www.hanbit.co.kr

 

Learning pandas - Second Edition

Calculating simple daily cumulative returns of a stock The simple cumulative daily return is calculated by taking the cumulative product of the daily percentage change. This calculation is represented by … - Selection from Learning pandas - Second Editio

www.oreilly.com

 

실습 동영상

이전글 - 2021/01/31 - [책들] - [파이썬 증권 데이터 분석] Numpy, Pandas, Matplotlib ~ 142p

이후글 - 2021/02/02 - [책들] - 파이썬 증권 데이터 분석 3.6 회귀 분석과 상관관계 ~ 171p

728x90
블로그 이미지

두리뭉실 두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

728x90

Numpy & Pandas & Matplotlib은 데이터들을
쉽고, 빠르게, 시각적으로 다룰 수 있게 해주는 라이브러리다.

 

책에 있는 내용들은 기본 중에 기본이기 때문에 아래 문서들을
한 번씩 훑어보기에는...... 그래서 책에 있는 기초적인
부분에 집중하기로 했다.

책에 있는 기본적인 내용을 보고 문서들을 본다면

어렵지 않게 라이브러리들을 볼 수 있을 거 같다.

 

아래는 142p까지의 예제 실습 동영상! 예전에 numpy를
해본 적이 있어서 pandas도 어렵지 않게 슥~

 

 

 

 

matplotlib.org/contents.html

 

Overview — Matplotlib 3.3.3 documentation

 

matplotlib.org

pandas.pydata.org/docs/

 

pandas documentation — pandas 1.2.1 documentation

API reference The reference guide contains a detailed description of the pandas API. The reference describes how the methods work and which parameters can be used. It assumes that you have an understanding of the key concepts.

pandas.pydata.org

matplotlib.org/3.1.1/users/index.html

 

User's Guide — Matplotlib 3.1.2 documentation

 

matplotlib.org

CHAPTER 3 팬더스를 활용한 데이터 분석
3.1 넘파이 배열
3.1.1 배열 생성 
3.1.2 배열 정보 보기 
3.1.3 배열의 접근
3.1.4 배열 형태 바꾸기
3.1.5 배열의 연산
3.1.6 브로드캐스팅
3.1.7 내적 구하기

3.2 팬더스 시리즈
3.2.1 시리즈 생성
3.2.2 시리즈의 인덱스 변경
3.2.3 데이터 추가 
3.2.4 데이터 인덱싱 
3.2.5 데이터 삭제 
3.2.6 시리즈 정보 보기
3.2.7 시리즈 출력하기

3.3 팬더스 데이터프레임
3.3.1 딕셔너리를 이용한 데이터프레임 생성
3.3.2 시리즈를 이용한 데이터프레임 생성
3.3.3 리스트를 이용한 데이터프레임 생성
3.3.4 데이터프레임 순회 처리

 

이전글 - 2021/01/29 - [책들] - [파이썬 증권 데이터 분석] 시작하며 ~121p

이후글 - 2021/01/31 - [책들] - [파이썬 증권 데이터 분석] Numpy, Pandas, Matplotlib ~ 142p

728x90
블로그 이미지

두리뭉실 두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

728x90
개발 환경
윈도우 10,  크롬, 마리아디비, 파이썬 및 IDLE 64bit & 32Bit, 팬더스, 뷰티플 수프, 장고, 텐서플로

파이썬 32bit를 사용하는 이유가 증권사 COM방식의 API를 사용하기 위해서 32bit를 사용한다. 더불어 가상 환경(venv) 를 이용하여 각각의 버전을 설치하여 사용한다. 아나콘다와 주피터 노트북을 이용해도 될 듯.

 

책에 클래스에 대한 설명이 있다. '틀'에 빗대어 설명을 했는데, 책에도 설명한 설계도(blueprint)로 생각하면 좋겠다.

 

cmd vs powershell

powershell이 나온지도 꽤 오래 됐다. 그 동안 cmd만 사용했는데, 이 책은 powershell을 이용해야 겠다. 참고로 관리자 권한으로 powershell를 실행하고, 실행권한을 Unrestricted로 변경해야 권한에러를 해결 할 수 있다.

 

Set-ExecutionPolicy Unrestricted

 

아래 동영상은 책에 나온 예제 실습 동영상이다.
파이썬 언어의 기본적인 것들은 빼고 121p까지의 예제 중에
필요한 부분만 동영상으로 만들었다.

예제 실습 동영상

이전글 -

이후글 - 2021/01/31 - [책들] - [파이썬 증권 데이터 분석] Numpy, Pandas, Matplotlib ~ 142p

 

728x90
블로그 이미지

두리뭉실 두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

댓글을 달아 주세요