ML 모델은 fandomforest를 사용하였다.
예측 모델이 사용하는 변수들 중 어떤 요소가 결과에 가장 큰 영향을 미치는지를 분석한 그래프이다. 변수의 중요도를 시각화하여 모델의 의사결정 과정을 이해하는 데 도움을 준다.
- 가장 중요한 변수:
- Price는 예측 모델에서 가장 중요한 변수로, 주가 데이터가 모델의 성능에 핵심적인 영향을 미친다.
- Vol(거래량)은 시장 움직임을 반영하며, 주가 변동성과 관련된 정보를 제공한다.
- Change(변화율)는 주간 주가 변화의 크기를 나타내며, 중요한 의사결정 변수로 작용한다.
- 중간 정도의 중요도를 가진 변수:
- Search(검색량)는 사람들이 특정 주식에 얼마나 관심을 가지는지를 나타내며, 투자 심리와 연관성이 높다.
- positive_score와 negative_score는 감성 분석 점수로, 뉴스나 소셜 미디어의 긍정적/부정적 영향을 반영한다.
- 중요도가 낮은 변수:
- sentiment_ma3와 sentiment_ma5는 감성 점수의 이동 평균으로, 상대적으로 낮은 중요도를 기록한다.
이 분석은 데이터 기반 투자 모델이 어떤 변수에 의존하는지를 파악하여 더 나은 예측과 분석을 가능하게 한다.
랜덤포레스트 모델의 성능을 평가한 결과를 보여준다. 여기서 클래스 1은 주가 상승을 예측한 경우, 클래스 0은 주가 하락을 예측한 경우를 의미한다. 주요 성능 지표인 Precision, Recall, F1-score, Accuracy를 통해 모델의 예측 성능을 분석한다.
클래스별 평가
- 클래스 0 (하락 예측):
- Precision (0.82):
모델이 하락으로 예측한 데이터 중 실제로 하락한 데이터의 비율을 나타낸다. 높은 Precision 값은 모델이 하락 예측에 있어 정확하게 판단하고 있음을 의미한다. - Recall (0.73):
실제로 하락한 데이터 중에서 모델이 이를 올바르게 예측한 비율이다. Recall 값이 73%로, 하락 데이터 중 일부를 놓치는 경향이 있음을 보여준다. - F1-score (0.77):
Precision과 Recall의 조화 평균으로, 하락 예측에 대한 전반적인 성능이 안정적임을 보여준다.
- Precision (0.82):
- 클래스 1 (상승 예측):
- Precision (0.71):
모델이 상승으로 예측한 데이터 중 실제로 상승한 데이터의 비율이다. Precision 값이 하락 예측보다 낮아, 상승 예측에 대한 정확성이 상대적으로 부족하다. - Recall (0.76):
실제로 상승한 데이터 중에서 모델이 이를 올바르게 예측한 비율이다. Recall 값이 76%로, 상승 데이터 탐지에 비교적 강점을 가진다. - F1-score (0.73):
상승 예측의 전반적인 성능을 나타내며, Recall과 Precision 간 균형을 보여준다.
- Precision (0.71):
모델의 전체 성능
- Accuracy (0.77):
- 전체 데이터 중 모델이 올바르게 예측한 비율이다. 모델이 상승 및 하락 모두에 대해 약 77%의 정확도로 예측하고 있음을 보여준다.
- Macro Average:
- 각 클래스(상승/하락)의 Precision, Recall, F1-score의 단순 평균 값이다.
- Precision: 0.76, Recall: 0.74, F1-score: 0.75로 클래스 간 균형 있는 성능을 보여준다.
- Weighted Average:
- 클래스별 데이터 비율을 반영한 평균 값이다. 하락 데이터가 더 많다면 하락 예측 성능이 더 큰 가중치를 가지게 된다.
- Weighted Precision: 0.77, Weighted Recall: 0.74, Weighted F1-score: 0.75로, 데이터 분포에 따른 모델 성능을 고려한 결과를 제공한다.
평가 결과 분석
- 모델은 하락 예측(클래스 0)에 비해 상승 예측(클래스 1)의 Precision이 낮아, 상승 예측에서 다소 오류를 포함할 가능성이 있다.
- Recall 값은 상승 예측(0.76)이 하락 예측(0.73)보다 높아, 모델이 상승 신호를 탐지하는 데 상대적으로 강점을 보인다.
- F1-score는 하락(0.77)과 상승(0.73)의 차이가 크지 않으며, 전반적으로 균형 잡힌 성능을 보여준다.
활용 방안
- 만약 보수적인 투자 전략을 원한다면, Precision이 높은 하락 예측 결과를 활용하여 손실 가능성을 줄이는 방향으로 전략을 수립할 수 있다.
- 상승 신호에 민감하게 대응하려면 Recall 값이 높은 상승 예측을 참고하여 포지션을 설정할 수 있다.
- 전체적으로 Accuracy가 77%로 안정적인 성능을 보이며, 데이터 기반으로 투자 결정을 내리는 데 충분히 활용 가능한 모델이다.
이 결과를 바탕으로 랜덤포레스트 모델이 시장 예측 및 투자 전략 수립에 신뢰성 있는 도구로 활용될 수 있음을 확인할 수 있다.
- 조건 충족 데이터:
- 예를 들어, 2024-08-25 주차는 검색량 19, 주가 208.63, 그리고 SUM_P 값이 10으로 조건을 충족한다.
- 반면 SUM_P 값이 9 이하인 주차는 분석에서 제외되었다.
- 필터링의 효과:
- 조건에 따라 데이터가 줄어들지만, 분석에 사용되는 데이터의 신뢰도는 높아지며, 투자 대상 선정 시 더 높은 정확도를 기대할 수 있다.
여기서 sum_p는
모델의 예측 투자 수익률과 기준 투자 수익률(Baseline)을 비교한 결과를 나타낸다. 이를 통해 데이터 기반 투자 모델이 얼마나 효과적인지를 확인할 수 있다.
- 예측 투자 수익률(Predicted Return):
- 전체 평균 수익률은 17.229%로 높은 성과를 기록한다.
- 최근 5주 평균 수익률은 12.048%, 최근 25주 평균 수익률은 14.400%로, 단기 및 장기 투자 모두에서 성과를 보인다.
- 기본 투자 수익률(Baseline Return):
- 단순 투자 전략에서의 전체 평균 수익률은 5.274%로, 모델의 예측 수익률에 비해 약 3배 낮다.
- 최근 5주 평균은 2.308%, 최근 25주 평균은 6.942%로, 모든 기간에서 예측 모델보다 낮은 성과를 보인다.
- 비교 결과:
- 모델의 예측 투자 수익률이 기준 투자 수익률을 크게 초과하며, 이는 데이터 기반 투자 전략의 효과를 입증한다.
이 결과는 감성 분석과 데이터 모델링이 금융 시장에서 실질적인 성과를 낼 수 있음을 보여준다. 데이터 기반으로 투자 전략을 설계하는 것이 시장 변화에 적응하고 높은 수익을 창출하는 데 큰 도움이 될 수 있다.