"Hedger"의 두 판 사이의 차이
(→경제적, 사회적 기대 및 파급효과) |
(→향후계획) |
||
(같은 사용자의 중간 판 21개는 보이지 않습니다) | |||
128번째 줄: | 128번째 줄: | ||
===기술개발 일정 및 추진체계=== | ===기술개발 일정 및 추진체계=== | ||
− | |||
− | |||
====구성원 및 추진체계==== | ====구성원 및 추진체계==== | ||
− | + | ◇ 지도교수: 컴퓨터과학부 김민호교수님 | |
+ | |||
+ | ◇ 팀장: 최석용(채권 모듈 & 서버, 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을 적용한다. | ||
+ | |||
+ | ◇ 수동 포트폴리오 작성 기능을 추가하여 지속적인 투자 관리가 가능하도록 한다. | ||
+ | |||
+ | ◇ 각 메뉴마다 설명 팝업을 추가한다. |
2020년 12월 20일 (일) 07:17 기준 최신판
프로젝트 개요
기술개발 과제
국문 : 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)
◇ 딥러닝과 기술적 분적을 통해 주식 종목을 추천하는 다양한 모델이 이미 존재한다.
◇ "기술적 지표를 활용한 추천 종목 선정 방법 그를 위한 시스템"은 본 프로젝트에서 사용한 보조지표 생성 방법과 유사하다.
◇ 단순한 금융상품 지표 또는 주가예측 뿐만 아니라 차별화 요소에 집중해야 한다.
- 특허조사 및 특허 전략 분석
◇ 보조지표를 활용한 주식 및 상품 투자 가격 예측 시스템 및 방법
◇ "기술적 지표를 활용한 추천 종목 선정 방법 그를 위한 시스템"
◇ "기술적 지표를 활용한 추천 종목 선정 방법 그를 위한 시스템"(기존 특허)과 유사하지만, 차별화 요소를 포함한다.
◇ 기존 특허의 "종목 선정부"는 단순히 시큘레이션부를 통해 산출된 결과를 후처리 없이 그대로 사용한다.
◇ 우리 모델은 기존특허의 "시뮬레이션부"와 "종목 선정부" 사이 모듈을 추가한다.
◇ 추가한 모듈은 시뮬레이션부에서 산출된 지표와 종목의 적합도를 계산해 가중치를 부여한다.
◇ 적합도는 해당 지표가 실제 주가와 얼마나 적합하는지 나타낸다.
◇ 어떤 보조지표를 얼마나 결과에 반영하여 신호를 생성할 것인지 결정하는 것이 우리 모델의 차별점이다.
- 기술 로드맵
◇ 최신 서비스 모델은 Robo Advisor 이다.
◇ Hedger는 디지털화로 기술적 분석을 제공하지만 사용자가 직접 투자를 관리해야 한다.
시장상황에 대한 분석
- 경쟁제품 조사 비교
◇ Hedger는 경쟁상품보다 더 많은 종류의 금융상품 정보를 제공한다.
◇ 투자 포트폴리오 관리 기능이 미흡하다.
- 마케팅 전략 제시
◇ 경쟁 상품이 갖추지 못한, 사용자에게 필요한 다양한 상품의 종합적인 데이터를 제공한다.
◇ 배당주 정보 전달 기능과 매매 제안 기능을 모두 구현한다.
◇ 분석 과정을 공개하여 신뢰도를 향상시킨다.
개발과제의 기대효과
기술적 기대효과
◇ 예금, 적금, 배당금 채권, 파생결합상품의 위험도와 수익률을 한 애플리케이션에서 비교할 수 있어서 사용자의 금융상품 선택 폭이 넓어졌다.
◇ 주식 차트의 파라미터 학습을 통해, 각 지표 파라미터의 최적값을 찾아내고 이를 이용하여 생성한 신호를 투자자들이 참고할 수 있다.
경제적, 사회적 기대 및 파급효과
◇ 금융상품에 대한 정보 접근성을 향상시켜 금융정보 비대칭 해소에 기여할 수 있다.
◇ 예금/적금보다 더 좋은 수익률을 보이는 다른 금융상품을 비교하며 찾을 수 있으므로 금융투자 활 성화에 기여할 수 있다.
◇ ELS/DLS 상품의 경우 공시사이트의 API를 통해 정확하도 통합된 데이터를 수집하여 출력하므로 최 근 발행 된 모든 증권사의 상품을 간편하게 확인할 수 있다.
기술개발 일정 및 추진체계
구성원 및 추진체계
◇ 지도교수: 컴퓨터과학부 김민호교수님
◇ 팀장: 최석용(채권 모듈 & 서버, DB)
◇ 팀원: 이승윤(ELS/DLS 모듈 & 서버)
◇ 팀원: 이정준(예금/적금 모듈 & 주식 신호 생성 & 앱)
◇ 팀원: 정현학(매당금 모듈 & 앱)
설계
설계사양
제품의 요구사항
◇ F1: 각 금융상품 데이터를 수집할 수 있는 API를 통해 주기적으로 금융정보를 수집한다. [목표: 각 상품의 모든 데이터가 일치하는 경우 25%씩, 총 100%)
◇ F2: 금융상품의 위험도와 수익률을 생성한다.
◇ F3: 주식 종목의 보조지표를 최적화하고 매매신호를 생성한다.
시스템 사양
개념설계안
이론적 계산 및 시뮬레이션
◇ 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년 단위로 확장 (주가 변동성)
결과 및 평가
완료 작품의 소개
프로토타입 사진 혹은 작동 장면
◇ 홈 화면
◇ 배당금 정보 확인
◇ 예금/적금 정보 확인
◇ 채권, ELS/DLS, 매크로 지표 정보 확인
◇ 주식 매매신호 확인
포스터
◇ https://play.google.com/store/apps/details?id=com.uosselab.hedger
관련사업비 내역서
완료작품의 평가
※ 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을 적용한다.
◇ 수동 포트폴리오 작성 기능을 추가하여 지속적인 투자 관리가 가능하도록 한다.
◇ 각 메뉴마다 설명 팝업을 추가한다.