"쉽게 따라 만드는 파이썬 주식 자동매매 시스템" 책에 나온 매매 전략 요약

 

* 참조URL : https://thebook.io/080298/ch04/

 

1. 매매전략 - RSI기반 역추세

1.1 매수조건
 1) 20일 이동평균 > 60일 이동평균
 2) RSI(2) < 5
 3) 2일 전 주가 대비 현재 주가 변화율 < -2%(현재 주가가 2일 전보다 2% 이상 떨어진 경우)
    - 당일 종가 부근(15:00)에서 조건에 모두 해당하면 현재 최우선 매수로 호가 매수
1.2 매도 조건
 1) RSI(2) > 80
 2) 현재가 > 매수가
   - 장 중 조건에 모두 해당하면 현재 최우선 매도 호가로 매도

2. 매매종목선정(유니버스 구성)
2.1 ETF, 우선주 제외
 - 개별 기업 분석이 효율적이라 ETF제외
 - 우선주는 보퉁주를 따라 가는 경향이 있고, 거래량이 적어서 제외
2.2 지주 회사(홀딩스) 제외
 - 지배구조를 위한 기업으로 개별 기업으로 보기 어려워 제외
2.3 매출액 증가율 0보다 큰 기업 선택
2.4 ROE가 0보다 큰 기업
 - ROE(Return On Equity) : 자기자본이익율(ROE) = 당기순이익 / 평균자기자본총계 * 100
 - ROE가 +면 영업이익이 흑자, -면 적자라를 의미. 3)조건에서 적자에서 매출증가가 나올 수 있으므로,
   ROE가 +인 기업만 포함하도록 함.
2.5 ROE와 1/PER(PER의 역수)로 내림차순 했을 때 순위를 구해 두 순위의 평균을 계산한 후 상위 기업 200개 추출
 
3. 백테스팅
3.1 매매 종목 선정
 - 최대 보유 종목을 10개로 가정하면, 각 종목당 자금의 10% 비중으로 설정한다.
 - 수수료 및 세금은 0.015%, 0.3% 적용
 - 수행기간 적용 후 백테스트 진행

 

ps. 주의점
 - 상승장과 하락장에 따라 승률이 달라지므로, 하락장 보합장에서도 백테스팅 진행해서 검증할 것.
 - 상승장/하락장/보합장에 맞는 매매전략을 개발하는 것도 좋을 듯함.
 

end.

728x90

주식용어

■ 백테스팅  
백테스팅이란 시뮬레이션, 과거 데이터를 가지고 이 전략대로 매매한 시뮬레이션을 의미함.

■ 우선주  
보통주와 다르게 의결권이 없으나 특정 권리를 우선적으로 제공하는 주식을 우선주라한다.  
추가 배당, 우선 변제권을 부여받는다.

■ 유니버스  
유니버스랑 매매 대상으로 삼을 후보군을 의미함.

■ 턴어라운(Turn around)  
턴어라운드란 경제에서 기업회생을 의미하고, 주식 시장에서 좁은 의미로 기업이 적자에서 흑자로 전환된 상태로 돌아섰다는 의미로 사용함.

■ EPS(Earning Per Share) : 주당순이익 = 당기순이익 / 주식수

■ PER(Price Earning Ratio) : 주가수익비율 = 주식가격 / EPS

■ PBR(Price Book-value Ratio) : 주당순자산비율 = 주가 / 주당순자산

■ 주당순자산(BPS:Book-value Per Share) : (총자산 - 총부채) / 발생주식 
 - PBR이 1 이면, 특정 시점의 주가와 기업의 1주당 순자산이 같다는 뜻이고, 낮을 수록 기업의 저평가이고, 싸게 거래된다는 의미.

■ ROE(Return On Equity)  
자기자본이익율(ROE) = 당기순이익 / 평균자기자본총계 \* 100
 - 투입한 자기자본이 얼마만큼의 이익을 냈는지를 나타내는 지표

■ ETF (Exchanged Traded Fund)  
ETF란 특정 지수의 성과 자산 가치를 추종하는 펀드를 거래소에 상장하여 주식과 동일하게 매매 가능하도록 설계한 상품

728x90

RSI는 추세의 강도를 백분율로 나타내고, 주가가 언제 추세가 전환할지 예측하는 사용된다.

시장가격의 변동폭 중에서 상승폭이 어느 정도인지 계산한다.

 

1. RSI

1.1 계산식

RSI(N) = 100 * "N일간 상승폭 합계" / ( "N일간 상승폭 합계" + "N일간 하락폭 합계")

 - 기본값: 14일

 

같은 식

RSI(N) = 100 - ( 100 / (1 + RS))

RS = (N일간 상승폭의 평균 / N일간의 하락폭의 평균)

 

1.2 적용

 - RSI값이 30이하면 매수 시점, 70이상이면 매도 시점으로 인식한다.

 

2. RSI시그널

2.1 계산식

RSI시그널 = RSI의 이동평균선

 - 기본값: 9일

 

2.2 적용

 - RSI(N)추세선이 RSI시그널을 상승전환할 때는 매수신호,

   RSI(N)추세선이 RSI시그널을 하라전환할 때는 매도신호.

 - 이동평균선을 기본으로 하고, 상승전환 추세를 RSI(14)와 RSI시그널을 참조한다.

 

end.

 

728x90

'Programming Language > 알고리즘' 카테고리의 다른 글

상관계수(r)와 유의확율(p-value)  (0) 2022.04.20
[주식] 이동평균 계산  (0) 2022.03.06

가격이동평균은 일정기간 주간의 평균 가격을 뜻함.

 

5일 단순이동평균 = 오늘종가 + 1일전종가 ~ 4일전종가 / 5(데이터 수)

 

1) 소수점은 버린다.

2) 10, 20 이동평균선도 같은 방식으로 계산함.

3) 만약에 데이터가 부족하면, 부족한 데이터만으로 계산한다.

 - 5일 단순이동평균(2일만 있다면) = 오늘종가 + 1일전종가 / 2(데이터 수)

 

import math

move_avg_5 = math.floor((19300 + 20050 + 18650 + 18550 + 18400) / 5)
print(move_avg_5)

 

end.

728x90

+ Recent posts