분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
월간 데이콘 주식 종료 가격 예측 Pre Competiton (with.데이커)
자본자산 가격결정 모형(CAPM)
자본자산 가격결정 모형(Capital Asset Pricing Model, CAPM)은 자본시장의 균형하에서 위험이 존재하는 자산의 균형수익률을 도출해내는 모형이다. 마코비츠의 포트폴리오 이론을 바탕으로 하여, 샤프 등에 의해 무위험자산의 가정을 포함하여 발전되었다. 넓은 의미로는 자본시장선과 증권시장선을 포함하는 개념이나, 보통 CAPM이라 하면 증권시장선을 의미하는 경우가 많다.(https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B3%B8%EC%9E%90%EC%82%B0_%EA%B0%80%EA%B2%A9%EA%B2%B0%EC%A0%95_%EB%AA%A8%ED%98%95)
좀 더 쉽게 설명하자면
자산가격 = (시장수익률-무위험자산수익률)*(자산의 리스크) + 알파 -무위험자산수익률
라는 식으로 정의됩니다.
보통 시장수익률은 KOSPI등의 Expected Return(예측 지수 수익률), 무위험자산수익률은 국채금리로 대체됩니다.
자산의 리스크(Beta)와 알파는 위 회귀식에 시계열 데이터를 적합하여 사용합니다.
시장수익률은 본래 Market Forward EPS 같은 예측값을 사용해야하나 구하기 힘든 관계로 코스피의 미래수익률을 이용해 적합해 봤습니다.
import FinanceDataReader as fdr from statsmodels import api as sm import pandas as pd kospi = fdr.DataReader('KS11') # 코스피지수 bond1y = fdr.DataReader('KR1YT=RR') #국채 1년금리 df = pd.DataFrame() df['KOSPI'] = kospi['Close'].pct_change(250) df['bond'] = bond1y['Close']*0.01 df['Beta'] = df['KOSPI'] - df['bond'].shift(250) df['Alpah'] = 1 df['삼성전자'] = fdr.DataReader('005930')['Close'].pct_change(250) df = df.dropna() X = df[['Beta','Alpah']] y = df['삼성전자'] - df['bond'].shift(250) model = sm.OLS(y,X) result = model.fit() result.summary()
Out[2]: <class 'statsmodels.iolib.summary.Summary'> """ OLS Regression Results ============================================================================== Dep. Variable: 삼성전자 R-squared: 0.532 Model: OLS Adj. R-squared: 0.532 Method: Least Squares F-statistic: 4703. Date: Mon, 23 Aug 2021 Prob (F-statistic): 0.00 Time: 20:02:20 Log-Likelihood: -3029.7 No. Observations: 4141 AIC: 6063. Df Residuals: 4139 BIC: 6076. Df Model: 1 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ Beta 1.4565 0.021 68.579 0.000 1.415 1.498 Alpah 0.1371 0.008 16.940 0.000 0.121 0.153 ============================================================================== Omnibus: 2126.243 Durbin-Watson: 0.011 Prob(Omnibus): 0.000 Jarque-Bera (JB): 16771.565 Skew: 2.331 Prob(JB): 0.00 Kurtosis: 11.687 Cond. No. 2.75 ============================================================================== Warnings: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. """
삼성전자의 Beta는 1.4565, Alpha 는 0.13입니다.
코스피가 10% 상승한다면 삼성전자는 1.4656*0.1+ 0.13인 0.277%만큼 상승할 것으로 예측할 수 있겠네요.
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
그치만 코스피가 몇퍼센트 상승할지 모른다는게....