본문 바로가기
STUDY/재테크

주식투자 ETF로 시작하라(1)

by EROOTS 2020. 10. 30.

ETF를 활용한 단기 트레이딩 아이디어

 

+요약

 -. 시장의 움직임이 급격한 단기적인 타이밍에 추세의 방향으로 진입하여 짧은 시세를 취하는 트레이딩 방법을 변동성 돌파 전략이라고 한다.

 -. 레버리지 ETF를 이용한 변동성 돌파 단타 전략으로 장기적으로 수익이 나는 단기매매 전략을 구사할수있다.

 

+ 규칙(of 래리 윌리엄스)

 1) 일봉기준  range계산 : 전일 고가 - 전일 저가

 2) 매수 : 당일장중가격 > 당일시가+전일Range → 돌파시점에 시장가 매수

 3) 매도 : 다음날 시가에 청산

 

 

+ Think

책에서 아주 단순한 규칙을 설명하고.. 그것을 Python으로 구현했다..

슬리피지나 거래비용으로 인하여 수익률은 떨어지겠지만, 지수만 따라가는데도 이렇게 수익률이 높다.

 

가치투자로 장기투자 하는것도 좋지만, 사실 그렇게되면 공부를 너무 많이해야한다.

내가 하고싶은것도 못하지 않을까라는 생각이 든다.

 

그래서 퀀트를 알아봤는데, 추세(모멘텀), 벨류가 가장 기본이고 거기에 본인이 보조지표를 활용해서 수익률을 높이는 과정이 필요한듯하다.

 

이것저것 해놨지만,(MACD, RSI, SlowK 등..) 기존에 금융박사들이 만들어놓은 규칙이 가장 좋은것같다.

(내가 다른걸 제대로 활용하지 못하는듯 하지만..)

 

책에서는 단기매매지만, 장기적인 수익률을 바라보는 매매로, 전략업그레이도 소개하고있는데

정확히 이해가 안가는부분이라 좀더 공부를 해야할듯하다.

 

해당 규칙을가지고 미국대선종료후에 소액으로 투자를 해볼까한다.

 

월별 수익률을 보면 뭔가 많이 깨지는것처럼 보이지만, 년도별로 누적해서 보면 손해보는 년도가 거의 없다.

주변을보면서 대박을 원한적도 있지만, 꾸준히 수익률(10%내외)을 내는것이 중요하다고 생각하기에... 

 

원칙을 지킬수있는 이런 매매방법은 좋은것같다.

 


Back Test : KODEX 레버리지, KODEX 200 ... 지수연동 ETF

 

KODEX 200

 

 

KODEX 레버리지

 


BackTest라고도 뭐한 코드이지만...

해당 규칙의 수익률이 우상향한다는것을 확인하기에는 그냥 간편하게 보는게 제일인듯 싶다.

import pandas as pd
from pykrx import stock

df = stock.get_etf_ohlcv_by_date("20070101", "20201029", "122630")

for i in range(1, len(df)):

    y_day_high = df.loc[ ix[i-1],'고가' ]
    y_day_low = df.loc[ ix[i-1],'저가' ]

    rng = y_day_high - y_day_low
    today_open = df.loc[ ix[i],'시가']

    t_day_high = df.loc[ ix[i],'고가' ]
    t_day_low = df.loc[ ix[i],'저가' ]

    if hold:
        sell = round(today_open,2)
        log_retun += np.log(sell/buy)*100
        sell_date = ix[i]
        # print(f'{buy_date}:{buy} / {sell_date}:{sell} / {round(log_retun,2)}')
        count += 1
        hold = False

    if t_day_low <= rng+today_open <= t_day_high:
        buy = round(rng+today_open,2)
        buy_date = ix[i]
        hold = True

    before = f'{ix[i-1].year}' #_{ix[i-1].month}'
    now = f'{ix[i].year}'     #_{ix[i].month}'

    if before != now:
        print(f'{before} : {round(log_retun,2)}  /  trade : {count}')
        log_retun = 0
        count = 0

    if i == len(df)-1:
        print(f'{before} : {round(log_retun,2)}  /  trade : {count}')

 

 

도서 : www.yes24.com/Product/Goods/58181282

'STUDY > 재테크' 카테고리의 다른 글

주식투자 ETF로 시작하라(3)  (0) 2020.11.05
주식투자 ETF로 시작하라(2)  (0) 2020.10.31