Hedger

cdc wiki
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : Hedger : 금융 정보 제공 및 투자 제안 시스템

영문 : Hedger : Financial Information Provision & Investment Proposal System

과제 팀명

HEDGER : 종합 금융 정보 플랫폼

지도교수

김민호 교수님

개발기간

2020년 9월 ~ 2020년 11월 (총 3개월)

구성원 소개

서울시립대학교 컴퓨터과학부 2015XXX0** 최석용(팀장)

서울시립대학교 컴퓨터과학부 2015XXX0** 정현학

서울시립대학교 컴퓨터과학부 2015XXX0** 이정준

서울시립대학교 컴퓨터과학부 2015XXX0** 이승윤

서론

개발 과제의 개요

개발 과제 요약

◇ 이해하기 어려운 금융 정보를 사용자에게 직관적으로 전달한다.

◇ 사용자는 애플리케이션을 이용해 다양한 종류의 금융상품 정보에 쉽게 접근하고 비교할 수 있다.

◇ API를 통해 믿을 수 있는 예금, 적금, 배당금, 채권, ELS/DLS 정보를 제공한다.

◇ 주식 종목의 보조지표를 작성하고 이를 통한 매매신호 시스템을 제안한다.

개발 과제의 배경

◇ 0%대 예금 금리, 유동성이 증가하면서 개인 투자가 늘어나고 있다.

◇ 금융 정보의 비대칭성으로 인해 개인 투자자들의 정보 격차가 커지고 있다.

◇ 기존 애플리케이션과 달리 다양한 금융상품 정보를 아울러 전달한다.

개발 과제의 목표 및 내용

◇ 스마트폰 애플리케이션으로 정보 전달 및 추천을 통해 개인 투자를 활성화한다.

◇ ELS/DLS 데이터 수집: 고위험 상품의 위험성과 수익성, 발행사와 기초자산 정보를 제공한다.

◇ 배당금 정보 수집: 배당금 정보를 수집하고 주식 데이터와 연계해 수익률과 위험도를 제공한다.

◇ 예금/적금 정보 수집: 공시된 예금/적금 상품 데이터를 수집하고 사용자가 비교할 수 있게 한다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황

◇ 딥러닝을 이용한 주가 예측 모델(숭실대학교 대학원)

◇ 기술적 분석지표와 딥러닝을 활용한 주가 예측 기법(한국정보기술학회 2018년도 공동학술대회)

◇ 주가이동평균선을 이용한 기술적 분석의 효과(금융공학연구 1권 0호)

◇ 보조지표를 활용한 주식 및 상품 투자 가격 예측 시스템 및 방법(1020200005526)

◇ 기술적 지표를 활용한 추천 종목 선정 방법 그를 위한 시스템(102018005720)

◇ 딥러닝과 기술적 분적을 통해 주식 종목을 추천하는 다양한 모델이 이미 존재한다.

◇ "기술적 지표를 활용한 추천 종목 선정 방법 그를 위한 시스템"은 본 프로젝트에서 사용한 보조지표 생성 방법과 유사하다.

◇ 단순한 금융상품 지표 또는 주가예측 뿐만 아니라 차별화 요소에 집중해야 한다.

  • 특허조사 및 특허 전략 분석

Hedger patent.png

◇ 보조지표를 활용한 주식 및 상품 투자 가격 예측 시스템 및 방법

◇ "기술적 지표를 활용한 추천 종목 선정 방법 그를 위한 시스템"

◇ "기술적 지표를 활용한 추천 종목 선정 방법 그를 위한 시스템"(기존 특허)과 유사하지만, 차별화 요소를 포함한다.

◇ 기존 특허의 "종목 선정부"는 단순히 시큘레이션부를 통해 산출된 결과를 후처리 없이 그대로 사용한다.

◇ 우리 모델은 기존특허의 "시뮬레이션부"와 "종목 선정부" 사이 모듈을 추가한다.

◇ 추가한 모듈은 시뮬레이션부에서 산출된 지표와 종목의 적합도를 계산해 가중치를 부여한다.

◇ 적합도는 해당 지표가 실제 주가와 얼마나 적합하는지 나타낸다.

◇ 어떤 보조지표를 얼마나 결과에 반영하여 신호를 생성할 것인지 결정하는 것이 우리 모델의 차별점이다.

  • 기술 로드맵

Hedger robo.png

◇ 최신 서비스 모델은 Robo Advisor 이다.

◇ Hedger는 디지털화로 기술적 분석을 제공하지만 사용자가 직접 투자를 관리해야 한다.

시장상황에 대한 분석

  • 경쟁제품 조사 비교

Hedger table.png

◇ Hedger는 경쟁상품보다 더 많은 종류의 금융상품 정보를 제공한다.

◇ 투자 포트폴리오 관리 기능이 미흡하다.

  • 마케팅 전략 제시

Hedger swot.png

◇ 경쟁 상품이 갖추지 못한, 사용자에게 필요한 다양한 상품의 종합적인 데이터를 제공한다.

◇ 배당주 정보 전달 기능과 매매 제안 기능을 모두 구현한다.

◇ 분석 과정을 공개하여 신뢰도를 향상시킨다.

개발과제의 기대효과

기술적 기대효과

◇ 예금, 적금, 배당금 채권, 파생결합상품의 위험도와 수익률을 한 애플리케이션에서 비교할 수 있어서 사용자의 금융상품 선택 폭이 넓어졌다.

◇ 주식 차트의 파라미터 학습을 통해, 각 지표 파라미터의 최적값을 찾아내고 이를 이용하여 생성한 신호를 투자자들이 참고할 수 있다.

경제적, 사회적 기대 및 파급효과

◇ 금융상품에 대한 정보 접근성을 향상시켜 금융정보 비대칭 해소에 기여할 수 있다.

◇ 예금/적금보다 더 좋은 수익률을 보이는 다른 금융상품을 비교하며 찾을 수 있으므로 금융투자 활 성화에 기여할 수 있다.

◇ ELS/DLS 상품의 경우 공시사이트의 API를 통해 정확하도 통합된 데이터를 수집하여 출력하므로 최 근 발행 된 모든 증권사의 상품을 간편하게 확인할 수 있다.

기술개발 일정 및 추진체계

구성원 및 추진체계

◇ 지도교수: 컴퓨터과학부 김민호교수님

◇ 팀장: 최석용(채권 모듈 & 서버, DB)

◇ 팀원: 이승윤(ELS/DLS 모듈 & 서버)

◇ 팀원: 이정준(예금/적금 모듈 & 주식 신호 생성 & 앱)

◇ 팀원: 정현학(매당금 모듈 & 앱)

설계

설계사양

제품의 요구사항

Hedger rq.png

◇ F1: 각 금융상품 데이터를 수집할 수 있는 API를 통해 주기적으로 금융정보를 수집한다. [목표: 각 상품의 모든 데이터가 일치하는 경우 25%씩, 총 100%)

◇ F2: 금융상품의 위험도와 수익률을 생성한다.

◇ F3: 주식 종목의 보조지표를 최적화하고 매매신호를 생성한다.

시스템 사양

Hedger system.png

개념설계안

Hedger uml.png

이론적 계산 및 시뮬레이션

◇ MACD = EMA_12 - EMA_26

◇ Signal = sigma{1, n}(MACD_t) (n = 9)

◇ Oscillator = MACD - Signal

◇ 매매신호 = 최적화 된 파라미터로 작성한 지표 * 지표의 가중치

◇ 채권 및 ELS/DLS 위험도: 금융투자협회 가이드라인 참고하여 1~5등급으로 분류가능

◇ 은행 위험도 = (1.1)^(10-BIS자기자본비율) * 고정이하여신비율

◇ 배당금 위험도 = 1개월 수익률의 표준편차를 1년 단위로 확장 (주가 변동성)

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

◇ 홈 화면

Hedger screen1.png

◇ 배당금 정보 확인

Hedger screen2.png

◇ 예금/적금 정보 확인

Hedger screen3.png

◇ 채권, ELS/DLS, 매크로 지표 정보 확인

Hedger screen4.png

◇ 주식 매매신호 확인

Hedger screen5.png

포스터

https://play.google.com/store/apps/details?id=com.uosselab.hedger

Hedger post.png

관련사업비 내역서

Hedger m.png

완료작품의 평가

Hedger res.png

※ 1. 데이터 일치성 항목에 관해

- 배당금 데이터의 종목 중 주식을 배당하는 일부 종목 데이터가 누락되었다.

※ 2. 응답속도 항목에 관해

- 가장 지연된 기능은 주가 차트 생성 기능이다.

※ 3. 수익률 항목에 관해

- 평가는 12월 9일의 신호(BS)를 바탕으로, 9일의 종가와 16일의 종가를 비교

- 수익률은 (16일 종가-9일 종가) / (9일 종가)로 계산

- BS > 0으로, 매수신호가 있는 종목의 경우, 약 2.19%의 수익률을 보였다.

- BS > 0.5로, 높은 매수신호가 있는 종목의 경우, 약 3.25%의 수익률을 보였다.

- 최대 수익률을 보인 종목은 ‘조이시티’로, 12월 9일 종가 19300원일 때 0.78의 높은 신호를 보였고, 12월 16일 종가 28450원으로 약 47%의 수익률을 보였다.

- 반면, BS > 0.5인 종목 중 최대 손실률을 보인 종목은 ‘디엔에이링크’로 0.76의 높은 신호를 보였으나, 12월 9일 종가 12000원, 12월 16일 종가 10800원으로, 10%의 손실을 보였다.

향후계획

어려웠던 내용

◇ 주식시장 개장일에 맞춘 타임스케일이 적용된 그래프를 구현하기 어려운 문제가 있다. - 현재 날짜는 정확하지만 주가 차트로서는 부자연스러운(끊긴) 차트를 생성하고 있다.

◇ 차트 모듈의 성능 문제가 있다 - 앱에서 차트를 조작하는 기능을 삭제하여 주가 그래프와 상호작용하지 못한다.

◇ 개발 중간 과정에서는 노출되지 않았던, 모바일 환경에서는 작동하지 않는 모듈이 있었다. - 대체 모듈을 찾아서 프로그램을 재작성하였다

◇ Backend개발 중, App -NodeJS - DBMS 통신이 원활하지 않은 문제가 있었다 - 주기적으로 정형화된 데이터 형식(csv 등) 으로 변환하여 텍스트 형식으로 앱에 전달하였다.

◇ 데이터 수집 시 html에서 필요한 부분을 직접 추출하는 과정이 어렵다.

◇ 보조지표 파라미터 학습 과정에 시간이 상당히 소요된다.

◇ React Native에서 앱 작성 시, 스타일시트가 예상대로 적용되지 않는 어려움이 있었다

◇ npm을 사용한 모듈 다운로드 및 협업 개발시, Dependency 문제가 빈번하게 발생했다


차후 구현할 내용

◇ UI를 개선한다. (버튼 피드백 강화, 리스트 항목 크기 고정, 정렬 버튼 항상 노출 등)

◇ 매일 생성될 데이터를 서버에서 자동으로 수집하고 업데이트 하도록 변경한다.

◇ 주식 매매신호 분석 과정에서 생성되는 가짜 신호르 제거한다.

◇ Linux에 설치한 서버를 Amazon EC2로 옮긴다.

◇ DB를 직접 연결하는 등 동적 웹을 만드는 Web Application Server를 위한 Tomcat을 적용한다.

◇ 수동 포트폴리오 작성 기능을 추가하여 지속적인 투자 관리가 가능하도록 한다.

◇ 각 메뉴마다 설명 팝업을 추가한다.