Home [오픈 소스 기반 데이터 분석] 15강 - 시계열 데이터 분석
Post
Cancel

[오픈 소스 기반 데이터 분석] 15강 - 시계열 데이터 분석

💡해당 게시글은 방송통신대학교 정재화 교수님의 '오픈 소스 기반 데이터 분석' 강의를 개인 공부 목적으로 메모하였습니다.



학습 개요


  • 시계열 데이터는 시간의 흐름에 따라 순차적으로 기록된 관측 값들의 집합으로, 다른 일반적인 데이터와 달리 시간적 의존성이라는 고유한 속성을 지님
  • 과거의 데이터가 현재와 미래에 영향을 미칠 수 있기 때문에, 시계열 데이터는 특별한 전처리 및 분석 방식이 필요하며 예측 정확도 향상을 위해서는 데이터의 시간 구조를 고려한 기법이 요구 됨
  • 시계열 데이터의 개념과 기본 특성을 이해하고 이를 기반으로 한 주요 분석 기법들을 학습함
  • 기술적 지표를 통해 시장의 추세와 모멘텀을 분석하고 매수 · 매도 조건을 설정하는 거래 신호 전략을 설계함
  • 이를 기반으로 시뮬레이션 된 포지션 유지 및 진입 전략을 수립하고 결과를 백테스팅을 통해 검증함
  • Prophet 프레임워크를 활용하여 시계열 데이터의 예측 모델을 학습하고 평가하는 실습을 진행함
  • 마지막으로 GBRT 기법을 적용하여, 잔차 기반의 반복 학습을 통해 비선형적 패턴까지 포착하는 고급 예측 모델링 전략을 경험함



학습 목표


  • 시계열 데이터의 특성과 구성 요소(추세, 계절성, 주기성, 불규칙성)를 이해할 수 있음
  • 기술적 지표를 기반으로 매매 신호를 생성하고 간단한 투자 전략을 개발하여 백 테스팅할 수 있음
  • Prophet 모델을 활용하여 시계열 데이터의 추세 및 계절성을 모델링하고 단기 주가 예측을 수행할 수 있음
  • 머신러닝 기법인 GBRT를 이용하여 주가 예측 모델을 구축하고 성과를 평가할 수 있음



강의록


시계열 데이터 분석

시계열 데이터 분석의 이해

  • 시계열 데이터와 일반 데이터와의 차이점
    • 관측치 간의 시간적 의존성 존재
    • 과거 값이 현재와 미래 값에 영향을 미치는 특성을 가져 특별한 분석 방법이 필요
  • 시계열 데이터 분석의 정의
    • 일정한 시간 간격으로 수집 된 연속적인 데이터의 집합
    • 시간의 흐름에 따라 순차적으로 기록되는 값들로 구성
  • 날씨 예보, 전력 수요 예측, 경제 지표 분석, 웹 트래픽 모니터링, 주가 예측 등 다양한 영역에 응용

시계열 데이터의 4가지 특징

  • 추세(trend)
    • 데이터의 장기적인 상승 또는 하락 패턴
    • 전반적인 방향성을 나타내며 시계열의 기본 골격을 형성
  • 계절성(seasonality)
    • 일정한 시간 주기로 반복되는 패턴
    • 일별, 주간, 월간, 연간 등 고정된 주기로 나타나는 변동
  • 불규칙성(irregularity)
    • 예측 불가능한 무작위적 변동으로 설명할 수 없는 노이즈
  • 주기성(cyclicality)
    • 계절성보다 긴 기간에 걸쳐 나타나는 주기적 변동

주가 데이터 분석 기술적 지표

  • 이동 평균(MA: Moving Average)
    • 일정 기간 동안의 가격 평균을 계산하여 단기 변동성을 완화하고 중장기적 추세를 파악하는 지표
      • 50일, 200일 이동평균선이 대표적
    • rolling() 메소드
      • 시계열 데이터에서 연속적인 윈도우를 생성
    • mean() 메소드
      • 해당 윈도우 내 모든 값의 평균을 계산

      image.png

  • 상대 강도 지수(RSI, Relative Strength Index)
    • 특정 기간 동안의 상승 폭과 하락 폭의 상대적 강도를 측정하는 모멘텀 오실레이터
    • RSI = 100 - (100 / (1 + 평균 상승 폭 / 평균 하락 폭))

      image.png

거래 신호 생성과 포지션 전략

  • 매수 신호 조건
    • 골든 크로스
      • MA50이 MA200을 상향 돌파
    • RSI 반등
      • RSI가 30 이하에서 30 위로 상승
  • 매도 신호 조건
    • 데드 크로스
      • MA50이 MA200을 하향 돌파
    • RSI 반락
      • RSI가 70 이상에서 70 아래로 하락
  • 포지션 생성 전략
    • 신호 지연 적용
      • 현실적 거래 상황 모사
    • 포지션 유지
      • 새로운 신호 발생 전까지 기존 상태 유지
    • 초기 포지션
      • 분석 시작 시점에서의 기본 상태 설정

백 테스팅(back testing)

  • 정의
    • 과거 데이터를 통해 투자 전략의 효과성을 검증하는 과정
    • 실제 시장에 적용하기 전 전략의 수익성과 위험을 평가
  • 수익률 계산 방법
    • 일별 수익률 계산 및 복리 효과 반영
  • 한계점 고려
    • 과거 성과가 미래 성과를 보장하지 않음
    • 데이터 스누핑 편향(data snooping bias)
      • 동일한 데이터 셋을 반복적으로 탐색하거나 여러 모델 비교 시, 우연히 통계적으로 유의미해 보이는 결과가 선택되는 현상

Meta Prophet

  • 시계열 데이터의 추세, 계절성, 휴일 효과를 자동으로 포착하여 미래x값을 예측하는 프레임워크
  • 전통적인 시계열 방법론과 달리 베이지안 접근법을 활용하여 각 구성 요소를 추정
    • 결측 값, 추세 변화, 특이점 등에 강건한 특성을 보유

GBRT(Gradient Boosting Regression Trees)

  • 기계 학습에서 약한 예측 모델을 여러 개 결합하여 강한 예측 모델을 만드는 앙상블 기법 중 하나
  • 이전 모델이 예측하지 못한 오차(residual)를 다음 모델이 보완하도록 하는 것

    image.png

실습 프로젝트

  • S&P500 지수 데이터를 수집, 전처리, 분석하여 간단한 투자 전략을 개발
    • 시계열 데이터 특유의 분석 기법을 적용
    • 예측 모델을 구축하여 미래 가격 움직임을 예측

    | 단계 | 주요 내용 | | — | — | | 1. 데이터 수집 | - yfinance를 이용한 데이터 수집

    • 데이터 구조 이해  
       2. 금융 시계열 분석- 기술적 지표 계산 (이동평균, RSI)
    • 거래 신호 생성 및 거래 전략 구성
    • 백테스팅  
       3. Prophet 기반 예측- 단기 주가 예측 모델 학습 및 평가
       4. GBRT 기반 예측- 특성 변수 설계 및 예측 모델 학습
    • 예측 기반 투자 전략 및 백테스팅



연습 문제


  1. 시계열 데이터의 주요 구성 요소에 해당한다고 할 수 없는 것은?

    a. 분산성

    • 시계열 데이터의 주요 구성 요소
      • 추세
      • 계절성
      • 불규칙성
  2. 이동 평균(MA)의 주요 목적은 무엇인가?

    a. 시계열 내 노이즈 제거 및 추세 파악

  3. 데이터 스누핑 편향(data snooping bias)의 주요 원인은?

    a. 동일한 데이터셋 반복 사용



정리 하기


  • 시계열 데이터는 시간의 흐름에 따라 순차적으로 수집 된 데이터로 추세, 계절성, 주기성, 불규칙성의 특징이 있음
  • 금융 시계열 분석은 과거 데이터 기반으로 주가의 움직임을 분석하고 투자 전략 수립과 평가에 적용되는 기술적 분석의 방법론임
  • 기술적 지표는 과거 가격과 거래량 데이터를 수학적으로 가공하여 얻은 값으로 시장의 추세, 모멘텀, 변동성 등을 파악하는 데 사용 됨
  • 이동 평균, RSI 등의 기술적 지표를 계산하고 시장의 추세 및 모멘텀을 분석 함
  • Meta가 개발한 Prophet 모델은 시계열 데이터를 추세, 계절성, 휴일 효과로 분해하여 예측하는 프레임워크임
  • GBRT는 앙상블 학습 기반의 머신러닝 기법으로, 잔차를 반복 학습하여 비선형적 패턴을 효과적으로 모델링함
Contents

[클라우드 컴퓨팅] 14강 - 일기 예보 전송 서비스 구현

[클라우드 컴퓨팅] 15강 - 셀프 체크