프리미어 프로 '설치' 부터 '컷 편집'부분이다.
책과 다른 버전을 사용해서 약간의 문제가 발생 했다.

 

메뉴를 영어로 표시 해야 하는데, 책의 있는 방법대로는 안된다.
-> 프로젝트를 만들고 Ctrl + F12를 누룬 후
Console > Debug Database View > ApplicationLanguage 값을 en_US로 변경 한다.

 

분명 단축키가 먹혀야 하는데, 안된다. 

-> 현재 입력이 한글이면 안된다, 입력을 영문으로 변경 한다.

 

리졸브와 다른 점이 있다면, 실제 '컷 편집'을 하라면, 시퀀스라는
객체를 만들어야 타임라인이 생기고 그 위에 클립들을 넣어야 한다.

V(선택 툴), C(자르기 툴) 단축키로 클립들을 선택과 자르기를 할 수 있다.

 

책은 20일 완성인데...... 무료체험은 7일......
어떻게 해야 하지 ㅠㅠ??

블로그 이미지

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

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

주가가 20일 이동평균선을 기준으로 볼린저 밴드의 어느 위치에 있는지(%b)와
밴드폭(Band Width)에 대한 내용이다. 

 

어렵지 않게 내용을 보고, 코딩하여 결과를 그래프로 확인 하면
어렵지 않게 이해 했다.

 

'삼성전자'와 '삼성전자우' 그래프를 봤는데, 예전 지인에게
삼성전자의 주가가 꺽이기 전에 차익 실현과 이벤트가 없어 주가가
떨어진다고 얘기 했던 기억이 있다. 시기가 결과로 나타난 비슷했다 --.--

코딩하면서 코드를 조금 수정해야 할 부분이 생겼다. '삼성전자' 종목은 잇는데,
'삼성전자우'로 했을 때 문제가 생겼다. krx에서 받아온 데이터가 회사에 대한
종목코드만 있어, 주식 거래가 되는 종목들 전부는 아니였다.
이 부분만 개선하면 될거 같다.

 

youtu.be/XtZ74Cfpkwg

 

 

6.3 볼린저 밴드 지표
.

.

.

6.3.2 볼린저 밴드 지표 | :%b
6.3.3 볼린저 밴드 지표 II : 밴드폭

.

.

.

 

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

다음글 - 작성중

블로그 이미지

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

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

Mean-Variance Optimization는 예상 수익률과 리스크의 상관관계를 활용해
포트폴리오를 최적화 하는 기법이다.

 

책에서는 시총 상위 4종목 비중을 다르게 해 포트폴리오 20,000개를 생성해
수익률, 리스크, 샤프 지수를 이용하여 위험에 대한 보상이 큰(샤프 지수가 큰)
포트폴리오와 리스크가 작은 포트폴리오를 구한다.

 

역시나 이번에도 오타와 복사 붙여 넣기로 인해 오류가
났지만, 한번 더 다시 보는(?) 시간이 됐다.

 

youtu.be/3FIj9eqtuyU

 

CHAPTER 6 트레이딩 전략과 구현
6.1 현대 포트폴리오 이론
6.1.1 수익률의 표준편차
6.1.2 효율적 투자선
6.2 샤프 지수와 포트폴리오 최적화 
6.2.1 샤프 지수
6.2.2 포트폴리오 최적화 

 

이전글 - 2021/02/17 - [책들] - [파이썬 증권 데이터 분석] 5. 시세 DB 구축 및 시세 조회 API 개발 251p

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

블로그 이미지

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

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

01 블로그형 사이트 제작하기에서 꼼꼼하게 해서 여유롭게 했다.
phlox 테마를 설치 하고 기존의 설정을 거의 그대로 했기 때문에
설명 또한 간결하게 넘어 갔다.

 

그렇기 때문에 책에서 알려주지 않은 부분은 하나씩 변경해 가며 해보는 것을 권장한다.
기존 사용하는 에디터 대신 엘리멘터(Elementor) 페이지 빌더로 페이지를 작성해
보니 괜찮다.

 

지금 현재 티스토리 업데이트 된 에디터를 사용중인데, 괜찮은 페이지 빌더를
서비스 해주면 좋겠다. 지금 생각으로는 유료라도 사용할거 같다.

 

 

www.youtube.com/watch?v=mlmCinVvEW8

youtu.be/_RFf4UMLRWE

블로그 이미지

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

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

cenote 무료 테마를 이용하여 블로그형 사이트 제작하는 것을 따라 했다.
어렵지는 않았지만, 출판한지 얼마 안된 책임에도 단어가 달랐다.
그래도 어렵지 않게 따라 할 수 있다.

 

책으로 100페이지가 넘는 분량만큼 거의 대부분의 기능들이 해볼 수 있다.
티스토리의 설정 메뉴들을 다시 한번 봐야 할거 같다.

백업 플러그인을 통하여 쉽게 백업이 가능 하다.
나는 ssh 해볼려고 하다가...... 수렁에 빠졌다.
vcode에 ssh 익스텐션을 이용해서 cafe24를 접속해야 하는데 안된다.

/home/bin/bash2: line 217: flock: command not found

서버쪽에서 이 명령어를 실행 할 수 없나 보다. 바로 포기......

 

scp를 이용하면 전체 복사가 가능한데

scp -r user@server:source target

 파일이든 디텍토리든 '한글'이 포함 되어 있으면 복사가 중지 된다.
처음에 한글이 깨져서 그런가 했는데
chcp이용해서 949 -> 65001 변경해도 마찬가지......

 

암튼 그렇다. 

블로그 이미지

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

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

네이버 금융 데이터

웹 스크레이핑

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

 

 

블로그 이미지

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

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

원래는 [파이썬 증권 데이터 분석]과 같이 시작하려고 했는데 조금 늦었다.
오늘은 cafe24.com 3개월 무료 이용권을 사용하여 자동으로 워드프레스를 설치 했다.

 

 

khan2222 – 또다른 워드프레스 사이트

워드프레스에 오신 것을 환영합니다. 이것은 첫 게시물입니다. 수정하거나 삭제하고 글쓰기를 시작하세요!

khan2222.cafe24.com

자동 설치라 책의 내용대로 스텝 바이 스텝으로 하면 된다.
다행히도 수동으로 설치 하는 방법도 있어서 좋다.

 

지난달에 구매한 라즈베리파이 4에 직접 워드프레스를 설치해 봐야 겠다.
[FTP 설정, 도커위에 워드프레스 & 데이터베이스]
쉽게 쉽게 되야 될텐데....... 뭐 천천히 하면 되겠지^^.

 

시작했으니 좋다!

블로그 이미지

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

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

mplfinance 라이브러리를 이용하면 쉽게 OHLC 관련 차트를 그릴 수 있다. 

mplfinance에 맞게 data들을 가공해 주면 된다.

 

책에 있는 소스

import pandas as pd
from urllib.request import urlopen
from bs4 import BeautifulSoup
import mplfinance as mpf

url = 'https://finance.naver.com/item/sise_day.nhn?code=068270&page=1'
with urlopen(url) as doc:
    html = BeautifulSoup(doc, 'lxml') 
    pgrr = html.find('td', class_='pgRR')
    s = str(pgrr.a['href']).split('=')
    last_page = s[-1]  

df = pd.DataFrame()
sise_url = 'https://finance.naver.com/item/sise_day.nhn?code=068270'  
for page in range(1, int(last_page)+1): 
    page_url = '{}&page={}'.format(sise_url, page)  
    df = df.append(pd.read_html(page_url, header=0)[0])

df = df.dropna()
df = df.iloc[0:30]
df = df.rename(columns={'날짜':'Date', '시가':'Open', '고가':'High', '저가':'Low', '종가':'Close', '거래량':'Volume'})
df = df.sort_values(by='Date')
df.index = pd.to_datetime(df.Date)
df = df[['Open', 'High', 'Low', 'Close', 'Volume']]

mpf.plot(df, title='Celltrion candle chart', type='candle')

mpf.plot(df, title='Celltrion ohlc chart', type='ohlc')

kwargs = dict(title='Celltrion customized chart', type='candle',
    mav=(2, 4, 6), volume=True, ylabel='ohlc candles')
mc = mpf.make_marketcolors(up='r', down='b', inherit=True)
s  = mpf.make_mpf_style(marketcolors=mc)
mpf.plot(df, **kwargs, style=s)

'User Agent' 추가한 코드

'''
셀트리온 캔들 차트 신버전
'''

import pandas as pd
import urllib.request as urllib
from bs4 import BeautifulSoup
import mplfinance as mpf

opener = urllib.build_opener()
opener.addheaders = [("User-Agent" , "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36")]

# 4.4.3 맨 뒤 페이지 숫자 구하기
sise_url = 'https://finance.naver.com/item/sise_day.nhn?code=068270'
with opener.open(sise_url) as doc:
    html = BeautifulSoup(doc, 'lxml')
    pgrr = html.find('td', class_ = 'pgRR')
    s = str(pgrr.a['href']).split('=')
    last_page = s[-1]

# 4.4.4 전체 페이지 읽어오기
df = pd.DataFrame()
for page in range(1, int(last_page) + 1):
    print('.', end = '')
    page_url = '{}&page={}'.format(sise_url, page)
    df = df.append(pd.read_html(opener.open(page_url), header = 0)[0])

# 차트 출력을 위해 데이터프레임 가공하기
df = df.dropna()
df = df.iloc[0:30]
df = df.rename(columns = {'날짜' : 'Date', '시가' : 'Open', '고가' : 'High', '저가' : 'Low', '종가' : 'Close', '거래량' : 'Volume'})
df = df.sort_values(by = 'Date')
df.index = pd.to_datetime(df.Date)
df = df[['Open', 'High', 'Low', 'Close', 'Volume']]

# 엠피엘_파이낸스로 캔들 차트 그리기
mpf.plot(df, title = 'Celltrion candle chart', type = 'candle')


 

'User Agent'가 추가된 url 객체를 돌려주는 함수를 하나
만들어서 앞으로 편안하게 써야 겠다.

 

실습 동영상

 

 

 

 

matplotlib/mplfinance

New mplfinance package (replacement for mpl-finance). - matplotlib/mplfinance

github.com

 

CHAPTER 4 웹 스크레이핑을 사용한 데이터 분석

4.5 OHLC와 캔들 차트
4.5.1 OHLC 차트와 캔들 차트의 비교
4.5.2 셀트리온 종가 차트
4.4.3 셀트리온 캔들 차트
4.6 핵심 요약 

 

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

다음글 -

블로그 이미지

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

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

녹화한 실습 동영상을 보니 꽤 플레이 타임이 길다.
오래 걸린 이유는 고질병인 '오타'!
그리고 그리고 '유저 에이전트'

 

'유저 에이전트' 정보 없이 웹페이지를 읽을 경우
원하는 데이터를 얻을 수 없다.

import pandas as pd
import urllib.request as urllib

sise_url = 'https://finance.naver.com/item/sise_day.nhn?code=068270'

opener = urllib.build_opener()
opener.addheaders = [("User-Agent" , "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36")]

df = pd.DataFrame()
last_page = 385

print('wait......')
for page in range(1, int(last_page) + 1):
    print('.', end = '')
    page_url = '{}&page={}'.format(sise_url, page)
    df = df.append(pd.read_html(opener.open(page_url), header = 0)[0])

df = df.dropna()

셀트리온 데이터를 읽어 오는 코드다. 책에 있는 내용에
'유저 에이전트' 부분을 추가한 코드.

크롬 개발자 모드 콘솔에서 'navigator.userAgent'로 확인

 

실습 동영상

 

Web Scraping 관련 동영상 자료 - 한 번쯤 보면 좋은 동영상

 

CHAPTER 4 웹 스크레이핑을 사용한 데이터 분석
4.1 팬더스로 상장법인 목록 읽기
4.1.1 엑셀 파일 내용 확인하기
4.1.2 read_html() 함수로 파일 읽기 

4.2 HTML 익히기 ....
4.2.1 HTML 기본 구조
4.2.2 HTML 주요 태그
4.2.3 HTML 예시 ...

4.3 웹에서 일별 시세 구하기
4.3.1 네이버 금융 일별 시세 분석하기
4.3.2 소스 코드에서 링크 주소 검색하기

4.4 뷰티풀 수프로 일별 시세 읽어오기
4.4.1 파서별 장단점
4.4.2 find_al() 함수와 find() 함수 비교
4.4.3 맨 뒤 페이지 숫자 구하기
4.4.4 전체 페이지 읽어오기 

 

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

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

 

블로그 이미지

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

컴퓨터 코치 두리뭉실

댓글을 달아 주세요

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

 

이번 예제 실습 중 미국 국채와(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

블로그 이미지

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

컴퓨터 코치 두리뭉실

댓글을 달아 주세요