#2154

분위기에 편승해서이기도 하지만, 가지고 있는 자금으로 해볼 수 있는 투자처라고는 주식밖에 없어서기도 해서 올해 들어 주식투자를 시작했었다. 근데 뭐 솔직히 알아야 투자를 하지. 주식을 하면서 듣게 되는 잡다한 정보 중에서도 최근 퀀트 투자라고 불리는 가치주를 찾아 투자하는 방법이 꽤 인기몰이를 하고 있었고 그중에서 한 권을 접하게 되어 책을 읽어 나가고 있는 중이다.
이 책에서 다루는 파이썬은 특이하게도 설치형이 아닌 구글에서 제공하는 서비스인 Colaboratory을 사용해서 가능했다. 자 또다시 파이썬 쌩초보가 책 보고 따라 하며 파이썬을 통한 퀀트 투자가 무엇인지 접해보기 시작했다.

지금은 책의 도입부를 따라해보면서 체험 중이다.
# 설치 | |
pip install finterstellar | |
# 라이브러리 호출 | |
import finterstellar as fs |
우선 finterstellar 라이브러리를 설치하고 import 명령어로 불러들인다.
# symbol에 분석하고자 하는 주식의 티커를 입력 | |
symbol = 'DAL' | |
# 분석할 기간을 설정 | |
df = fs.get_ohlc(symbol, start_date='2020-01-01', end_date='2021-10-01') |
분석하고자 하는 주식의 티커를 설정하고 분석하고자 하는 기간을 설정해주면 분석을 위한 아주 기초 중의 기초기반을 설정된다.
# 차트 표시 | |
fs.draw_chart(df, right=symbol) | |
# 데이터 출력 | |
df.tail() |
이제부터 차트를 그리거나 데이터를 불러오거나 하는 것들이 가능해지는데 다음은 draw_chart 명령어로 마이크로소프트사의 주식 차트를 그려본 거다. 신기하다.

백테스팅 설명
책을 따라하면서 가장 기초가 되고 중요한 백테스팅 정보를 이해하기 위한 정보는 다음과 같았다. 메모 메모
# 백테스팅 결과 예시 | |
CAGR: 22.88% | |
Accumulated return: 41.10% | |
Average return: 5.39% | |
Benchmark return : -30.10% | |
Number of trades: 7 | |
Number of win: 5 | |
Hit ratio: 71.43% | |
Investment period: 1.7yrs | |
Sharpe ratio: 0.66 | |
MDD: -26.49% | |
Benchmark MDD: -72.66% |
CAGR: 22.88% | 연평균 수익률(Compound Annual Growth Rate). 테스트 기간이 1년보다 짧으면 단리로 계산해서 확장하고 1년보다 길면 복리로 계산해 축소 |
Accumulated return: 41.10% | 누적수익률(Accumulated return). 전체 투자기간 동안의 누적수익률. |
Average return: 5.39% | 평균수익률(Average return). 해당 전략을 이용한 트레이딩을 한 사이클(매수부터 매도까지)에서 발생한 건별 수익률의 평균. |
Benchmark return : -30.10% | 벤치마크수익률(Benchmark return). 투자 성능을 비교하기 위한 수익률. 기본적으로 S&P 500지수를 사용하지만 개별 종목 수익률의 테스트인 경우에는 전략을 이용하지 않고 주식을 테스트 기간동안 계속 보유하고 있었다고 가정. |
Number of trades: 7 | 거래횟수(Number of trades). 테스트 기간 중 전략을 통해 매매가 발생한 사이클 횟수. |
Number of win: 5 | 성공횟수(Number of win). 전략이 성공한 횟수. 수익 발생을 뜻한다. |
Hit ratio: 71.43% | 성공확률(Hit ratio). 전략이 성공한 확률을 뜻한다. |
Investment period: 1.7yrs | 투자기간(Investment period). 총 테스트 기간을 나타내지만 실제 데이터의 길이가 짧을 경우 실제 투자기간과 상이할 수 있다. |
Sharpe ratio: 0.66 | 샤프비율(Sharpe ratio). 샤프지수라고도 하며 위험 대비 수익이 얼마인지를 표시. 얼마나 큰 위험을 감수하고 얻은 수익인지에 대한 비율로 0 이상이어야 투자대상으로 고려할 가치가 있고 1이상이면 상당히 괜찮은 투자라 볼 수 있다. |
MDD: -26.49% | 최대낙폭(Maximum Draw Down). 투자기간 중 투자자가 입을 수 있는 최대 손실률. 주가가 떨어지는 것을 Draw Down이라고 하며 MDD는 제일 큰 하락을 뜻함. |
Benchmark MDD: -72.66% | 벤치마크 MDD(Benchmark MDD). 전략을 사용하지 않고 주식을 계속 보유하고만 있었을 경우의 최대 손실률 |
분석 결과 해석

# 백테스팅 결과 예시 | |
CAGR: 22.88% | |
Accumulated return: 41.10% | |
Average return: 5.39% | |
Benchmark return : -30.10% | |
Number of trades: 7 | |
Number of win: 5 | |
Hit ratio: 71.43% | |
Investment period: 1.7yrs | |
Sharpe ratio: 0.66 | |
MDD: -26.49% | |
Benchmark MDD: -72.66% |
2020년 1월 1일부터 2021년 10월 1일까지의 1년 7개월의 투자기간 동안 사용된 전략을 통해 총 7번의 거래가 있었으며 5번의 거래 성공으로 71.43%의 확률로 성공하였다. 연평균 수익률이 22.88%. 누적 수익률은 41.10%. 이긴 거래와 진 거래의 평균을 낸 평균 수익률은 5.39%. 벤치마크 수익률은 -30.10%로 주식을 그냥 가지고만 있었다면 꽤 큰 손해를 감수했어야만 했을 것 같다. 샤프 비율은 0.66으로 준수한 편인 것 같아 보인다. MDD는 -26.49%, 벤치마크 MDD가 -72.66%였다.
전체적으로 벤치마크에 비해 수익률이 좋았으며 승률도 높았던 것으로 보인다. 수익률이 22.88%에 MDD가 -26.49%.
이런식으로 보는게 맞는건지 지금은 잘 모르겠지만.. 뭔가 재미있다는 생각이 든다.
이제 시작
아직 시작한 뒤 책을 펴본 것이 다인만큼 정확한 해석도 못하는 상황이고 바른 척도를 가지고 있는 것도 아니라서 잘은 모르지만 차근차근 따라 하다 보면 뭔가 배우는 것이 생기지 않을까? 이제 시작헤 봤는데 조금씩 알아가는 재미가 있을 것 같다.
'program' 카테고리의 다른 글
@supports 는 Edge, iOS 14.5, Android 4.5 부터 사용가능 (0) | 2021.11.19 |
---|---|
screen.height로 모바일 웹뷰 단말 창크기 구하기 (0) | 2021.10.31 |
SketchUp 공부중 - 3 (0) | 2021.09.18 |
SketchUp 공부중 - 2 (0) | 2021.09.12 |
SketchUp 공부중 (0) | 2021.09.05 |
댓글