티스토리 뷰

반응형

안녕하세요~ 제이씨입니다.

오늘은 파이썬을 이용하여 만든 실전 프로그램에 대해 리뷰해 보려고 합니다. 바로 기댓값을 이용한 주식 기대 수익률 프로그램입니다!

우선 기댓값에 대해 이야기해 보겠습니다. 기댓값이란


사건이 벌어졌을 때의 이득과 그 사건이 벌어질 확률을 곱한 것을 천체 사건에 대해 합한 값이다. 이것은 어떤 확률적 사건에 대한 평균의 의미로 생각할 수 있다. (위키피디아)


입니다.

 

쉽게 말해 모든 경우의 수 에서 각 경우의 수가 발생할 확률을 곱하고 더한 것인데요. 이해를 위해 로또를 예로 들어보겠습니다.

 

로또는 1등부터 5등 당첨 총 5개 당첨 경우의 수가 있습니다. 1등은 1/8,145,060의 확률로 기대 당첨금 1,952,160,000원 , 2등은 1/1,357,510의 확률로 기대 당첨금 54,226,666원 , 3등은 1/35,724의 확률로 기대 당첨금 1,390,427원, 4등은 1/733의 확률로 50,000원, 5등은 1/45의 확률로 5,000원입니다. 이 경우 기댓값을 구해보면

 

(1/8,145,060 X 1,952,160,000) + (1/1,357,510 X 54,226,666) + (1/35,724 X 1,390,427) + (1/733 X 50,000) + (1/45 X 5,000)= 약 610입니다.

 

현재 로또복권을 1000원에 구매를 하니 기댓값 610원 보다 비싼 값에 구매를 하고 있었습니다!

 

위와 같이 주식에서도 기댓값을 사용할 수 있다고 생각합니다. 하지만 사용할 수 있는 주식 종목은 한정적인데요. 과거 데이터를 기반으로 하기 때문에 성장주에는 적용하기 힘들고 주로 경기 순환주 또는 턴어라운드 그리고 테마주 성격을 갖고 있는 주식에 사용할 수 있다고 봅니다. 아이디어는 다음과 같습니다.

 

테마주를 예를 들면 테마가 발생했을 때 주가 이익이 얼마만큼 올라가고 주가도 어느 정도까지 올라가는지 과거 데이터를 참고하여 향후 테마가 다시 일어날 시 과거 값을 종합하여 기댓값을 산출하는 것입니다.

 

사용된 python 모듈로는 종목 코드로부터 주가 정보를 갖고 올 수 있는 pykrx 그리고 데이터 가공 시 사용할 pandas 마지막으로 그래프로 한눈에 보여줄 matplotlib.pyplot를 사용하였습니다. 프로그램 작동 순서는 다음과 같습니다.

 

  1. 종목 코드 입력
  2. 종목 코드에 해당하는 주가(주봉) 불러오기
  3. 5주 평균값 계산
  4. 5주 평균의 변곡점(저항) 수집
  5. 현재 주가 대비 각 변곡점 주가 차이 평균 및 총합
  6. 총합에서 현재 주가 대비 제일 낮을 때 주가 차이 마이너스 (안전마진 개념)
디에이치피코리아 기대값 그래프
디에이치피코리아 기대값 그래프

위 그래프는 실행 화면입니다. 주황색선인 5주 평균선을 사용한 이유는 주가가 팍 튀어 오르는 값들이 있기 때문에 보수적으로 잡기 위해 5주 평균선을 사용했습니다. 초록색 화살표를 보시면 각 변곡점마다 표시가 된 것을 볼 수 있습니다.

 

위 차트는 디에이치피 코리아 차트입니다. 주가가 올라서 변곡점을 형성한 초록색 지점을 보면 대부분 연초인 것을 볼 수 있습니다. 해당 종목은 미세먼지 테마주이기 때문에 봄철에 미세먼지로 상승했을 때 어디까지 상승하는지 모든 값을 볼 수 있습니다. 현재 주가에서 각 초록색 화살표 차이를 %로 환산하고 각각 더한 값에 현재 주가에서 제일 낮은 가격 차이를 빼줍니다. 빼주는 이유는 주식에는 항상 하락의 위험도 있기 때문에 보수적으로 최고 낮은 점까지 내려갈 대비를 하는 것입니다.

 

디에이치피코리아 같은 경우는 기대 수익률이 -7% 나옵니다. 왜냐하면 2017년 상승이 크지 않아 안전마진을 빼주면 -로 나오네요. 2017년 상승이 크지 않았던 이유는 대통령 취임 초기 미세먼지 저감정책을 펼치면서 뉴스 보도에 미세먼지 하락했다는 뉴스가 많이 나왔던 게 영향이 있지 않을까 싶습니다.

 

이렇게 각 기댓값을 계산할 때 해당 경우의 수가 다시 일어날 수 있는지 일어나지 않을 경우의 수면 제외하여 다시 구해야 합니다. 이 프로그램은 프로그램의 수치만 믿고 투자하는 프로그램이 아닌 각 항목별 사건을 모두 파악하여 다시 발생할지 여부에 대해 조사가 더 중요하다고 볼 수 있겠습니다.

 

제가 코로나 기간에 매수한 제주항공의 기대 수익률도 한번 보겠습니다.

제주항공 기대값 그래프
제주항공 기대값 그래프

제주항공의 기대 수익률은 46% 나오네요. 그럼 과거의 고점 차트 당시 영업이익이 또 다시 올 수 있는지 확인이 필요합니다. 지난 GS 분석에서도 이야기했지만 올해 5월에서 8월 잠시 코로나가 주춤한 사이 유가 사용량은 작년의 97% 수준까지 회복하였습니다. 각 여행 관련 지표들 또한 코로나가 주춤할 때 다시 증가하는 양상을 보이고 이동 제한이 되면서 억압된 욕망들이 백신으로 코로나가 사그라들면 욕망의 분출과 함께 여행 수요가 가파르게 상승할 것이라고 보고 있습니다. 물론 여행을 잘 안 다니던 저 마저도 빨리 배낭 하나 들고 여행 가고 싶기도 합니다ㅎㅎ 미래 영업이익이 다시 과거처럼 나올지는 꼭 수치적 분석이 기반돼야 합니다. 다시 순환될 것으로 보이면 과거 데이터를 기반으로 기댓값을 산출하는 것이 좋은 방법으로 보입니다.

 

파이썬을 이용하여 만든 주가 기대 수익률 프로그램에 대해 리뷰해 보았습니다. 기댓값은 고정 값이 아니며 안전하게 최고의 수익을 내려면 각 시나리오에 맞게 지속적으로 변해야 합니다.

이상으로 리뷰 마치겠습니다. 읽어 주셔서 감사합니다.

글 내용이 도움되셨다면 구독 또는 좋아요 부탁드립니다~

더 많은 정보와 리뷰를 원하시면 여기로!

모바일은 여기로!

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함