MACD 프로젝트

이선태·2021년 5월 27일

개요

  • 자동으로 수집한 KOSPI, KOSDAQ, NASDAQ 등 국내외 시장 데이터로부터 MACD를 활용한 매수/매도 시그널을 도출함
  • 시그널이 도출된 종목에 기술적 지표를 적용한 결과를 차트로 나타내었다.

데이터 소스

  • 연합인포맥스 & Excel

대상 종목

  • KOSPI200, KOSDAQ150, NASDAQ100, NIKKEI225 등 대표 지수에 포함된 종목
  • 국내외 상장 ETF
  • 지수, 통화, 금속 등 선물 종목

추가 예정

사용 라이브러리

  • Pandas, Backtesting.py, TA-Lib, PyQt5, Openpyxl, Win32com, PyInstaller

사용 기술적 지표

  • MACD, RSI, Bollinger Bands, TRIX, William's %R, Stochastic (추가 예정)

구현 내역

1. MACD 시그널 도출

  • Pandas를 활용하여 주가 데이터를 읽고, 종목별로 MACD을 계산하여 시그널을 도출하는 함수 작성

2. 데이터 자동 업데이트

  • 연합인포맥스에서 제공하는 Excel Add-in 기능을 Python에서 불러오는 코드를 구현. Excel 파일을
xll_path = "C\Infomax\bin\excel\imxlexcelai.xll"
xl.RegisterXLL(xll_path)
  • Win32com과 Openpyxl 라이브러리를 이용하여 Excel을 수정하는 기능 구현
  • 각 시장과 주기 맞춰 주가 데이터를 자동으로 업데이트 가능

3. 차트 기능

  • 오픈소스 백테스팅 라이브러리인 Backtesting.py를 수정
  • 기술적 지표 차트 생성
  • Golden Cross Points와 Dead Cross Points를 차트에 표시
  • 가격에 따른 Y축 Auto Scaling 기능을 구현

4. 실행파일 생성

  • PyInstaller를 활용하여 .py를 .exe로 변환

5. UI 구현

  • PyQt5 라이브러리를 활용하여 구현한 기능을 종합적으로 사용할 수 있는 UI 구현
  • UI Components와 구현 기능을 연결

실행 화면

  • 초기 화면
    초기화면
  • 데이터 업데이트 화면
    데이터 업데이트 화면
  • MACD 계산 결과 화면
    MACD시그널
  • 차트 화면
    차트
profile
퀀트 트레이딩, 통계에 관심이 많아요

0개의 댓글