2024년, 대학교 4학년 때 진행했던 세미 프로젝트..! 

이걸로 대학 데이터 분석 경진대회 대상을 받았다 ㅎ

전공자들 사이에서 유일한 비전공자로 대상..! 뿌듯하긴 했지만 지금 이 결과물을 보았을때는... 참 창피하다..!

그래도 기록용으로 업로드!

📌 프로젝트 개요

  • 진행 기간: 2024년 7월 ~ 2024년 8월
  • 프로젝트 목적:
    KONEX 시장은 중소기업을 지원하는 제3시장으로 출범했지만, 낮은 유동성 빠른 상장폐지율 등의 문제가 존재합니다.
    본 프로젝트에서는 KONEX 상장기업의 코스닥 이전상장 및 상장폐지를 예측하는 머신러닝 모델을 개발하여
    시장 안정성과 기업 성장 가능성을 평가하고, 투자 리스크를 줄이는 것을 목표로 합니다.

📊 데이터 준비 및 분석

🔹 (1) 사용 데이터

본 프로젝트에서는 재무 및 주가 데이터를 활용하여 KONEX 기업의 시장 동향을 분석했습니다.

  • 사용 데이터 출처: 한국거래소(KRX)
  • 데이터 범위: KONEX 출범(2013년 7월) ~ 2022년
  • 사용한 주요 데이터 유형:
    • 📊 재무 데이터: 총매출액, 순이익, 부채비율, ROE 등
    • 📈 주가 데이터: 거래량, 시가총액, 변동성 등
    • 📌 상장폐지 데이터: KONEX 시장에서 상장폐지된 기업 목록

🔹 (2) 데이터 전처리

 클래스 불균형 해결: SMOTE 방식의 오버샘플링 적용
 데이터 분할: 80% 학습(Train) / 20% 테스트(Test)
 결측치 처리: 재무 데이터의 누락된 값을 적절한 방식으로 보완

🔹 (3) 탐색적 데이터 분석 (EDA)

 이전상장 기업 vs. 상장폐지 기업 비교

  • 📈 이전상장 기업: 매출액 및 영업이익 증가, ROE 상승
  • 📉 상장폐지 기업: 부채비율 200% 이상, 자본잠식 빈번

 업종별 분석

  • 정보통신업 및 과학기술업의 이전상장 비율이 높음
  • 건설업에서는 상장폐지가 가장 많이 발생

 주가 및 거래량 분석

  • 이전상장 기업: 높은 거래량 유지
  • 상장폐지 기업: 거래량 거의 없음, 주가 지속적 하락

🏗 모델링 방법 및 결과

🔹 (1) 머신러닝 모델링 기법

  • 앙상블 학습 (Ensemble Learning)
    • CatBoost, XGBoost, RandomForest 등의 모델을 결합하여 최적의 예측 모델 생성
  • 단일 모델 기반 학습
    • Decision Tree, KNN, Naïve Bayes, SVM 등 개별 모델 평가

🔹 (2) 모델 성능 비교

모델정확도 (Accuracy)FNR (오류율)

Ensemble Voting Model 98.34% 0.017
CatBoost 98.07% 0.02
XGBoost & RandomForest 97.79% 0.023
Naïve Bayes & SVM 60~70% 0.339+

📌 결론: Ensemble Voting Model이 가장 높은 성능을 보이며, 상장폐지 기업을 예측하는 데 최적의 모델임! 🎯


🔍 결론 및 시사점

🎯 주요 변수 중요도

  •  가장 중요한 변수: 평균 거래량(Avg Volume), 매출액 증가율, 부채비율
  •  중요도가 낮은 변수: 평균 종가(Avg Close), 연차

🏆 프로젝트 성과

✅ KONEX 시장에서 기업의 코스닥 이전상장 및 상장폐지를 예측하는 유용한 모델을 개발
✅ 높은 정확도의 머신러닝 모델을 통해 투자 리스크를 낮추고, 기업 성장 가능성을 예측 가능


🔮 향후 연구 방향

📌 KONEX 데이터 부족 문제 해결 (추가 데이터 축적 필요)
📌 상장 시점을 고려한 시계열 분석 기법 추가
📌 다른 증권시장과의 비교 연구 진행


🔮 느낌점

- 일단 결측치가 너무 많았고, 애초에 데이터의 수가 너무 적었다. 그래서 어떤 방법으로 데이터 증강을 할지 고민했는데 결국 smote로 데이터를 증강했다. 증강하고 난 다음에는 파생변수를 어떻게 만들지에 대해서 고민이 많았다. 나는 정치외교학과이기 때문에 경제나 주식 시장 이런 것들에 문외한이었기 때문에 내 경영학과 짱친에게 커피 사주고 밥 사주며 물어가며 파생변수를 만들었던 것 같다.

그 다음 어려움은....! 너무 성능이 잘 나왔다는 것... 깨끗한 데이터들이었기도 하고 그래서 그럴 수 있겠다 싶었지만 전부 Accuracy가 90점이 넘는건... 생각하지도 못했다. 

하지만..? 포기하지 않구..ㅎ 성능을 더 잘 높일 수 있는 방법? 하면서 연계전공 수업시간에서 배운 머신러닝 앙상블을 떠올려서 그 기법을 적용했다. 결론은 앙상블 모델이 성능이 더 잘 나왔다는 것. 

대학원 입학 전 학부시절 치고는 나쁘지 않았던 것 같다. ㅎ

+ Recent posts