Before starting this review, and because I am not sure if it is okay to post this type of journal/article review writings, just want to notify that this is actually not my work and to make sure I will delete the post if this is problematic (please leave me some comments in such case). This post is a simple translated summary to review and is to give me a better understanding of it.
Portfolio Optimization Based On Funds Standardization and Genetic Algorithm
by Yao-Hsin Chou, Shu-Yu Kuom and Yi-Tzu Lo
Abstract
1. 주식 투자 시, 투자자는 high return, low risk의 올바른 주식을 선택해야하는 문제를 겪는다.
2. Modern Portfolio Theory (MPT)
- 기존 risk 계산 방법
- 한계
a) high computation complexity: 포트폴리오내에 존재하는 모든 주식의 쌍에 대해 그 관계를 계산해야한다. 이 때, 포트폴리오내 주식의 숫자가 늘어날수록 그 계산의 복잡도는 exponentially 증가하게 된다.
b) unable to calculate coefficient of variation: 단순하게 각각의 쌍의 관계에 대해서 계산하기 때문에 정확한 포트폴리오 전체의 risk를 평가할수 없다.
* In probability theory and statistics, the coefficient of variation (CV), also known as relative standard deviation (RSD), is a standardized measure of dispersion of a probability distribution or frequency distribution. The coefficient of variation (CV) is defined as the ratio of the standard deviation $\sigma$ to the mean $\mu : c_v = \frac{\sigma}{\mu}$
(출처: https://en.wikipedia.org/wiki/Coefficient_of_variation)
3. Funds Standardization
a) 포트폴리오 return 과 risk를 계산
b) 포트폴리오 fund standardization의 변동은 기존의 MPT 처럼 각각의 쌍의 관계에 대해서 보여줄 뿐 아니라 포트폴리오내 모든 주식과의 관계를 대변
c) 기존의 방법 보다 포트폴리오 risk와 투자자의 mood swing을 더 정확한 계산/표출
d) 주식의 수와 비례하여 complexity가 증가하지 않는 방법이기 때문에 computation complexity 가 낮아진다.
4. 본 논문에서 제시하는 최적의 포트폴리오를 구성하는 방법
- Genetic Algorithm
- Sharpe Ratio
- Funds Standardization
- Sliding Window: Overfitting 문제를 해결
--> 본 논문의 실험 결과에 따르면, 포트폴리오는 risk를 효과적으로 분산하고, 포트폴리오 risk는 fund standardization을 통해 정확히 측정된다. 따라서 이러한 방법은 기존의 방법보다 더 안정적인 return과 낮은 risk를 제공함을 증명하였다.
I. INTRODUCTION
한바구니의 모든 계란을 넣지 않듯 risk를 분배하기 위해서 투자자들은 주로 하나의 주식에 투자하는것보다 여러 주식에 분산 투자하는것을 추천
투자자는 (1) 동일한 reward에서 적은 risk거나 (2) 높은 reward에서 동일한 risk 를 갖는 대상을 선택해야한다.
--> 즉, 높은 sharpe ratio가 이러한 대상을 의미한다.
Sharpe Ratio: 주식을 측정하는 지표. 각 주식의 risk 당 reward를 계산.
* In finance, the Sharpe ratio (also known as the Sharpe index, the Sharpe measure, and the reward-to-variability ratio) is a way to examine the performance of an investment by adjusting for its risk. The ratio measures the excess return (or risk premium) per unit of deviation in an investment asset or a trading strategy, typically referred to as risk, named after William F. Sharpe.
$S_a = \frac{E[R_a-R_b]}{\sigma_a} = \frac{E[R_a-R_b]}{\sqrt{\mathrm{var}[R_a-R_b]}}$,
where $R_a$ is the asset return, $R_b$ is the risk free rate.
$E[R_a-R_b]$ is the expected value of the excess of the asset return over the benchmark return,
and $\sigma _a$ is the standard deviation of the asset excess return.
ex) Suppose the asset has an expected return of 15% in excess of the risk free rate. We typically do not know if the asset will have this return; suppose we assess the risk of the asset, defined as standard deviation of the asset's excess return, as 10%. The risk-free return is constant.
Then the Sharpe ratio will be $\frac{R_a-R_f}{\sigma _a}=\frac {0.15}{0.10}=1.5$
(출처: https://en.wikipedia.org/wiki/Sharpe_ratio)
경제학자 Markowitz는 Modern Portfolio Theory (MPT)를 통해서 variance 와 co-variance 에 의한 전체 포트폴리오의 risk를 계산하는 방법을 제안했다. 수천가지의 모든 주식을 포트폴리오의 고려대상으로 할때 MPT의 computation complexity는 exponentially 증가한다.
CI techniques를 사용하면 좋은 포트폴리오를 찾는데 있어서 효과적이다.
최근에는 주식시장과 같이 방대한 자료의 계산이 필요할때 이러한 방법이 많이 사용되는데, 주식 선정시 CI techniques는 risk, reward, sharpe ratio와 같은 평가 지표를 변수로 사용한다. Sharpe ratio를 계산할때 risk를 평가해야하고, 대부분 mpt를 활용하여 risk를 계산한다. 이 때, 각 쌍의 covariance를 계산해야하는데, 포트폴리오 내 주식의 숫자가 늘어날수록, 계산해야하는 covariance수가 여전히 exponentially 증가하게 된다. 몇몇의 논문에서는 risk 계산을 간소화 하는 방법을 제안했는데, 이는 전체 risk를 잘 대변하지 못한다.
Computational Intelligence (CI) techniques: 제한된 exhausted 되지 않는 상황에서 문제 해결을 위해 사용되는 방법론
- evolutionary computation
- fuzzy theory
- artificial neural network
* In computer science, brute-force search or exhaustive search, also known as generate and test, is a very general problem-solving technique and algorithmic paradigm that consists of systematically enumerating all possible candidates for the solution and checking whether each candidate satisfies the problem's statement.
(출처: https://en.wikipedia.org/wiki/Brute-force_search)
이 논문에서 포트폴리오 risk를 계산하는데 있어서 더 단순하고 투자자의 mood swing을 반영할 수 있는 funds standardization을 제안한다. 이 후, risk와 return를 활용한 포트폴리오 평가에서 fund standardization로 대체한 Sharpe ratio 에서 사용한다. 주식 시장 내에서 모든 주식의 조합을 판단할 수 없기 때문에 강력한 CI인 genetic algorithm을 사용해서 computational complexity를 줄이고, 투자자들이 포트폴리오 리스크를 쉽게 평가할수 있도록하고 risk가 적고, reward가 많은 포트폴리오를 구성하는 방법을 돕는다.
Section II 에서 포트폴리오 구성시 sharpe ratio를 사용하는 다른 방법들을 다루고,
Section III에서 sharpe ratio와 mpt계산법을 다루고,
Section IV에서 본 논문의 방법에 대한 기초,
Section V에서 방법론에 대한 구체적 소개,
Section VI 방법론 사용 결과와 다른 방법들과의 비교,
Section VII 결론
으로 구성되어 있다.
II. RELATED STUDIES
주식 거래시 주요 고려 사항
1) 가격 전망 2)매매 타이밍 3)주식 선택
III. BACKGROUND
A. Portfolio
Stock selection(주식 선택) - 해당 주식의 risk 와 return 을 고려
high risk를 동반한 주식은 high return을 제공하는 반면, low risk의 경우 low return 을 제공한다.
투자자는 낮은 risk와 높은 return을 희망하기 때문에,
주식 가격의 변동성을 낮추어 안정화 시키기 위해서는 주식들의 좋은 조합을 통해 리스크를 줄이고 return을 늘인다.
B. Modern Portfolio Theory
1952년 Markowitz가 투자자들은 기본적으로 동일한 return에 대해 risk가 적은 상황을 선호하는 risk-averse임을 가정으로 Mpt를 제안함.
- Mean-variance model 에서 N 개의 주식에 투자한다고 할때, 각 주식의 weights 를 w1, w2, ..., wn, 그 weight의 합을 1이라고 가정한다.
$\sum_{i=1}^{N}w_i = 1$ and $0 < w_i < 1$
$E(r_p) = \sum_{i=1}^{N}w_ir_i$, where $E(r_p)$ is the expected return of portfolio, and $r_i$ is the expected return of stock i and $\sigma_p$ is the portfolio risk.
$\sigma_p = \sum_{i=1}^{N}\sum_{i=j}^{N}w_iw_j\sigma_{ij}$, where $\sigma_p$ is the portfolio risk, and $\sigma_{ij}(i \neq j)$ is the covariance of stocks i and j.
C. Sharpe Ratio
- 1990년 William Sharpe가 제안한 것으로 capital asset pricing model을 기반으로 주식의 performance를 측정하는데 사용된다. low risk와 high return의 포트폴리오를 hold하는 것이 share ratio의 목적이다.
$Sharpe Ratio = [E(r_p) - R_f]/\sigma_p$, where $R_f$ is the risk-free rate of interest.
- 더 큰 sharpe ratio를 선택할때, 투자자로 하여금 동일한 reward에 대한 risk가 적거나 동일한 risk에 대해 높은 reward를 제공하게 된다.
1. 2개 이상의 주식이 포트폴리오 있을때, 포트폴리오는 각 주식의 리스크와 각 쌍(2개)의 covariance만을 계산한다.
아래의 그림에서 처럼 4개의 주식이 있다고 가정했을때,
포트폴리오의 리스크로각 주식 a,b,c,d 와 ab, ac, ad, bc, bd, cd에 대해서는 포함이 되지만
a,b,c의 상관관계, a,b,c,d의 상관관계 등에 대해서는 적용되지 않는다.
2. 이러한 기존의 방법은 $2^n$의 계산 복잡도에서 $n^2$로 좋아지긴 하지만, 이는 어쨋든 부정확한 방법이며, 2개이상의 주식에 대해서는 계산 복잡도도 충분히 좋지못하다.
Portfolio risk in MPT
- 계산 복잡도를 개선하기 위해서 다른 연구에서는
1. sharpe ratio가 가장높은 주식을 선택하여, 이 주식과 다른 주식들과의 covariance를 평균내는 방법
2. sharpe ratio가 가장높은 주식을 선택한 뒤, 다른 주식들의 return rate을 평균하고, 가장 높은 주식과 평균값의 covariance를 계산하는 방법을 사용했었다.
- 저자는 이러한 방법들은 계산을 단순화하긴 하지만, 포트폴리오내의 모든 interaction을 대변하지 못한다거나, 완벽하지 못한 계산식이라고 평가하고 있다. 대부분의 다른 연구들은 MPT 계산에서의 computation complexity를 줄이는것에 초점을 맞추는것에 반해, 해당 연구에서는 이러한점과 더불어, 포트폴리오내 모든 주식의 상관관계를 포함하지는 않는점을 개선해야한다고 판단하였다.
- 이러한 문제점을 극복하기 위해 funds standardization을 제안하였다. Fund Standardization을 통해서 모든 주식간의 상관관계를 포함하고, computational complexity를 $O(n^2)$에서 $O(1)$로 개선할수 있다. 이는 포트폴리오의 리스크를 계산할때, 하나의 데이터 셋에서 기존의 $n^2$개의 standard deviation를 계산한것과 달리 1개만 계산하게 된다는 것이다.
- 또 이러한 방법론은 모든 주식들의 상관관계를 포함하기 때문에, 기존의 방법론 보다 더 정확하게 포트폴리오의 리스크를 나타낸다는 것이다. 이렇게 측정된 리스크를 통해서 포트폴리오의 변동은 투자자의 mood swing을 정교하게 대변한다고 판단하였다.
- 다른 연구에서 average return rate 을 계산하여 리스크를 측정한 반면, funds standardization 방법을 사용한 해당 연구에서는 average return rate과 return rate이 다른 경우에 발생하는 문제점도 피할수 있다. 기존의 방법에서는 각 주식의 risk와 한쌍의 주식의 risk를 각각 판단하였다면, 이 방법은 포트폴리오의 리스크를 직접적으로 반영하게 된다. 이번 방법에서 사용되는 Coefficient of Variance 를 통해, 하나의 sequence로 표현하여 여러 포트폴리오에 대해 직접적인 비교가 손쉽게 가능하게 된다.
위의 언급된 fund standardization 방법론과 이의 활용안을 요약하자면,
1. 모든 interaction 이 반영된다.
2. 투자자의 mood swing을 반영하여 포트폴리오의 실제 투자 환경을 기반으로한다.
3. portfolio risk의 계산복잡도를 크게 개선한다.
4. 포트폴리오간 비교 분석이 용이해진다.
따라서 위와 같은 방법론을 사용하게 되면 포트폴리오를 더 쉽고, 정확하게 분석하여 좋은 포트폴리오를 찾을 수 있도록 돕는다.
시장에 존재하는 전체 주식이 n개 라고 가정했을때, 주식을 포트폴리오의 포함될 것인지 아닐지 선택할때 computational complexity 는 $O(2^n)$ 인데, 이는 너무 exhaustive하기 때문에, evolutionary algorithm을 사용하여 더 정확한 포트폴리오를 빠른 시간안에 찾는 방법을 사용하였다. 저자는 계산복잡도와 모든 주식의 관계를 적용하는 포트폴리오 평가를 위한 방법론이기 때문에, 향후 연구에서는 GA 말고 particle swarm optimization, quantum-inspired tabu search algorithm, jaguar algorith 과 같은 방법을 적용할 수도 있을것이라고 언급하였다.
V. PROPOSED METHODOLOGY
- Stock Selection에 있어서 Sharpe Ratio와 GA를 사용한다.
A. FUNDS STANDARDIZATION
- Allocated Funds
$allocated funds = \lfloor initial funds / N \rfloor$
- remainder of portfolio
$= initial funds - allocated funds * N$
share
$= \lfloor allocated funds / (stock price * 1000 + stock price * fee rate * 1000) \rfloor$
handling fee
$= share * stock price * fee rate * 1000$
remainder of stock
$= \lfloor allocated funds - funds of buying stocks - handling fee \rfloor$
funds standardization(1)
$= allocated funds - handling fee$
return
$= share * stock price * 1000$
securities transaction tax
$= share * stock price * 1000 * rate$
funds standardization(m)
$= return_m - fee_m - securities transaction tax_m + remainder of stock_m and m>1$
portfolio funds standardization
$= \sum_{i=1}^{n}funds\,standardization_i + remainder\,of\,portfolio$
* Taiwan stock market uses shares for calculation; as one share is 1000 lots.
* fee rate in taiwant market is 0.1425%
* where m is the mth day and the rate of securities transaction tax is 0.3% in the taiwan market.
daily funds standardization
- 첫번째날의 funds standardization은 각 주식의 배분된 allocated funds와 이를 매수할때 지출한 비용을 제외한 값
- 첫번째날 이후로는 포트폴리오에 있는 각 주식을 매도한것으로 가정하여 funds standardization을 계산. the funds standardization은 주식 매도 시 handling fee와 securities transaction tax를 제외하고 잔액을 더하여 계산.
- 저자의 방법론에는 initial funds를 주식의 개수별로 균등하게 분배하여 계산
- 수익률이 높은 주식에 비중을 높이면 improvement가 있을것.
B. PORTFOLIO OPTIMIZATION USING GA
- 진화 알고리즘인 유전 알고리즘을 이용
생물의 진화를 모델로 만든 기법으로 selection, crossover, mutation의 과정을 거쳐 최적화를 시키는 연산 기법
solution이 좋은지를 검증하기 위해서 문제의 최적화 fitness를 확인하고, 각 generation에서, 유전 알고리즘은 새로운 population을 만들고, selection, crossover, mutation의 단계를 거쳐서 더 좋은 솔루션으로 발전시킨다.
- 이 논문에서 GA를 이용하여 low risk, stable return을 제공하는 방법을 찾고자 한다.
1. Representation
- 염색체의 길이 = Taiwan 50 etf에 포함된 주식의 수
- 각각의 염색체는 포트폴리오를 의미하고, 각각의 bit는 포트폴리오내 주식을 의미
- binary array (0s, 1s)를 이용하여 stock 이 포트폴리오에 포함/선택되었는지 아닌지를 표출
- 위표에 따르면 해당 포트폴리오는 1216, 1303 주식을 포함
- 현재 사용하고 있는 방법으로는 몇개의 주식을 포함할지는 계산되지 않기 때문에, 0 개이상의 주식을 선택 가능
2. Initialization
- 한 generation에 여러가지 염색체가 존재
- 처음 초기화에는 염색체 그룹에 있는 모든 염색체에 random으로 값을 부여
- 위의 표를 예제로 저자는 5bit를 지닌 10개의 염색체를 한개의 그룹으로 설정하였다.
3. Fitness Calculation
- 초기화 이후 유전 알고리즘은 fitness를 검증하기 위해 sharpe ratio를 사용
$fitness = \frac{ROI - risk free rate}{risk}$
$ROI = \frac{final funds - initial funds}{initial funds}$
$CV = \frac{standard\,deviation}{average}$
$risk = \frac{standard\,deviation\,of\,funds\,standardization}{average\,of\,funds\,standardization}$
$= \sqrt{\frac{\sum_{i=1}^{D} fs_i-\bar{fs}}{D}} /\bar{fs}$
- 각각의 포트폴리오를 동일선상에서 비교하기 위해, CV를 통해 portfolio risk를 계산
* risk free rate로 taiwan의 deposit free rate (0.87%)를 사용
ex) 구체적 케이스의 예시
- 위 TABLE 6에서 Chromsome1으로 표기된 염색체(포트폴리오)에 관해 각 a,b,c,d,e 주식의 가격을 TABLE7에서 보여주고있다. 이전과 마찬가지로 초기 투자금이 4,000,000 라고 가정하면, 아래와 같은 결과값이 나온다.
4. Selection
- 우성인자를 보존하여 진화에 사용
- 우성인자의 자손을 생성하기위해 crossover pool에서 더 높은 fitness 값을 가진 그룹을 선택하는 과정
- 종류
a) roulette wheel selection
b) tournament selection
c) rank-based wheel selection
- 본 논문에서는 tournament selection을 이용함
a) 모든 염색체에 대해서 그 fitness를 sorting 하고, 우성 염색체는 보존한다.
b) tournament selection을 사용하기 때문에, 랜덤하게 몇개의 염색체를 선택하고, 그중 2개의 최고 값을 부모로 2개의 자손을 생성하기 위해 선택
ex) 구체적 케이스의 예시
- 위에서 언급된 10개의 염색체 중에서 40%의 염색채를 유지하였고 (Chr. IX, II, III, VI) 그중의 3개를 random 하게 선택하고, 그중 최대값인 IX, II를 선택
5. Crossover
- 종류
a) single point crossover
b) multi-point crossover
c) uniform crossover
- 본 논문에서는 몇개의, 어떤 포인트가 교체 될 것인지를 random하게 결정하는 multi-point crossover 기법을 사용하였다.
ex) 구체적 케이스의 예시
- 위에서 언급된 IX, II를 이용하여, 몇개의 포인트가 사용될것인지를 결정하고, 만약 그 숫자가 2라면 해당 염색의 2개의 bit에 대해서 변경을 결정한다. 만약 1번째와 5번째 비트를 랜덤하게 선택하고, crossover를 하게 되면,
00111, 01110 이 각각 00110, 01111이 된다.
6. Mutation
- 진화에서 유전적 다양성 (genetic diversity)의 기원이 되는 mutation은 진화알고리즘에서 염색체가 local optimum으로부터 나오는 것에 기여한다.
- 본 논문에서는 multi point mutation을 이용하고 특정 mutation rate 값을 제공한다.
- 각각의 새로운 염색체가 생성됐을때 일정 확률로 변이를 일으키는데, 염색체가 mutate를 일으키며, random하게 몇몇이 포인트에서 값이 변화한다.
- 새로운 자손이 생성되고나서, 우리는 random한 숫자를 만들어서 이것이 mutate할지 말지를 결정한다.
- mutation rate 이 0.5이고, chromsome이 00110일때, 생성된 random 숫자가 0.5보다 작으면 염색체는
- mutation단계 이후에 이전에 했던, selection, crossover, mutation 단계를 모든 population을 다룰 때까지 복한다.
ex) 구체적 케이스의 예시
- 랜덤으로 생성된 숫자가 0.4라면, 이 값은 mutation rate인 0.5보다 작기때문에, 해당 염색체인 00110은 mutate를 일으킨다. 2개의 포지션을 랜덤으로 선택하여 (1,3 --> stock a and c) bits 를 바꾼다.
- 결과적으로 00110 이었던 염색체는 mutation 과정을 통해 10010로 변하게 된다.
C. SLIDING WINDOWS
- 많은 데이터가 존재하는 주식시장에서 over-fitting 문제는 지속적으로 발생하기 때문에, 적당한 training period와 이를 찾기 위한 optimal strategy, 그리고 이를 test period에 사용할 필요가 있다.
- 이러한 period설정에따라 다른 결과가 나올수 있다.
- 본 논문에서 이러한 overfitting 문제를 해결하기 위해서, 저자는 sliding window 기법을 사용하였다.
- 일반적으로 training period는 testing period보다 같거나 길다.
- training period가 너무 짧으면 좋은 strategy를 차기에 정보가 부족하고, 너무 길면 너무 많은 정보가 들어있기 때문에 적절한 기간 설정을 하는것이 필요하다. 예를들어, 1주일의 testing period를 위해서 1년의 training period를 갖거나, 1주의 training period로 1년의 testing period를 갖는것은 불합리하다. 올바른 training, testing period를 설정하기 위해 본 논문에서는 15개의 프레임을 정해서 적용하였다.
- 이러한 기간설정에는
a) symmetry, asymmetry, year-on-year로 구분
- year-on-year 계산법은 작년의 training result로 올해의 값을 test하는 방법이다. 예를 들어 2015년 1분기의 값을 트레이닝하여 2016년 1분기의 값을 검증하는 것, 이를 Q*로 부른다.
- 적절한 training, testing period 설정은 투자자로 하여금 좋은 trading strategy를 제공하고 overfitting 문제를 해결하게 한다.
VI. EXPERIMENT
- 본논문에서 제시된 GA와 Sharpe ratio가 병합된 방법론은 low risk와 high return을 제공하는 최적의 포트폴리오를 찾고, funds standardization 방법을 통해서 포트폴리오의 리스크를 계산하였다. 또, sliding window를 이용하여 overfitting 문제를 해결하였다.
- 이번장에서 왜 taiwan 50 etf를 선택하였고, sliding window에 대한 실험결과와 mpt로 risk를 계산한 포트폴리오, 한개의 가장높은 sharpe ratio를 가진 주식과의 리스크 대비 리턴 결과비교를 진행
A. INVESTMENT TARGETS
- 본 연구에서 taiwan 50 etf의 constituent stocks를 investment targets으로 설정하였는데,
1. taiwan stock market 은 외국에 영향을 많이 받아 fluctuation이 심하다.
2. taiwan 50 etf의 constituent stocks은 시장가치 상위 50개 주식으로, 전체 시장의 70%이상의 가치를 가진 대표주이다.
3. taiex 와 높은 상관관계성을 지닌다.
4. exchange-traded fund이고, twse, ftse로 보증을 받는다.
를 이유를 들었다.
* 이러한 이유가 꼭 이 주식그룹이어야 하는지, 혹은 다른 주식그룹이 더 좋았을 것이었는지에 대한 구체적인 증명등은 없다. 개인적인 약간의 비판적 시각으로 볼때 그냥 저자가 사용하기에 접근성이 가장 높은 시장의 대표주식이었기때문이 더 맞는 이유일것같다.
B. EXPERIMENTAL ENVIRONMENT
- Taiwan Economic Journal (TEJ)에서 제공하는 2010 에서 2016년 June 까지의 주식가격을 토대로 본 연구를 진행하였다. 따라서 해당 연구는 , 2010년의 첫거래일부터 2016년 6월깢의 데이터로 testing period를 설정하였다.
- target 인 taiwan 50 etf 의 constituent stock중 몇몇은 다른 주식으로 대체 되었다.
C. PARAMETERSR OF GA
- 본연구에서 training 기간동안 꾸준하게 최고의 포트폴리오를 찾아, testing period동안 이를 테스트하였다.
- GA의 parameter인 부모 염색체의 보존율, mutation rate, number of mutation bits for every chromosome을 train하였다.
- 보존율을 테스트하기 위해 그룹의 population을 100으로 두고, generation number는 200, and 2012년에서 값을 테스트하였다. 이러한 실험의 결과가 위의 표에 기록되어있다. 실험 결과로 부모 염색체의 preserved rate이 20%일때 최적의 결과값을 보였다. 따라서, GA에서 preserved rate을 20%로 설정하였다.
- mutation rate과 mutate되기 위해 선택된 모든 bit가 mutate하게 될 확률을 곱하여 mutation rate of every single bit for every chromosome으로 정의하였다. 예를 들면, chromosome의 mutation rate 이 10%이고, 각 chromosome마다 mutate 하게 될 bit의 숫자가 50개의 주식을 가지고 있는 이 샘플에서 50 bit 중 3bit 라고 하면,
rate of every bit selected to mutate is $\frac{3}{50}$이고,
mutation rate of every single bit for every chromosome is $\frac{3}{50}*10\% = 0.6\%$ 이다.
- 최적의 mutation rate of a single bit 과 number of mutation bits 을 찾기 위해서는 10번의 테스트를 통해서 0.6, 0.4, 0.2로 최적의 결과를 찾았고, 이 3개의 값을 100씩 테스트하여서 mutation rate of single bit이 최적의 값이 0.6, 0.4임을 확인하였다. 그들의 평균값인 0.5와 함께 optimal solution을 찾는 회수를 아래표 와 같이 확인하였다.
- 각기 다른 period에 따라 sliding window를 다르게 사용하는 방법을 위해서, year, half year, quarter year, two weeks, and one week에 해당하는 값을 각각 비교하였고, 부모의 chromosome의 preserved rate 을 20%로 설정하였다.
- 이러한 과정을 거쳤을때, 0.6%의 mutation rate of a single bit으로 설정하였을때, 대부분의 period에서 0.4%로 설정할때보다 더 좋은 효과를 얻은것을 확인할수 있었다.
- 위의 표에서 2weeks로 기간을 설정하였을때, 35번의 optimal solution을 찾는 것을 근거로 가장 안좋은 performance를 보였는데 (100번의 실험중 35번만을 최적의 값을 찾은것으로, successful rate of two week is 35%임을 의미한다), 이러한 실험을 30번 독립적으로 수행하게되면, 최적의 솔루션을 99.9997%이상의 확률로 찾을수 있다. 즉, 30번의 유전알고리즘 트레이닝과 테스트를 통해서 최적의 솔루션을 찾을 수 있다.
- 위의 실험들을 통해서 아래와 같은 최적의 parameter의 값을 확인할 수 있었다.
D. COMPARISON WITH MPT
- 앞서 언급한것처럼, 본 연구의 방법론은 기존의 MPT에서 간과하고 있던 상관관계를 포함한것이 주요 이슈이다.
- 주식시장에서 전통적인 mpt의 risk와 roi, sharpe ratio와 비교하는 실험으로 본연구의 방법론의 우수성을 입증
- 2010년1월부터 2016년 6월까지의 데이터를 Q2Q로 testing window로 설정하여 실험을 진행하였다.
- 이 실험에서 우리는 training period동안 risk와 roi 둘다 고려해야했고,단위 risk당 roi가 더 높은 포트폴리오를 선택했다.
- training period의 결과는 본 연구에서 사용했던 방법으로 선택한 포트폴리오의 risk가 mpt를 사용한 경우의 risk의 반으로 감소하였고, roi의 performance 또한 높은 sharpe ratio를 보이며 뛰어났다.
- 비록 testing period의 결과를 예측할수 없다고 하더라도, 본 연구의 방법은 testing period에서의 포트폴리오 또한 좋은 performance를 보였다.
- 특히, roi performance는 mpt보다 현전하게 뛰어나고(mpt의 경우보다 6배 이상), mpt보다 risk 증가 단위는 낮았다.
- 결과적으로 mpt보다 좋은 sharpe ratio를 제공한다,
- 이러한 실험의 결과는 본연구의 방법론이 주식 시장에서 단위 risk당 더 좊은 roi를 제공하는 효율적인 포트폴리오를 제공한다.
- 이는 최적의 포트폴리오를 정교하게 찾을 뿐만 아니라, 효과적으로 작동한다.
- 다음 파트에서 training, testing periods를 각각 분석한다.
E. SELF_ANALYSIS
1. TRAINING PERIOD ANALYSIS
Training period동안에, 우리는 Taiwan 50 etf의 모든 주식을 test하였고, sharpe ratio가 가장 높은 주식 (SHS) 을 찾았다.
- 그리고 본 연구에서 선택한 포트폴리오와 비교하였다.
- GA를 활용한 fund standardization의 본 연구의 방법이 효과적이었다.
- 이는 shs가 주는 sharpe ratio보다 좋은 값을 주었다.
- shs가 최고의 값을 주는 경우에도, 우리의 방법ㅂ은 그 주식을 포함하는 포트폴리오를 찾았다
- 즉, shs가 주는 sharpe ratio와 적어도 같거나 더 좋은 값을 제공한다.
- 2013년 1월 부터 2014년 2월의 training-to-testing period에 B2B (Two weeks-to-Two weeks), W2W (week to week) 는 다른 기간보다 안좋은 값을 주었다.
- 좋은 값을 만들기 위해서는 적어도 한달이상의 기간을 train하거나 test 해야했다
- 따라서, 우리는 우리의 방법론이 long-term investment에 더 적합하다는 것을 확인하였다.
- 이에 위의 짧은 기간은 다음 실험에서 제외하였고, 모든 기간동안 shs보다 더 좋은 sharpe ratio를 보였다.
모든 기간동안의 변동을 관측했을 때, shs 보다 portfolio의 리스크가 더 낮았다.
- 모든 기간 중 training-to-testing 실험결과의 risk는 본 연구의 접근법이 risk를 효과적으로 낮추는 것을 보였다.
- 하나의 바구니에 모든 계란을 넣는것보다, 포트폴리오를 통해 투자의 리스크를 spread하는 것이 더 효과적임을 보여준다.
솔루션의 범위가 너무 넓기 때문에 어떠한 방법론들은 다른 주식들과 shs를 무조건적으로 포함하는 방법을 택하기도 한다.
- 그러나 본 연구의 방법론은 shs를 반드시 포함할 필요는 없음을 보여준다. (Q2Q, 2016년1월~2016년 3월)의 기간동안의 포트폴리오는 shs를 포함하지 않는다. 그 기간동안 일부러 shs를 추가한다면 sharpe ratio가 떨어지는 것을 확인할 수 있다.
- 많은 방법론에서 shs를 포트폴리오에 무조건 적으로 추가하여 risk calculation을 단순화하고, computing complexity를 줄이려고하지만, 우리의 방법론은 shs가 포트폴리오에 절대적으로 필요하다고 보지 않는다.
- 이렇게 단순화된 방식은 stock selection에 있어서 제한을 만들기 때문에 최적의 포트폴리오를 찾을수 없다.
- 그러나, 우리가 제시하는 방법론은 모든 조합을 고려하여 최적의 포트폴리오를 찾을뿐만 아니라 기존의 단순화된 방법론 보다 덜 복잡한 computation complexity를 가진다.
- 따라서 포트폴리오가 어떠한 경우에는 전체의 risk를 balance 하기 위해 declining stock을 포함해야하기도 하기 때문에, 우리의 방법론을 최적의 포트폴리오를 찾을 때 특정주식을 제외시킬수 없다.
기존의 방법론들은 일정량의 계산을 줄일수는 있지만, 이는 최적의 포트폴리오를 제외시키기도 한다.
- training period 실험을 통해 funds standardization을 사용하는 우리의 방법론이 모든 주식간의 상관관계를 고려할 뿐만아니라 계산의 양을 지속적으로 줄이는 것을 증명한다.
- 게다가, 최적의 포트폴리오를 탐지하기 위해, shs를 반드시 포함할 필요도 없고, negative stock을 제외하지도 않는다.
- 우리의 fund standardization with ga의 방밥은 어떠한 포트폴리오의 조합도 제한하지 않는다.
- 이러한 방법을 통해 우리는 최적의 sharpe ratio를 제공하는 포트폴리오를 찾는다.
2. TESTING PERIOD ANALYSIS
testing 기간은 2010년 1월부터 2016년 6월까지 6년 반의 기간이다.
- 비교 대상은 shs와 taiwan 50 etf이며, 각각 다른 기간에서 테스트 하였다.
- 실험에서 우리는 training-to-test period가 Q2Q일 경우 최고의 sharpe ratio를 보이는것을 확인할 수 있다.
- 또, 대부분의 경우에 있어서 포트폴리오는 taiwan 50 etf보다 더 좋은 sharpe ratio를 보이는 것을 확인할 수 있다.
- 5개의 기간동안에서는 taiwan 50 etf보다 roi가 좋았고, 그중 3개에서는 sharpe ratio도 더 좋았다. 나머지 sharpe ratio가 taiwan 50 etf 보다 낮은 2개의 경우에는 risk가 지나치게 높았다. 이는 주식 선정에 있어서 roi가 중요한 평가기준이 아니라는 것을 의미한다. 즉, risk도 동시에 고려되어야 한다는 것이다.
- testing period실험에서 Q2Q의 기간이 가장 좋은 performance를 보였다. taiwan 50 etf 나 shs 보다 높은 sharpe ratio를 보였다.
- 우리의 포트폴리오는 단순히 sharpe ratio만 좋은게 아니라, return 도 더 높았다.
- 우리의 방법론이 Y2Y 처럼 너무 길거나 B2B, W2W처럼 너무 짧은 기간의 방법에는 효과적이지 않는 모습을 보였다.
- 이러한 실험 결과를 통해, 우리는 training-to-testing periods는 모두 symmetrical 한 기간설정이고, Q2Q의 best performance를 보였다.
VII. CONCLUSION
포트폴리오를 정확하게 평가하기 위해 기존의 risk calculation의 방법을 보완하는 funds standardization을 제안하였다.
- funds standardizastion은 주식의 모든 상관관계를 고려하고 있다.
- 게다가, risk calculation을 점차적으로 단순화하였다.
- 또 이는 포트폴리오의 공정하게 비교하도록 하였다.
- funds standardization을 계산한 GA와 sharpe ratio를 합친 방법은 low risk, stable return의 포트폴리오를 제공할수 있다.
Sharpe ratio의 핵심 아이디어는 같은 리스크의 high return, 적은 리스크의 same return을 주는 것에 있다.
- 그러나 기존의 방법론들은 2개 이상의 주식에 상관성에 대해 무시하기 때문에, 포트폴리오의 리스크를 올바르게 표현한다고 할수 없다.
- funds standardization 은 모든 주식간의 관계를 고려하기 때문에 이러한 문제를 해결하고, 포트폴리오 투자의 변동성을 대변한다.
- 그리고 위와 같은 문제들은 traditional risk calculation에서는 그 계산방법과 다른 포트폴리오와의 비교 방법이 복잡하다.
- 기존의 리스크 계산법은 각각의 주식의 쌍에 대해 covariance를 계산하여야 하기때문에 주식의 숫자에따라 기하학급수적으로 그 계산량이 증가한다.
- 우리의 방법을 사용하면 포트폴리오 리스크가 fund standardization을 포트폴리오의 변동성을 대변하기 때문에 단순하게 포트폴리오 펀드의 standard deviation을 계산하면 된다. 때문에 계산 복잡도가 O(1)로 줄어든다.
- 본 연구는 다른 포트폴리오와 비교하는데 CV를 사용한다.
- 또, sliding window를 활용하여 over-fitting을 해결한다.
- 실험의 결과에 따르면, 우리의 제안된 방법론이 기존의 방법론 보다 모든 training and testing periods에서 뛰어난 것을 확인할 수 있다. 또, 계산 복잡성의 문제도 해결된다.
- 게다가 optimal portfolio의 sharpe ratio는 SHS의 sharpe ratio보다 뛰어나거나 최소 같음을 보였다.
- 실험의 결과는 포트폴리오가 risk를 spread하는 것을 증명해준다.
- 몇몇의 경우에 있어서, 최적의 포트폴리오는 sharpe ratio가 제일 높은 주식을 포함을 안한는 경우도 있고, 안좋은 sharpe ratio를 가진 주식을 포함하기 도한다. 기존의 risk calculation 단순화의 방법으로 가장 높은 sharpe ratio를 주식을 무조건으로 포함하거나 가장 낮은 주식을 무조건 제외하는 방법을 사용하기도 하였던것과는 차이가 있다.
- testing period는 Q2Q가 가장 좋은 성과를 보였다. training 이나 testing period가 지나치게 길거나 짧은것은 좋지 않고, 좋은 performance를 보이는 테스트 기간은 모두 symmetrical 한 형태를 보였다.
- 실험 결과는 본 연구에서 고안된 방법론이 변동성이 적은, 즉 리스크가 적고, high return임을 보였다.
이러한 연구를 통해 우리는 포트폴리오를 정교하게 평가하고, optimal sharpe ratio를 가진 포트폴리오를 구하고, 포트폴리오가 리스크를 spread하는 것을 증명하였다.
- 결과적으로 기존의 방법보다 본 연구의 방법이 더 뛰어나다.
- funds standardization은 모든 주식들간의 상관관계를 평가하고, 계산 복잡도가 줄어들었으며, 다른 포트폴리오들과의 비교도 훨씬 용이하며, 투자자들의 mood swing을 잘 대변한다.
향후 연구에서, 최고의 포트폴리오를 찾는 다른 최적의 알고리즘을 찾아볼계획이다.