Skip to content

TwinKay/Portfolio_Optimization_Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 

Repository files navigation

포트폴리오 최적화 분석기

  • 2022년 1학기 연세대학교 미래캠퍼스 '현대파생상품시장' 강의를 수강하며 진행한 개인 프로젝트입니다.

개요

  • PyQt5의 GUI를 통해 일반인도 포트폴리오 최적화를 손쉽게 구현해낼 수 있도록 하였음
  • 더 나아가 해당 포트폴리오 종목 구성에 맞게 자동 매수 주문을 도와준다.

전략 구현에 사용한 이론

포트폴리오 선택 이론

  • 분산 투자를 통해 리스크를 감소시키기 위함
  • 변동성(리스크) 대비 기대수익률을 최대화하여 이용자가 효율적 포트폴리오를 구성하도록 하기 위함
  • 기대 수익률과 투자자산 수익률의 표준편차를 계산하기 위함

샤프 지수

  • Sharpe Ratio = (투자수익률 – 무위험수익률)/투자자산 수익률의 표준편차
  • 샤프 지수가 제일 높은 포트폴리오를 사용자에게 추천해주고 자동 매수까지 할 수 있도록 도와준다.

요구사항

  • Python (32-bit) (Windows) - 키움 증권 및 국내 증권사 api는 32비트 환경에서만 지원됩니다. 또한 COM을 기반으로 서비스하기 때문에 윈도우 환경 내에서만 작동 가능합니다. (가상환경을 통해 실행 가능합니다.)
  • 키움증권 계좌 - 모의투자 계좌 또한 사용 가능합니다.

Example

20220831_220047

  • 자세한 설명은 설명 영상을 참고 바랍니다. (추후 수정 후, 재업로드 예정)

사용법

로그인 및 비밀번호 저장

  • 자동 매수를 이용하지 않는다면 로그인은 필수가 아닙니다.

  • 비밀번호 저장(자동 로그인)은 필수가 아닙니다.


종목코드 재입력

  • 리셋 버튼를 누를 시, 투자금은 초기화되지 않습니다.

분석

  • 데이터 수집은 5배속 재생으로 해당 gif보다 느립니다.

자동 매수

  • 증시 거래시간에 자동 매수 버튼을 누르면 자동으로 주문이 접수됩니다.
  • 영웅문을 통해 확인 가능합니다. (설명 영상 참고)

설명 영상

Video Label

https://youtu.be/EjKVDwwPh-0

한계 및 보완점

  • 그래프 1의 샤프 지수에 대한 컬러바를 구현하지 못하였음
  • 그래프 2의 종목 수가 많을 때 종목 코드명이 겹치는 현상 발생 : if문을 사용해서 종목 수에 맞는 폰트사이즈를 적용할 수 있을 것 같음
  • 종목코드로만 정보를 전달해서 직관적이지 않음 : 종목 딕셔너리를 만들어 이용하면 해결 가능할 것 같음
  • 이용자가 종목 코드를 잘 못 입력했을 시, 종목 리스크에 추가하지 않고 경고문구를 표시하는 것이 필요해 보임
  • 변동성(리스크)를 계산하는데 있어 간단한 방법을 사용했지만, 좀 더 정교한 측정을 통해 보다 나은 포트폴리오 구성이 필요할 것 같음
  • 특정 종목이 상장된 후의 기간이 짧다면 정보가 부족하여 좋지 못한 결과를 낼 수 있다. : 해당 종목이 선택되었을 때 경고문구를 표시하는 것이 필요해 보임

참고 자료

  • Thomas E. Copeland, J. Fred Weston, & Kuldeep Shastri, 「Financial theory and corporate policy」, Addison-Wesley, 2007, P101~145

About

포트폴리오 최적화 분석기

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages