투자

파이썬으로 투자 포트폴리오를 구성해보자

투자 일상 2024. 12. 1. 11:28

제가 파이썬 가지고

 

투자에 활용해보기 위해

 

이것 저것 찾아가며 시도해보다가

 

 

좋은 글을 발견했습니다

 

 

파이썬으로 최적의 포트폴리오 비율 찾기
https://songseungwon.tistory.com/118

 

 

저는 해당 코드를 기반으로 해서

 

발견한 이후 부터 아직까지도

 

투자할 때 주력으로 사용하고 있는데요

 

 

다음은 제가 사용하는 코드의 예시입니다

 

최적비율 확인.ipynb
0.24MB

 

 

해당 파일은

 

주피터 노트북으로 키는거라

 

 

주피터 노트북 설치와

 

사용법에 대한 링크를 같이 올리겠습니다

 

아나콘다 설치
https://sy-log.tistory.com/entry/%EC%95%84%EB%82%98%EC%BD%98%EB%8B%A4Anaconda-%EC%84%A4%EC%B9%98-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%A3%BC%ED%94%BC%ED%84%B0%EB%85%B8%ED%8A%B8%EB%B6%81%EA%B9%8C%EC%A7%80-%ED%95%9C%EB%B2%88%EC%97%90-%EB%90%A8

주피터 노트북 사용법
https://pasus.tistory.com/134

 

 

 

 

이미 원본 코드에 대한 설명은 

 

워낙 잘 되어있으니

 

자세히 설명하지는 않고

 

 

제가 개량하여 사용한 부분 위주로

 

살펴보겠습니다

 

 

우선 관심있는 주식의

 

티커들을 입력합니다

 

 

오늘은 

 

근래 핫했던 주식인

 

엔비디아와 일라이 릴리를

 

예시로 가져가겠습니다

 

엔비와 릴리

 

 

티커를 입력하고

 

해당 종목의 데이터를

 

어느 기간까지 가지고 올지 

 

입력합니다

 

 

최근 10년을 기준으로

 

가져와봅시다

 

임의로 10년을 기준으로 정했습니다

 

이 둘이

 

최근 10년 사이

 

몇 배나 올랐는지

 

확인해봅시다

 

황비디아

 

 

13배도 어마어마하지만

 

엔비디아 옆에 있으니

 

굉장히 작아보이는 군요

 

 

입력한 티커들 중에

 

10년 전 부터 가지고 있었을 경우

 

원금도 못찾은 주식이 있는지 보겠습니다

 

그럴 리가

 

당연히 없습니다

 

 

그럼 10년 간 

 

20배를 넘겼는지를 기준으로

 

살펴볼까요?

 

20배는 힘들지

 

아 20배를 넘긴건

 

엔비디아 뿐이군요

 

 

이렇게 옆에 원하는 배율을 입력하면

 

해당 기준을 넘은 종목만 남길 수 있습니다

 

 

저는 일단

 

적금보다 많이 벌길 원하니

 

 

10년간 5%씩

 

복리로 누적된 비율보다

 

더 올랐는지를 기준으로 설정해보겠습니다

 

1.6은 충분히 넘지

 

둘다 합격이니

 

다음으로 넘어가봅시다

 

 

해당 티커들로

 

다시 불러오는 작업을 하고

 

최적 비율을 계산해서

 

리스크와 리턴 값을 확인하

 

기 전에

 

 

먼저 엔비디아의 

 

리스크와 리턴을 살펴보겠습니다

 

 

이게 가지고 놀다가 알게된 사실인데

 

저는 예전에

 

무조건 여러 종목들을 넣어야

 

동작하는 건 줄 알았는데

 

 

굳이 여러 종목을 넣지 않고

 

한 종목만 넣어도

 

리스크와 리턴을 계산해주더군요

 

하이 리스크 하이 리턴

 

리턴 75%에 

 

리스크 48%라

 

변동성이 제법 크네요

 

 

저는 해당 주식을 평가하기 위해

 

복리 형식으로 계산한 점수를 기준으로

 

평가하는 편입니다

 

 

그냥 75% 오르고

 

48% 내렸다고 쳐보죠

 

 

(1 + 0.75) * (1 - 0.48)

 

= 0.91

 

이 값을 1로 빼면 (100% 기준으로 상대적인 변화를 보기 위해)

 

-0.09이니

 

-9%가 되겠군요

 

 

자 그럼 돌아와서

 

엔비디아를

 

일라이 릴리와 함께 산다면

 

어떻게 될까요?

 

변동성이 전체적으로 줄었다

 

리턴이 줄어 든 건 아쉽지만

 

리스크도 같이 줄었네요

 

 

복리 식 계산을 해봅시다

 

(1 + 0.53) * (1 - 0.31)

 

= 1.0557

 

5.57% 로 추정되네요

 

 

이렇게

 

분산하여 포트폴리오를

 

구성한다는 것은

 

 

극단적인 이익을 추구하기 보다는

 

보다 안정적인 수익을 추구하는 방식이라

 

할 수 있습니다

 

 

개별 선수의

 

현란한 개인기를 통해

 

왕창 벌어 들이는 식이 아니라

 

 

포메이션을 갖추고

 

그대로 밀고 들어가는 식이라고 

 

비유하면 적절하려나요

 

 

포트폴리오로 구성하면

 

어느 종목들을

 

어떤 비율로 가지고 있느냐가 중요해서

 

 

단일 종목을

 

막 자주 샀다 팔았다

 

하는게 아니라

 

 

꾸준히 그 비율이 유지되도록

 

관리해주는 식으로 접근하시면 됩니다

 

 

 

그럼 마저 볼까요?

 

해당 포트폴리오의 비중을 알아보자

 

최적의 비율을 

 

엔비디아 51%

 

일라이 릴리 49%로 추정하는 군요

 

공교롭게도 거의 반반이네요

 

 

여러 종목들을 넣고 돌리면

 

다양하게 나온답니다

 

 

그럼 이 비율에 따라

 

얼마나 사야 하는지

 

산출해 봅시다

 

 

내가 10만원 어치 사겠다 하면 

10만원 어치 포트폴리오 완성

 

이런 식으로 구성할 수 있고

 

 

뭐 100만원 1000만원 1억

 

아니면 매일 오천원 만원 씩 사는 것 까지도

 

원하는 대로 구성해볼 수 있겠죠?

 

 

반대로

 

최소 비중의 주식을 기준으로

 

최소 금액 만큼 모으고 싶다?

 

소액으로 매일 모으고 싶다면 이것도 추전

 

이런 식으로 계산해서

 

사 모을 수 있겠죠

 

 

지금까지 간단하게 

 

파이썬으로 투자 포트폴리오를 구성하는 것을 알아보았습니다

 

 

포트폴리오 구성해서 

 

꾸준히 모으는 걸 시스템화 시키는 건

 

다음 글에서 작성하겠습니다

 

 

긴 글 읽어 주셔서 감사합니다

 

여러분의 투자에 도움이 되었길 바랍니다