전체 글(106)
-
Portfolio optimization(포트폴리오 최적화)
이번 포스팅에서는 시뮬레이션과 최적화를 활용하여 포트폴리오의 종목 비중을 최적화 할 수 있는 방법에 대해서 작성해보겠습니다. Sharpe ratio 개념에서 엿볼 수 있듯이 변동성을 최소화하면서 수익률을 극대화하는 것이 좋은 포트폴리오를 구성하는 방법일 것입니다. 물론 미래를 알 수 있다면 수익률이 가장 좋은 단일 종목을 선택하여 가지고 가는 것이 좋겠지만, 미래는 불확실하기 때문에 우리가 선정한 후보 종목들 중에서 어떻게 비중을 가져가는 것이 좋은 포트폴리오를 구성하는 것인지 선택하는 기준에 대해서 살펴보겠습니다. [시뮬레이션] 시뮬레이션 방법은 종목을 구성하고자 한 비중들을 무작위로 생성하고, 생성한 비중일 때의 수익률과 변동성을 계산하여 Plotting 해보는 방법입니다. 예를 들어 삼성전자/네이버..
2023.10.10 -
Sharpe ratio, CAPM
주식을 하다보면, 하나의 종목만을 사고 팔고하는 경우가 없고 여러 종목을 선정하고 비중을 조정하는 경우가 많습니다. 이런 여러 종목들을 섞는 것을 포트폴리오를 구성한다고 하는 것이고, 포트폴리오의 성과와 위험을 관리하는 것은 중요 합니다. 이번 포스팅에서는 포트폴리오의 성과를 측정하기 위한 가장 기본적인 숫자들을 다뤄보도록 하겠습니다. [Sharpe Ratio] Sharpe Ratio는 포트폴리오 위험성 대비 수익성이 어떠한지를 나타내는 것으로, 값이 클수록 좋습니다. Sharpe Ratio가 크다는 것은 포포트폴리오 위험성(표준편차)가 낮고 수익성이 높다는 것입니다. 결국 변동(위험)대비 수익률이 어떠한지를 보는 것입니다. $R_p$는 포트폴리의 수익률, $R_f$는 무위험 수익률, $\sigma_p$..
2023.10.09 -
금융 데이터 다루기 > 노이즈 제거(이동평균, 칼만필터(Kalman-filter))
금융 데이터에는 많은 경우 시계열성을 가지고 있고 주가와 같이 하루하루 변동성이 큰 데이터들이 있습니다. 이러한 데이터들을 효과적으로 분석하기 위해서는 Noise를 제거하고 실제로 이 데이터가 가지고 있는 진짜 정보를 추출하는 방법에 대한 기본적인 이해가 필요합니다. [이동평균] 이동평균은 우리가 잘 알고 있는 방법론이고 실제로 주가의 추세를 볼때 활용하는 20일 이동평균선도 이 이동평균의 개념을 활용한 것입니다. 이동평균은 말그대로 시계열 데이터를 3일, 5일, 10일 등 우리가 정한 집합으로 나누고 해당 집합에서의 평균을 이어서 활용하는 것입니다. Pandas를 활용해서 너무나도 쉽게 구할 수 있지만, For loop을 활용해서 구하는 방법도 구현을 해보도록 하겠습니다. import FinanceDa..
2023.08.05 -
Alpha를 찾아서 > 금융 데이터 다루기
금융 데이터는 기본적으로 시계열적으로 이루어져 있습니다. 이러한 시계열성을 가진 데이터를 다루기 위한 아주 기본적인 pandas활용 방법과 금융 Factor들을 쉽게 계산할 수 있도록 도와주는 패키지에 대해서 다루어보도록 하겠습니다. [Pandas] 사실 Pandas와 Numpy는 너무나도 잘 알려져 있는 패키지이기 때문에 익숙한 내용이지만, 예전에 했던 것을 다시 복기해보는 의미에서 시계열 데이터를 다룰때 유용하게 쓸 수 있는 method들을 정리해보겠습니다. 시계열 데이터를 다루기 위해서는 기본적으로 시차별로 수익률을 계산한다거나, 이번달 주가와 저번달 주가의 차이를 구한다거나 하는 시간의 축을 비교하거나 변경하는 일을 많이 하게 됩니다. Resample method를 활용하면 일별 자료를 월별 자료..
2023.08.01 -
Alpha Factor 탐색 > Value Factor
Value Factor를 활용하여 투자를 하는 사람들은 결국 기업이 가친 가치만큼 주가가 올라가거나 또는 내려간다고 생각을 합니다. 주요한 Value Factor로는 Cash flow yield, Free Cash flow yield, 배당율, Earning yield(주가대비 수익) 등이 있습니다. 정말 많은 Value Factor들이 있기 때문에 무엇을 적용할지를 결정하는 것부터가 중요한 일이라고 볼 수 있을 것입니다. 일단 여기서는 Python을 활용해서 Free Cash flow yield를 계산하는 방법을 다루어보겠습니다. 이 방법을 이용해서 재무정보와 주가 정보를 불러와서 자신이 활용하고 싶은 Factor들을 만들어서 활용하시면 좋을 것 같습니다. [Free Cash flow yield] Ca..
2023.07.20 -
Alpha Factor 탐색 > Momentum
주가의 방향을 예측하는데 있어 Momentum을 나타내는 Factor들은 항상 많이 활용되어지고 있는 요인들중에 하나입니다. 이러한 Momentum이 어떻게 보면 군중들이 어디에 집중하고 있고 어디에 쏠리고 있는지를 판단할 수 있는 요소이기 때문입니다. 그리고 결국 주가는 군중들이 결정한다고 본다면 Momentum은 꼭 고려가 되어야할 지표임에는 틀림없습니다. Momentum을 나타내는 지표가 많이 있게지만, 대표적인 지표를 몇개 선정하여 이를 활용해보도록 하겠습니다. 1. RSI(Relative strength index(RSI)) RSI는 0부터 100까지의 숫자를 가지며, 100에 가까울 수록 초과매수가 일어난 것으로 보고있습니다. 따라서 이를 활용하여 단순한 규칙을 만든다면 70이상일 때는 판매하..
2023.07.03