AI를 활용한 재밌는 것들을 개발합니다

2020년 4월 19일 일요일

[퀀트 시뮬레이션] 포트폴리오 수와 수익률의 관계(코로나 폭락 기간)

의문점은 이것이다. 코로나 폭락 기간에 대부분의 주가가 하락했었지만 그중에 코로나 검사 관련 종목의 주가는 상승했다. 이 폭락기간 이 종목이 내 포트폴리오에 들어 있었다면 분명 매수를 했을 터... 폭락 기간에도 수익을 볼 수 있었지 않을까??

내 매수 알고리즘을 설명 하자면

1. 포트폴리오 종목 들 중에서
2. 매수 신호가 있는 종목을 매수
3. 최대 20종목만 보유
4. 매도 신호시 매도

이번 시뮬레이션에서 실험해보려는 것은 포트폴리오 종목 수를 늘렸을 때 수익률에 어떤 영향을 주는지 알아보고자 한다.

(비교 대상은 포트폴리오 3가지 경우의 수 #1. 30종목 #2. 51종목 #3. 100종목)

위 수익률 챠트를 보자. 결론적으로 51종목 포트폴리오에서 가장 높은 수익률을 보이고 있다. 30종목보다 51종목의 수익률이 좋았다면 51종목보다 100종목의 수익률이 더 좋아야 하지 않을까 생각되는데 챠트를 자세히 살펴보면..

상승장에서는 100종목에서 수익률이 가장 높게 나타나고 있다. 이는 30/51종목에 비해 100종목에 포함된 종목이 매수가 되어서이다. 즉 상승장이지만 제한된 종목안에서 매수할 종목이 없었던 반면 100종목에서는 매수할 종목이 있었다는 것이다. 이렇게 상승장만 계속 있었다면 가장 좋은 수익률이 나오겠지만... 코로나 대폭락 때를 보자.

100종목의 낙폭률이 가장 높다. 이는 어떤 의미인가? 30/51종목이 당시 가지고 있던 보유 종목 수보다 100종목에서 보유하던 주식수가 많았기 때문에 그 종목들이 동시에 폭락을 하다보니 낙폭도 함께 커진 것이다. 상승장에서는 장점이던 것이 하락장에서는 그대로 단점으로 작용하는 것이다.


이 챠트는 보유종목수의 변화 그래프다. 100종목 포트폴리오는 전기간에서 가장 많이 20종목 풀 보유를 하고 있었다. 상승장일 때는 보유 종목 수가 많으니 즉, 투자금이 많으니 수익도 많아지고, 하락장에서는 그 반대이다.

이번 코로나 폭락장에서 오르는 종목을 자동 매수하려고 했다가는 이번 실험과 같이 보유종목수가 항상 풀이기 때문에 더 손해를 볼 수도 있는 것이다. 하락 장에서는 그냥 다 매도하고 보유종목 수를 0으로 만드는게 더 수익을 내는 방법이다.
라고 결론을 지으려고 했는데... 500종목 포트폴리오를 추가 해서 시뮬레이션 돌려봤다.


500종목 중에 코로나검사 관련 주가 들어있었나 보다... 결과적으로 가장 높은 수익률을 보인다... 이런... 어떻게 해야 하지...

댓글 6개:

  1. 제가 항상 생각해왔던 과도하게 매수늘리는 전략이 먹힌 것 같네요.. 저도 프로그램을 할 수 있다면 한번 시뮬레이션 돌려보고싶네요 ㅠ

    답글삭제
    답글
    1. R 이라는 언어로 시뮬레이션 돌리고 있어요~
      한번 도전해 보세요!

      삭제
  2. 블로그 잘 보고 있는 독자입니다. 궁금한 게 있어서 글 남깁니다.
    주가 데이터는 증권사 api를 통해 얻으시나요? 아니면 야후 같은 곳에서 크롤링 하시나요?
    자동매매 프로그램을 개발하려면 실시간 데이터는 필수 일거 같은데 모든 종목의 실시간 데이터를 받아서 처리하시는 건가요?

    답글삭제
    답글
    1. 안녕하세요~ 관심 가져주셔서 감사합니다^^
      'R을 이용한 퀀트 투자 포트폴리오 만들기' 라는 책을 보고 했는데요, 실시간을 네이버 주가 크롤링해서 사용하는 방법이에요. 이 책에 다 나와있어요~
      그리고 이 책의 내용 뿐 아니라 시뮬레이션 방법, 최적 조건 찾는 법, 자동매매 하는 법 등 오프라인 교육을 계획 중이에요~ 관심있으시면 아래 링크에 이메일 주소 남겨 주세요^^

      https://forms.gle/9b9r2yJBuqucVSTe6

      삭제
  3. 안녕하세요.직장인이다보니 퀀트 투자에 특히 자동에 관심을 가지다 글을 보게 되었습니다. 현재 사용하고 계신 전략(?)에 대해서 궁금합니다. 네이버 크롤링해서 매수 매도 의견이 나오면 주가와 상관없이 실시간 매수 매도 하는건지? 장마감과 같이 특정시간이 정해진건지? 책에 다 나와있나요? 저도 자동 개발을 해보고 싶네요.R은 1도 모르지만 암튼 꼭 좋은 성과 있으셨으면 좋겠습니다. 그리고 설문조사에도 참여했는데 프로그램 꼭 사용해보고 싶습니다^^

    답글삭제
    답글
    1. 안녕하세요~ 관심 가져주셔서 감사합니다~
      저도 직장인이라 근무중에 아~~무런 신경 안써도 자동으로 매수매도 되는 프로그램을 만들었고요. 시뮬레이션 할때 사용되는 주식 가젹들이 종가를 기준으로 하다 보니 실제 매수매도도 장마감 즈음의 가격을 타겟으로 하고 있어요. 오전에 매수 신호라 샀는데 오후되니 매도 신호가 떠서 다시 파는 경우가 생기더라고요. 그래서 하루에 딱 1번만 매도신호 종목 매도하고, 매수신호 종목 매수하게 만들었어요.
      따로 메일을 받으셨겠지만 준비가 되는데로 다신 연락 드리겠습니다~ 감사합니다~

      삭제

가장 많이 본 글