TOY Project

[Project] Arima Model을 이용한 주가 예측 분석

LydiaRyu 2021. 7. 18. 20:57
반응형
  • 분석 동기

코로나 19 이후로 주식투자에 대한 열풍이 일어났다. 그러나, 작년(2020년) 주가 상승에 비해 횡보하는 시기가 길어지고, 미국 연방준비은행의 금리 인상과 테이퍼링 이슈로 향후 주가의 방향성에 대해 다양한 논의가 이루어지고 있다. 주가 데이터는 대표적인 시계열 자료라는 점과 ARIMA 모델로 실험하여 주식 가격을 예측한 논문을 착안하여 분석을 진행하였다.

 

  • 분석 대상

논문은 Stock Price Prediction Using Arima Model(Supriti Khandelwal, Debasis Mohanty, International Journal of Marketing & Human Resource Research, 2021 April)을 참고하였다. 분석을 위해 20180601일부터 2021531일까지 3년간의 데이터를 INVESTING.COM에서 취합하였다. 우리나라의 대표산업으로 반도체 지수 지표인KOSDAQ Semiconductor, 경기에 민감한 소비재를 포함한 지수인 KOSDAQ Food Beverage & Tobacco, 금리 인상에 영향을 받으며 안정적인 주가 지수를 대표하는 금융 지수인 KOSDAQ Financials을 선정하여 3가지 대표 분야의 주가를 ARIMA 모델을 적용하여 분석할 것이다. 분석한 데이터를 토대로 20216월부터 202112월까지 7개월 간의 미래 주가를 예측하고자 한다. 데이터는 각각 Date(날짜), Price(종가), Open(시가), High(고점), Low(저점), Vol.(거래량), Change(변동률)로 구성되어있으며, 분석에서는 Price(종가) 데이터를 이용하여 진행한다.

 

  • 데이터 분석

1. 시도포(Time)를 통한 시계열 데이터 시각화

 

 

참고 논문에서는 비정상 시계열 데이터를 정상 시계열 데이터로 변환하기 위해 로그 변환을 해주었다. 데이터가 일정한 추세를 보이지 않거나 정상 시계열이 아닐 경우, 로그 변환은 ARIMA 모델을 사용하기 위해 준비하는데 중요한 단계가 될 수 있다. 그러나, 기간이 짧고 로그 변환 후 결과 값과 차이가 미비하며, 세 분야의 시도표가 어느 정도의 추세와 순환의 방향을 갖는 것으로 판단하여 로그 변환 없이 분석을 진행했다.

 

2. 자기 상관 함수(Autocorrelation Function)와 편자기 상관 함수(Partial Autocorrelation Function)

왼쪽: KOSDAQ Semiconductor 지수 ACF & PACF / 오른쪽: KOSDAQ Food Beverage & Tobacco 지수 ACF & PACF
KOSDAQ Financials 지수 ACF & PACF

자기 상관은 일반적으로 시계열이 과거의 값과 관련이 있다는 것을 의미하지만, ACFlag의 단위와 점 사이의 상관관계를 볼 수 있다. X축에 상관계수가 있는 반면 시차의 수는 y축 내에 있다.

 

편자기 상관은 AR 모형의 차수를 추정하기 위한 방법 중의 하나로, Yt Ytk사이에 있는Yt1,,Yt(k1)의 영향을 제거하고 Yt Ytk 둘 사이의 관계를 파악하는 방법이다따라서, 짧은 시차로 인해서 발생할 수 있는 상관관계의 영향을 제거한 후에 발생할 수 있는 상관관계를 파악하기 위해 활용한다.

 

3. 1차 차분

 

왼쪽:  KOSDAQ Semiconductor 지수 1차 차분 & ACF / 오른쪽: KOSDAQ Food Beverage & Tobacco 지수 1차 차분 & ACF
KOSDAQ Financials 지수 1차 차분 & ACF

시계열 도표에서 2개 이상의 연속되는 기간에 랜덤 점프가 존재하기 때문에 1차 차분을 한다. 랜덤 점프는 ARIMA 모델에서 오류를 발생시킬 수 있으며, MA 모형에 지연이 발생할 수 있다. 따라서, 지수 평활과 같이 랜덤 점프를 매끄럽게 하기 위해 차분을 진행한다.

 

  • 섹터별 해석 및 예측

1. KOSDAQ Semiconductor 데이터 해석

Call:
arima(x = kd_sc.ts, order = c(0, 1, 0))
 
sigma^2 estimated as 9129: log likelihood = -209.25, aic = 420.5

위의 결과에 따르면, ARIMA 모델은 (0, 1, 0)으로 비정상 시계열일 때, 가장 기본인 랜덤워크 모델이라는 것을 알 수 있다.

Box-Ljung test
 
data: kd_sc.arima$residuals
X-squared = 0.0022066, df = 1, p-value = 0.9625

모형의 타당성을 판단하기 위해 모형의 잔차를 이용하여 카이제곱 검정방법으로 시계열 모형이 적절한지 검정하는 방법으로 Box-Ljung Test를 시행했다. p-value0.96250.05이상이므로 위의 ARIMA 모델이 통계적으로 적절하다고 볼 수 있다.

  Forecast
<dbl>
Lo 80
<dbl>
Hi 80
<dbl>
Lo 95
<dbl>
Hi 95
<dbl>
Jun 2021 1797.62 1675.176 1920.064 1610.358 1984.882
Jul 2021 1797.62 1624.458 1970.782 1532.791 2062.449
Aug 2021 1797.62 1585.540 2009.700 1473.272 2121.968
Sep 2021 1797.62 1552.731 2042.509 1423.095 2172.145
Oct 2021 1797.62 1523.826 2071.414 1378.889 2216.351
Nov 2021 1797.62 1497.694 2097.546 1338.923 2256.317
Dec 2021 1797.62 1473.663 2121.577 1302.170 2293.070

KOSDAQ Semiconductor 지수 예측

위의 표와 그래프는 202106월부터 202112월까지의 반도체 지수를 예측한 것이다. 6월부터 12월까지 비슷한 지수를 유지하는 추세로 예상되며, 신뢰 구간 사이에서 연말로 갈수록 변화의 폭이 있을 것으로 예측된다.

 

2. KOSDAQ Food Beverage & Tobacco 데이터 해석

 

Call:
arima(x = kd_fbt.ts, order = c(1, 0, 0))
 
Coefficients:
ar1 intercept
0.7308 9896.7228
s.e. 0.1199 400.7584
 
sigma^2 estimated as 451827: log likelihood = -285.84, aic = 577.69

위의 결과에 따르면 ARIMA 모델은 (1, 0, 0)이다.

 

Box-Ljung test
 
data: kd_fbt.arima$residuals
X-squared = 0.10426, df = 1, p-value = 0.7468

모형의 타당성을 판단하기 위해 Box-Ljung Test를 시행했을 때, p-value0.74680.05이상이므로 위의 ARIMA 모델이 통계적으로 적절하다고 볼 수 있다.

 

  Forecast
<dbl>
Lo 80
<dbl>
Hi 80
<dbl>
Lo 95
<dbl>
Hi 95
<dbl>
Jun 2021 10827.34 9965.909 11688.78 9509.893 12144.79
Jul 2021 10576.79 9509.857 11643.73 8945.055 12208.53
Aug 2021 10393.70 9231.812 11555.58 8616.747 12170.65
Sep 2021 10259.90 9050.356 11469.44 8410.063 12109.73
Oct 2021 10162.12 8927.882 11396.36 8274.516 12049.73
Nov 2021 10090.67 8843.441 11337.89 8183.199 11998.14
Dec 2021 10038.45 8784.344 11292.56 8120.460 11956.44

KOSDAQ Food Beverage & Tobacco 지수 예측

위의 표와 그래프로 볼 때, 식음료와 담배 같은 소비재의 경우 20216월부터 하락하는 추세로 202112월까지 점진적으로 하락 추세가 이어질 것으로 보인다.

 

3. KOSDAQ Financials 데이터 해석

 

Call:
arima(x = kd_fin.ts, order = c(0, 2, 1))
 
Coefficients:
ma1
-0.8178
s.e. 0.0947
 
sigma^2 estimated as 3812: log likelihood = -188.98, aic = 381.96

 

위의 결과로 볼 때, 금융 지수 ARIMA 모델은 (0, 2, 1)이다.

Box-Ljung test
 
data: kd_fin.arima$residuals
X-squared = 0.59019, df = 1, p-value = 0.4423

모형의 타당성을 판단하기 위해 Box-Ljung Test를 시행했을 때, p-value0.4423으로 0.05이상이므로 위의 ARIMA 모델이 통계적으로 적절하다고 볼 수 있다.

 

  Forecast
<dbl>
Lo 80
<dbl>
Hi 80
<dbl>
Lo 95
<dbl>
Hi 95
<dbl>
Jun 2021 1312.128 1232.998 1391.257 1191.109 1433.146
Jul 2021 1375.735 1253.209 1498.262 1188.347 1563.124
Aug 2021 1439.343 1276.035 1602.651 1189.585 1689.102
Sep 2021 1502.951 1298.873 1707.029 1190.841 1815.061
Oct 2021 1566.559 1320.869 1812.248 1190.809 1942.308
Nov 2021 1630.166 1341.668 1918.665 1188.946 2071.387
Dec 2021 1693.774 1361.105 2026.443 1185.001 2202.547

KOSDAQ Financials 지수 예측

위의 표와 그래프에 따르면, 금융 지수는 20216월부터 202112월까지 추세적으로 상승할 것으로 예측된다. 위의 소비재 지수 예측과는 반대로 점진적으로 상승하는 추세의 그래프를 볼 수 있다.

 

  • 결론

분석에서 3개의 분야에서 3년간의 데이터를 추출하여 ARIMA 모델을 활용하여 주가 예측을 했다. 분석도구는 R 프로그래밍을 사용하였으며, 20216월부터 202112월까지 월간 주가 데이터를 예측했다. 분석에 따르면, 반도체 주가 지수는 20216월부터 비슷한 수준으로 횡보할 것으로 보인다. 반면, 소비재와 금융 주가는 상반된 추세를 보이며, 소비재 지수는 202112월까지 추세적 하락을 하고 금융 지수는 202112월까지 추세적 상승을 이룰 것으로 예측된다.

 

분석 후 6월 7월 두 달간의 주가와 예측 주가 간의 비교를 해보았다. 주가는 각각 반도체(6월: 1,903.75/ 7월: 1,896.47), 소비재(6월: 11,593.94/ 7월: 11,539.59 ), 금융(6월: 1,186.03/ 7월: 1,189.60)으로 예상 값과 정확히 일치하지는 않지만 신뢰구간 안에 들어오며, 비슷한 추세를 보이고 있다. 주가 데이터는 경제, 정치 등 다양한 상황에 영향을 받는다는 점을 고려해야 한다. 따라서, 과거의 주가를 기준으로 예측한 본 분석의 결과 값이 신뢰 구간 안에서의 방향성을 따른다는 것과 ARIMA 모형을 사용하여 주가 데이터를 예측했다는 점에 의의를 둔다. 

 

주가를 분석하기 위해 회귀 방법론, 지수 평활, GARCH 등을 모델을 적용 할 수 있으므로 더 높은 예측을 위해 향후 모델 간 정확도를 상세히 연구해 볼 만한 가치가 있다.

 

분석한 R코드는 아래 github에 저장되어 있습니다 :)

https://github.com/LydiaRyu/Finance-Data/blob/main/KOSDAQ_prediction_ARIMA.R

 

LydiaRyu/Finance-Data

Contribute to LydiaRyu/Finance-Data development by creating an account on GitHub.

github.com

 

728x90