[refer]
파이썬 증권 데이터 분석
6.1 현대 포트폴리오 이론
*리스크?
수익률의 표준편차 자산 가격이 평균값에서 벗어나는 정도, 리스크
효율적 투자선
투자자가 인내할 수 있는 리스크 수준에서 최상의 기대수익률을 제공하는 포트폴리오의 집합
아래 그림에서 X 축은 리스크(표준편차)이고 점 하나가 개별적인 포트폴리오를 뜻한다.
이때 Efficient Frontier 곡선은 효율적 투자선이다. 이 투자선은 아래 그림을 보면 알겠지만, 모든 포트폴리오를 아래 plot에 표현했을 때 가장 외곽에 있는 포트폴리오를 이은 선인 셈이다.

이 곡선 아래에 있는 개별 포트폴리오은 효율적 투자선에 위치한 포트폴리오보다 열세인 포트폴리오이다. 예컨대 동일한 수익 대비해서 리스크가 크거나, 반대로 동일한 리스크 대비 수익이 너무 작거나 하는 경우다.
그렇다면 효율적 투자선을 어떻게 구할 것인가?
(0) 여러가지 주식 종목을 선정
for i in len(주식 종목):
(1) 종가 => 일간 변동률로 변환함(수익률을 비교하려고 하니까)
(2) 연간 수익률을 구함 :일간 변동률의 평균 * 255(1년 중 개장일)
(3) 일간 리스크를 구함 : 일간 변동률의 공분산을 구함
(4) 연간 공분산을 구함 : 일간 리스크 * 252
(5) 주식 종목 비중을 다르게 해서 여러 포트폴리오를 생성
(6) 이 포트폴리오 별로 연간 수익률, 리스크를 구함
(7) plotting을 거쳐서 확인한다
* 몬테 카를로?
수많은 시뮬레이션을 거쳐 모수를 추정하는 방법
개인적인 생각으로 이게 몬테카를로랑 무슨 상관인가 싶음
6.2 샤프 지수와 포트폴리오 최적화
샤프 지수
측정된 위험 단위당 수익률 계산
샤프 지수가 높을수록 위험에 대한 보상이 크다
=> 위험 단위당 수익이 제일 높은 포트폴리오를 구할 수 있음
샤프지수=포트폴리오예상수익률−무위험률수익률의표준편차
* 계산의 편의상 무위험률을 0으로 가정
따라서 위에 언급한 과정에 샤프지수를 구하는 것만 추가해주면 됨
아래 plot에서 별은 샤프 지수가 가장 큰 포트폴리오, 엑스는 리스크가 제일 작은 포트폴리오

6.3 볼린저 밴드 지표
주가의 변동이 표준 정규분포를 따른다는 가정에서 주가의 위아래에 밴드를 표시함으로써 주가의 상대적인 높낮이를 알려준다.
볼린저 밴드
주가의 20일 이동 평균선을 기준으로,
상대적인 고점을 나타내는 상단 밴드와 상대적인 저점을 나타내는 하단 밴드로 구성된다.
*이동 평균: 전체 데이터 집합의 여러 하위 집합에 대한 일련의 평균을 만들어 데이터 요소를 분석하는 계산
주가가 상단 밴드 근처에 있을수록 상대적인 고점에, 하단 밴드 근처에 있을수록 상대적인 저점에 있다고 판단한다.
상단 밴드와 하단 밴드 사이의 폭은 주가의 표준편차와 특정 상수의 곱으로 나타낼 수 있음
밴드폭이 좁을수록 주가 변동성이 작고, 밴드폭이 넓을수록 변동성이 큼

** 표준 볼린저 밴드 공식 **
- 상단 볼린저 밴드 = 중간 볼린저 밴드 + (2 x 표준편차)
- 중단 볼린저 밴드 = 종가의 20일 이동평균
- 하단 볼린저 밴드 = 중간 볼린저 밴드 - (2 x 표준편차)
신뢰구간 구하는 거랑 비슷한 느낌이네

이 밴드를 어디에 쓰는가?
=> 이 밴드를 이용해서 여러 지표를 만든다
6.4 볼린저 밴드 매매기법
(1)볼린저 밴드 지표 %b
현재 주가가 상단, 하단, 중간 볼린저 밴드 기준으로 어디쯤에 있는지 수치로 나타낸 것이므로 실제 주가와 비슷한 흐름
볼린저 밴드 지표는 주가가 상단 밴드에 있으면 1, 중간에 있으면 0.5, 하단에 있으면 0 이라고 한다. 만약 종가가 상단 밴드를 넘어서면 1보다 커지겠쥬?

(2)밴드폭
상단 볼린저 밴드와 하단 볼린저 밴드 사이의 폭
밴드폭=상단볼린저밴드−하단볼린저밴드중간볼린저밴드
밴드폭 역할
(1) 스퀴즈를 파악 : 변동성이 극히 낮은 수준까지 떨어져 곧이어 변동성 증가가 발생할 것으로 예상되는 상황
(2) 강력한 추세의 시작과 마지막을 포착함
ex. 강한 상승 추세에서는 하단 볼린저 밴드가 아래로 향함, 밴드폭 수치의 변동이 없거나 줄어들면서 볼린저 밴드가 추세 반대쪽으로 방향을 바꾸면 추세가 끝났다고 봄

그럼 이 볼린저 밴드를 이용해서 어떻게 매매하는가?
단순히 상단 밴드에서 팔고 하단 밴드에서 사지 x
크게 3가지 매매기법
(1) 변동성 돌파
주가가 상단 밴드를 상향 돌파할 때 매수하고 주가가 하단 밴드를 햐항 이탈할 때 공매도
* 공매도란?
주식을 빌려서 팔고, 나중에 갚는 것
(2) 추세 추종
상승 추세에 매수하고 하락 추세에 매도함
단순히 상/하단 밴드에 닿았는지만 보지 말고, 현금흐름지표나 일중강도 1 같은 지표를 함께 이용해서 매수 및 매도한다. 2
=> 매수: 주가가 상단 밴드에 접근, 지표가 강세를 확증할 때만 매수 (ex MFI < 80 && $b > 0.8)
매도: 주가가 하단 밴드에 접근하며, 지표가 약세를 확증할 때만 매도 (ex MFI < 20 && $b < 0.2)
MFI=100−(100÷(1+긍정적현금흐름부정적현금흐름))
긍정적 현급 흐름: 중심 가격이 전일보다 상승한 날들의 현금 흐름 합
부정적 현급 흐름: 중심 가격이 전일보다 하락한 날들의 현금 흐름 합

(3) 반전 매매기법
주가가 반전하는 지점을 찾아내 매수 또는 매도
주가가 하단 밴드를 여러 차례 태그하는 과정에서 강세 지표가 발생하면 매수, 상단 밴드를 여러 차례 태그하는 과정에서 약세 지표가 발생하면 매도함
=> 매수: 주가가 하단 밴드 부근에서 W형 패턴, 강세 지표가 확증할 때 매수 (%b < 0.05 && II% >0)
매도 : 상단 밴드 부근에서 일련의 주가 태그가 일어나며, 약세 지표가 확증할 때 매도 (%b > 0.95 && II% < 0)
일중 강도율 II%
거래 범위에서 종가의 위치를 토대로 주식 종목의 자금 흐름이 II 인데, 21일 간의 II 을 거래량으로 가중평균 낸 것이 일중 강도율
일중강도=2x종가−고가−저가고가−저가x거래량
일중강도율=일중강도의21일합거래량의21일합x100

6.5 심리투자 법칙
시장지표
추세(이동평균, MACD): 시장의 흐름을 나타냄
오실레이터(스토캐스틱, RSI): 과거 일정 기간의 가격 범위 안에서 현재 가격의 상대적인 위치를 나타냄
기타 지표: 강세장과 약세장에 따른 강도 예측
단순 이동평균SMA
일정 기간 동안의 가격의 평균을 연결한 선
=> 전반적인 가격 흐름 예측
but, 과거 가격과 최근 가격을 동일하게 반영하므로 최근 가격 변동이 왜곡될 수 있음
SMA=P1+P2+P3+PNN
지수 이동평균EMA
최근 데이터에 가중치를 부여해 단순 이동평균에 비해 최근의 변동을 더 잘 반영함
또한,오래된 지수 이동평균 데이터가 천천히 사라지므로 오래된 데이터가 빠져나간다고 해서 지수 이동평균에 큰 변동이 생기지는 않음
EMA=PtodayxK+EMAyesterdayx(1−K)
이때 K=2N+1
이동평균 수렴확산(MACD)/ MACD 히스토그램
MACD 히스토그램 = MACD 선 - 신호선
MACD 선 :: 종가의 12일 지수 이동평균선에서 26일 지수 이동평균선을 뺀 것으로, 가격 변화에 상대적으로 빨리 반응
신호선 :: MACD 선의 9일 지수 이동평균을 구한 선으로 MACD선을 평활화한 것

위 그림을 통해 알 수 있듯이, 12일 선과 26일 선 위에 있으면 MACD가 양수 => 즉, 강하게 상향으로 변동하고 있음
MACD 선이 신호선보다 높이 있다면, 즉 MACD 히스토그램이 0보다 크다면 주식을 살 타이밍!
스토캐스틱
n일 동안의 거래 범위에서 현재 가격 위치를 백분율로 나타냄
ex 14일 스토캐스틱이 70이면 14일간 거래에서 최저점과 최고점 사이 70%에 위치하고 있다는 뜻
80% 이상은 과매수 상태를 나타내므로 주식 사라는 신호,
20% 이하는 과매도 상태를 나타내므로 주식 팔라는 신호
=> 장기 추세 추종형 지표와 함께 이용해야 함
빠른 선 %K 와 느린 선 %D로 이루어짐
Ctoday : 오늘의 종
Hn : 선정된 기간의 고점
Ln : 선정된 기간의 저점
n : 트레이더에 의해 선정된 기간(14)

6.6 삼중창 매매 시스템
여러 지표를 혼합하여 신호를 분석함
(1) 시장 조류
장기 차트를 분석

한편 MACD 히스토그램을 사용하면 불필요한 매수/매도 신호가 자주 발생하므로,
EMA 130 혹은 다른 주기를 기준으로 하는 지수 이동평균을 주간 추세추종 지표로 사용한다고 함
(2) 시장 파도
추세 방향과 역행하는 파도를 파악하는 데 오실레이터를 활용함
오실레이터는 시장이 하락할 때 매수 기회를 제공, 시장이 상승할 때 매도 기회를 제공

(3) 진입 기술
그렇다면 첫번째 창과 두번째 창을 이용해서 언제 진입할 것인가?
주간 추세 | 일간 오실레이터 | 행동 | 주문 |
상승 | 상승 | 관망 | |
상승 | 하락 | 매수 | 추적 매수 스톱 |
하락 | 하락 | 관망 | |
하락 | 상승 | 매도 | 추적 매도 스톱 |
*추적 매수 스톱 : 전일 고점보다 한 틱 위에서 매수 주문을 내는 것
=> 주간 추세대로 가격이 계속 상승해서 전일 고점을 돌파하는 순간 매수 주문이 체결될 것
6.7 듀얼 모멘텀 투자
모멘텀 현상~어떤 관성이 붙는 현상
- 군집 행동 : 다수 그룹의 행동을 따라하는 경향
- 정박 효과 : 정보를 처음 제공받은 시점에 지나치게 의존하는 경향
- 확증 편향 : 본인의 믿음과 반대되는 정보를 무시하는 경향
- 처분 효과 : 수익이 난 주식을 금방 팔고, 손해 본 주식을 계속 보유하는 경향
(1) 상대적 모멘텀
최근 6~12개월 동안의 상대적으로 수익률이 높은 종목을 매수
PricenewPriceold−1x100
(2) 절대적 모멘텀
상승장에서만 투자, 하락장에서는 미국 단기 국채나 현금으로 갈아타는 전략
=> 종목들의 최근 수익률이 채권 수익률에 비해 높을 때 매수하고, 채권 수익률에 미치지 못하면 해당 종목들을 매도하고 단기 국채를 매수하거나 현금을 보유하는 방법
BY (1) & (2)
상대 강도가 센 주식 종목에 투자하는데 이때, 과거 6~12개월의 수익이 단기 국채 수익률을 능가하는 강세장에만 투자한다.
'머신러닝 > 금융데이터' 카테고리의 다른 글
[Finance]chp5. 시세 DB 구축 및 시세 조회 API 개발 (0) | 2022.03.23 |
---|
댓글