KR102672533B1 - 퀸트 투자 기반의 금융 자산 자동 투자 시스템 및 방법 - Google Patents

퀸트 투자 기반의 금융 자산 자동 투자 시스템 및 방법 Download PDF

Info

Publication number
KR102672533B1
KR102672533B1 KR1020210060197A KR20210060197A KR102672533B1 KR 102672533 B1 KR102672533 B1 KR 102672533B1 KR 1020210060197 A KR1020210060197 A KR 1020210060197A KR 20210060197 A KR20210060197 A KR 20210060197A KR 102672533 B1 KR102672533 B1 KR 102672533B1
Authority
KR
South Korea
Prior art keywords
buy
sell
investment
algorithm
stock
Prior art date
Application number
KR1020210060197A
Other languages
English (en)
Other versions
KR20220152803A (ko
Inventor
장기벽
Original Assignee
주식회사 타임퍼센트
Filing date
Publication date
Application filed by 주식회사 타임퍼센트 filed Critical 주식회사 타임퍼센트
Priority to KR1020210060197A priority Critical patent/KR102672533B1/ko
Publication of KR20220152803A publication Critical patent/KR20220152803A/ko
Application granted granted Critical
Publication of KR102672533B1 publication Critical patent/KR102672533B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/06Asset management; Financial planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Abstract

본 발명의 일 실시예에 따른 퀀트 투자 기반의 금융자산 자동 투자 시스템은 증권사, 한국거래소 및 가상화폐 거래소에 등록된 과거 및 현재의 일별, 분별, 종목별 금융 지표 데이터, 종목 리스트 데이터, 증권사 계좌에 보유한 종목, 투자유의, 투자 위험, 투자 경고 종목 중 적어도 하나 이상이 포함된 주식 또는 가상화폐 정보를 수집하는 정보수집부; 복수 개의 매도/매수 알고리즘을 생성한 후, 사용자 단말에서 지정한 기대값 및 설정값에 기초하여 상기 정보수집부에서 수집된 과거의 주식 또는 가상화폐 거래정보를 백테스팅하는 시뮬레이터부; 및 상기 시뮬레이터부에서 백테스팅한 매도 매수 알고리즘 중 사용자의 기대값과 예측률 및 수익률이 가장 높은 매도/매수 알고리즘을 증권사 또는 가상화폐 거래소 서버와 연동시킨 후, 사용자가 지정한 주식종목에 대한 매도/매수 시점에 대한 입력값을 상기 매도/매수 알고리즘의 시뮬레이션 예측값으로 지정한 후, 상기 시뮬레이션 예측값으로 매도/매수를 증권사 또는 가상화폐 거래소 서버로 요청하는 트레이더부를 포함한다.

Description

퀸트 투자 기반의 금융 자산 자동 투자 시스템 및 방법{system and method for automatic investment of financial assets based on quint investment}
본 발명은 퀸트 투자 기반의 금융 자산 자동 투자 시스템 및 방법에 관한 것이다.
실제로 주식투자에 성공한 투자자들 또한 오랜 기간 수많은 실전매매와 투자실패를 경험하고 나서야 비로서 수익이 발생하는 단계로 접어들 수 있다고 말한다.
기존의 투자 시스템은 실제 장시간과 같은 오전 9시에 시작해서 오후 3시에 끝나기 때문에 전업 투자자가 아닌 이상 참여를 할 수 없다. 이는 투자자들이 주식투자 연습 및 정확한 개념을 파악하지 못한 상태에서 실제 투자를 무리하게 시작하여 많은 손실이 나는 문제가 있다.
실제 주식 시스템은 하루 단위로 주식시장이 열리고 주식시장의 데이터가 하루 단위로 저장되기 때문에 매매기법을 테스트하고 검증할 시간적 제약이 발생한다. 따라서 실제 주식투자시 오랜 시간과 많은 비용이 소요되는 문제가 있다.
이는 실제 주식투자에서 성공하는 개미투자자는 10%에 지나지 않고 나머지 90%는 손실을 보는데, 그 이유는 자신만의 매매기법(예를 들어, 기술적 분석)의 부재와 리스크관리 및 마인드 컨트롤이 되지 않기 때문이며, 실제 개미투자잦들이 가장 중요하게 생각하는 매매기법은 보통 책을 통해 이론을 학습하고 과거 차트를 통해 대입하는 식을 방법으로 배우고 있는 것이 현실이다. 하지만, 이미 지난 간 차트를 학습하는 것은 실제매매에서의 대응력을 키울 수 없는 문제가 있다.
공개특허공보 제10-2018-0047743호
본 발명이 해결하고자 하는 과제는 종래의 문제점을 해결할 수 있는 퀸트 투자 기반의 금융 자산 자동 투자 시스템 및 방법을 제공하는 데 그 목적이 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 퀸트 투자 기반의 금융 자산 자동 투자 시스템은 증권사, 한국거래소 및 가상화폐 거래소에 등록된 과거 및 현재의 일별, 분별, 종목별 금융 지표 데이터, 종목 리스트 데이터, 증권사 계좌에 보유한 종목, 투자유의, 투자 위험, 투자 경고 종목 중 적어도 하나 이상이 포함된 주식 또는 가상화폐 정보를 수집하는 정보수집부; 복수 개의 매도/매수 알고리즘을 생성한 후, 사용자 단말에서 지정한 기대값 및 설정값에 기초하여 상기 정보수집부에서 수집된 과거의 주식 또는 가상화폐 거래정보를 백테스팅하는 AI 시뮬레이터부; 및 상기 AI 시뮬레이터부에서 백테스팅한 매도 매수 알고리즘 중 사용자의 기대값과 예측률 및 수익률이 가장 높은 매도/매수 알고리즘을 증권사 또는 가상화폐 거래소 서버와 연동시킨 후, 사용자가 지정한 주식종목에 대한 매도/매수 시점에 대한 입력값을 상기 매도/매수 알고리즘의 시뮬레이션 예측값으로 지정한 후, 상기 시뮬레이션 예측값으로 매도/매수를 증권사 또는 가상화폐 거래소 서버로 요청하는 트레이더부를 포함하고, 상기 트레이더부는 상기 매도/매수 알고리즘의 시뮬레이션 예측값과 주식거래장의 결과값이 오차범위를 벗어날 경우, 상기 AI 시뮬레이터부로 상기 과거의 주식 또는 가상화폐 거래정보로 백테스팅한 결과치와 주식 또는 가상화폐 거래장의 결과값을 갖는 시뮬레이션 예측값을 생성한 매도/매수 알고리즘을 제공받아 매도/매수에 적용하고, 상기 AI 시뮬레이터는 상기 백테스팅을 실행 시에, 상기 AI 시뮬레이터부에서 시뮬레이팅 할 알고리즘 번호와 simulator DB 초기화 여부 입력한 후, 시뮬레이션 옵션 설정하고, 데이터베이스와 테이블을 세팅하고, 날짜 별 로테이팅 함수(rotate_date)에서 시뮬레이션을 시작하는 날짜부터 현재까지 장이 열린 날짜 리스트를 가져와서 for문을 실행하고, 시뮬레이팅 할 날짜의 존재여부를 확인한 후, 확인되면, 매수 함수 알고리즘 조건에 맞는 종목들을 simulator DB의 realtime_daily_buy_list 테이블에 매수 리스트 생성하고, 이미 보유 중인 종목은 매수 리스트로부터 제거하게 되고, 확인되지 않을 경우 시뮬레이션을 종료하고, AI 필터 사용여부를 확인한 후, 사용하는 경우, 종목을 분석 한 후 조건에 맞지 않은 종목은 매수 리스트로부터 제거하고, 보유 중인 종목들의 주가를 일별로 업데이트하고, all_item_db 테이블에 보유 중인 종목들에 한하여 매도 알고리즘 조건에 맞는 매도 리스트 생성한 후, 매도를 실행하고, 예수금이 존재하는 지 확인한 후, 확인되면, 실시간 조건 매수여부를 확인하고, 확인되면 실시간 매수 알고리즘의 설정조건에 충족하는지를 확인한다. 충족될 경우, 매수를 진행하고, 만약 예수금이 존재하지 않거나, 실시간 조검 매수를 하지 않을 경우나, 실시간 매수 알고리즘의 충족조건에 충족하지 않을 경우, 보유 종목의 유무를 확인하고, 보유종목이 있다면 해당 보유중인 종목들의 주가를 업데이트하고, 업데이트가 완료되면, 일별정산을 진행하는 과정을 포함하고, 상기 트레이더부의 트레이딩 과정은 날짜 시간을 세팅하고, 현재 장이 열려있는 시간인지를 확인한다. 이후, 매도하기 위해 trader.py 파일 auto_trade_sell_stock, get_sell_list_trade 함수 호출하고, all_item_db 테이블에 보유 중인 종목들에 한하여 매도 알고리즘 조건에 맞는 매도 리스트 생성한 후, 매도를 진행하고, 만약 잔액이 존재하고 매수하는 시간이면서 매수 가능한 상태이면, 매수를 하기 위해 auto_trade_stock, open_api.py 파일 get_today_buy_list 함수 호출하고, realtime_daily_buy_list 테이블에 매수할 종목이 존재하면, 실시간 조건 매수 알고리즘을 이용하는지 확인하고, 실시가 조건 매수 알고리즘을 이용할 경우, 시작가, 현재가, 거래량을 불러오고, 실시간 매수 알고리즘의 조건에 충족한다면, open_api.py 파일 trade 함수 호출한 후 증권사 open api로부터 실시간 현재가를 불러온 후, 현재가가 비어있지 않다면 현재가가 매수 최고, 최저 범위 안에 있을 경우, 매수를 진행하는 과정을 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 트레이더부는 상기 매도/매수 알고리즘으로부터 투자종목을 입력받는 것을 특징으로 한다.
삭제
삭제
일 실시예에서, 상기 트레이더부는 32비트 환경에서 동작되는 상기 증권사 또는 가상화폐 거래소의 트레이딩 알고리즘과 64비트 환경에서 동작되는 상기 백테스팅한 매도/매수 알고리즘이 사용자 단말에서 스위칭되어 실행되는 실행환경을 지원하는 것을 특징으로 한다.
삭제
삭제
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 퀸트 투자 기반의 금융자산 자동 투자 시스템을 이용한 자동 투자 방법은 증권사, 한국거래소 및 가상화폐 거래소에 등록된 과거 및 현재의 일별, 분별, 종목별 금융 지표 데이터, 종목 리스트 데이터, 증권사 계좌에 보유한 종목, 투자유의, 투자 위험, 투자 경고 종목 중 적어도 하나 이상이 포함된 주식 또는 가상화폐 정보를 수집하는 단계; 사용자 단말로부터 주시투자와 관련된 투자옵션정보 및 기대수익률을 입력받는 단계; AI 시뮬레이터부에서 상기 투자옵션정보에 특화된 복수 개의 매도/매수 알고리즘을 생성한 후, 백테스팅을 실행하는 단계; 트레이더부가 상기 시뮬레이터부에서 백테스팅한 매도 매수 알고리즘 중 사용자의 기대값과 예측률 및 수익률이 가장 높은 매도/매수 알고리즘을 증권사 또는 가상화폐 거래소 서버와 연동시킨 후, 사용자가 지정한 주식종목에 대한 매도/매수 시점에 대한 입력값을 상기 매도/매수 알고리즘의 시뮬레이션 예측값으로 지정한 후, 상기 시뮬레이션 예측값으로 매도/매수를 증권사 또는 가상화폐 거래소 서버로 요청하는 단계를 포함하고, 상기 증권사 또는 가상화폐 거래소 서버로 요청하는 단계는 상기 매도/매수 알고리즘의 시뮬레이션 예측값과 주식거래장 또는 가상화폐 거래장의 결과값이 오차범위를 벗어날 경우, 상기 AI 시뮬레이터부로 상기 과거의 주식정보로 백테스팅한 결과치와 주식거래장의 결과값을 갖는 시뮬레이션 예측값을 생성한 매도/매수 알고리즘을 제공받아 매도/매수에 적용하는 단계를 포함하고, 상기 백테스팅을 실행하는 단계는 상기 AI 시뮬레이터부에서 시뮬레이팅 할 알고리즘 번호와 simulator DB 초기화 여부 입력한 후, 시뮬레이션 옵션 설정하고, 데이터베이스와 테이블을 세팅하고, 날짜 별 로테이팅 함수(rotate_date)에서 시뮬레이션을 시작하는 날짜부터 현재까지 장이 열린 날짜 리스트를 가져와서 for문을 실행하고, 시뮬레이팅 할 날짜의 존재여부를 확인한 후, 확인되면, 매수 함수 알고리즘 조건에 맞는 종목들을 simulator DB의 realtime_daily_buy_list 테이블에 매수 리스트 생성하고, 이미 보유 중인 종목은 매수 리스트로부터 제거하게 되고, 확인되지 않을 경우 시뮬레이션을 종료하고, AI 필터 사용여부를 확인한 후, 사용하는 경우, 종목을 분석 한 후 조건에 맞지 않은 종목은 매수 리스트로부터 제거하고, 보유 중인 종목들의 주가를 일별로 업데이트하고, all_item_db 테이블에 보유 중인 종목들에 한하여 매도 알고리즘 조건에 맞는 매도 리스트 생성한 후, 매도를 실행하고, 예수금이 존재하는 지 확인한 후, 확인되면, 실시간 조건 매수여부를 확인하고, 확인되면 실시간 매수 알고리즘의 설정조건에 충족하는지를 확인한다. 충족될 경우, 매수를 진행하고, 만약 예수금이 존재하지 않거나, 실시간 조검 매수를 하지 않을 경우나, 실시간 매수 알고리즘의 충족조건에 충족하지 않을 경우, 보유 종목의 유무를 확인하고, 보유종목이 있다면 해당 보유중인 종목들의 주가를 업데이트하고, 업데이트가 완료되면, 일별정산을 진행하는 과정을 포함하고, 상기 트레이더부의 트레이딩 과정은 날짜 시간을 세팅하고, 현재 장이 열려있는 시간인지를 확인한다. 이후, 매도하기 위해 trader.py 파일 auto_trade_sell_stock, get_sell_list_trade 함수 호출하고, all_item_db 테이블에 보유 중인 종목들에 한하여 매도 알고리즘 조건에 맞는 매도 리스트 생성한 후, 매도를 진행하고, 만약 잔액이 존재하고 매수하는 시간이면서 매수 가능한 상태이면, 매수를 하기 위해 auto_trade_stock, open_api.py 파일 get_today_buy_list 함수 호출하고, realtime_daily_buy_list 테이블에 매수할 종목이 존재하면, 실시간 조건 매수 알고리즘을 이용하는지 확인하고, 실시가 조건 매수 알고리즘을 이용할 경우, 시작가, 현재가, 거래량을 불러오고, 실시간 매수 알고리즘의 조건에 충족한다면, open_api.py 파일 trade 함수 호출한 후 증권사 open api로부터 실시간 현재가를 불러온 후, 현재가가 비어있지 않다면 현재가가 매수 최고, 최저 범위 안에 있을 경우, 매수를 진행하는 과정을 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 퀸트 투자 기반의 금융 자산 자동 투자 시스템 및 방법에 따르면, 기존 시장에서 자금력과 정보력이 열위에 있는 개인투자자들에게 주식투자에 활용할 수 있도록 현실적으로 활용도가 높은 주식 또는 가상화폐 자동 매도/매수 방법을 제공하는 효과가 있다.
또한, 사용자의 특정 투자옵션 및 특정 기대치에 따른 조건에 부합하는 자동 매도/매수 알고리즘을 주식 변화에 따라 자동선택할 수 있어, 주식 또는 가상화폐 투자 손실율을 최소화시킬 수 있다는 이점이 있다.
도 1은 본 발명의 일 실시에에 따른 퀸트 투자 기반의 금융 자산 자동 투자 시스템의 네트워크 구성도이다.
도 2는 도 1에 도시된 자동 투자 서버의 세부 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 퀸트 투자 기반의 금융자산 자동 투자 시스템을 이용한 자동 투자 방법을 설명한 흐름도이다.
도 4 내지 도 6은 퀸트 투자 서버의 정보수집부, AI 시뮬레이터부 및 트레이더부의 동작과정의 일 예를 설명한 흐름도로서, 도 4는 퀸트 투자 서버의 정보수집부의 정보수집과정의 흐름도이고, 5는 퀸트 투자 서버의 AI 시뮬레이터부의 백테스팅 과정의 흐름도이고, 도 6은 퀸트 투자 서버의 정보수집부의 트레이더부의 트레이딩 과정을 설명하기 위한 일 흐름도이다.
도 7은 본 명세서에 개진된 하나 이상의 실시예가 구현될 수 있는 예시적인 컴퓨팅 환경을 도시한 도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하, 첨부된 도면을 기초로 본 발명의 일 실시예에 따른 퀀트 투자 알고리즘 기반의 금융자산 자동 투자 봇 시스템 및 이의 동작방법을 보다 상세하게 설명하도록 한다.
먼저, 본 발명에서 언급하는 퀀트 투자(Quant)는 Quantitative Analytics의 줄임말로서, 정략적 분석 또는 계량적 분석 또는 통계적 분석에 기반하여 수익모델을 계량화하고 계량화된 수익모델로 금융 자산(주식 및 가상화폐)을 투자하는 방식을 의미한다.
퀀트 투자는 저 주가수익률(PER.주가/주당 순이익)과 저주가순자산빙류(PBR/주가/주당 순자산), 주가매출액비율(PSR.주가/주당 매출), 주가현금흐름비율(PCR.주가/주당 영업현금흐름) 등 숫자로된 모든 것이 퀀트 투자의 분석대상이다.
이에 본 발명에서는 소개하는 퀀트 투자 알고리즘 기반의 금융자산 자동 투자 시스템은 복수 개의 주식 매도/매수 시뮬레션 알고리즘을 생성하고, 생성된 복수 개의 주식거래 시뮬레이션 알고리즘에 주식 거래소(Kospi. Kosdaq, ETF, Konex. Coin 등)의 과거 주식거래에 대한 과 매칭 또는 유사한 결과값을 예측하는 주식 매도/매수 알고리즘을 선정하고, 선정된 주식 매도/매수 알고리즘을 현 금융거래시장에 적용하여 금융자산(주식, 가상화폐 등)에 대한 수익실현을 이루고자 하는 발명이다.
도 1은 본 발명의 일 실시예에 따른 퀀트 투자 알고리즘 기반의 금융자산 자동 투자 시스템의 장치 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 퀀트 투자 기반의 금융자산 자동투자 봇 시스템(100)은 사용자 단말(200) 및 퀸트 투자 서버(300)를 포함한다.
각 구성들(200, 300)은 네트워크를 통해 연결된다. 여기서, 네트워크는 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일예에는 RF, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5GPP(5rd Generation Partnership Project) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, NFC 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다할 것이다.
먼저, 사용자 단말(200)은 후술하는 퀴트 투자 서버(300)와 연동하는 금융 자산(주식 및 가상화폐) 자동투자 서비스 플랫폼을 이용하여 금융자산(주식 및 암호화 코인 등)에 대한 투자옵션을 설정하는 단말일 수 있다.
사용자 단말(200)은 상기 금융 자산(주식 및 가상화폐) 자동투자 서비스 플랫폼(애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등)을 설치하거나 열 수 있는 단말로서, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 구동될 수 있는 단말일 수 있다.
여기서, 웹 브라우저는 웹(WWW: world wide web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(hyper text mark-up language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(app)을 포함한다.
상기 본원에서 언급한 단말은 스마트폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 폴더블 단말기(Foldable Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(Wearable Device, 예를 들어, 워치형 단말기(Smartwatch), 글래스형 단말기(Smart Glass), HMD(Head Mounted Display) 등 포함), 와이브로(Wibro) 단말기, IPTV(Internet Protocol Television) 단말기, 스마트 TV, 디지털방송용 단말기, AVN(Audio Video Navigation) 단말기, A/V(Audio/Video) 시스템, 플렉시블 단말기(Flexible Terminal), 디지털 사이니지 장치 등과 같은 다양한 단말기에 적용될 수 있다.
사용자 단말(200)은 금융 자산(주식 및 가상화폐) 자동투자 서비스 플랫폼을 이용하여 자신이 선정한 금융 자산(주식 및 가상화폐)에 대한 투자종목 및 기대수익값을 제공하여 해당 투자종목 및 기대수익값에 상응하는 투자수익율을 내는 매도/매수 알고리즘의 생성을 요청하는 단말일 수 있다.
여기서, 사용자 단말(200)은 사용자가 지정한 매수, 매도와 관련된 정보들, 예컨대, 투자자금, 주식종목, 시장강도, 투자금 대비 분할매수, 종목 청산(수익청산 및 손절매) 등을 설정한 설정정보를 제공할 수 있다.
또한, 사용자 단말(200)은 후술하는 퀸트 투자 서버(300)로부터 과거 주식시장정보로 백테스팅하여 유사한 기대수익율을 도출하는 맞춤형 매도/매수 알고리즘을 이용하여 현 금융 자산(주식 및 가상화폐)에 적용하는 단말일 수 있다.
다음으로, 퀸트 투자 서버(300)는 사용자 단말에서 지정한 투자종목 및 기대수익값을 도출가능한 복수 개의 매도/매수 알고리즘을 생성한 후, 복수 개의 증권사, 거래소 및 각 기관 서버로부터 수집한 과거 주식정보를 기초로 백테스팅하여 상기 기대수익값과 유사한 투자수익률을 도출한 매도/매수 알고리즘을 선정하여 사용자 단말로 제공하는 구성일 수 있다.
또한, 퀸트 투자 서버(300)는 사용자 단말(200)에서 금융 자산(주식 및 가상화폐) 자동투자 서비스 플랫폼을 이용하여 현 주식시장에 적용하고자 할 경우, 사용자 단말(200)에서 지정한 증권사 서버 또는 가상화폐 거래소 서버에 접속하여 금융 자산(주식 및 가상화폐) 자동투자 서비스 플랫폼 내에서 실행하는 매도/매수 알고리즘의 매도/매수 예측값을 입력값으로 하여 증권사의 API에 제공하는 구성일 수 있다.
또한, 퀸트 투자 서버(300)는 사용자 단말(200)에서 실행한 매도/매수 알고리즘의 매도/매수 수익 실현값이 사용자가 요구하는 기대수익값의 오차 범위를 벗어날 경우, 과거의 주식정보로 백테스팅한 결과치와 주식거래장의 결과값이 유사한 시뮬레이션 예측값을 생성하는 신규 매도/매수 알고리즘을 현 주식시장의 매도/매수에 적용하는 구성일 수 있다.
보다 구체적으로, 퀸트 투자 서버(300)는 정보수집부(310), AI 시뮬레이터(320), 트레이더부(330)를 포함한다.
상기 정보수집부(310)는 증권사, 한국 주식거래소, 가상화폐 거래소에 등록된 과거 및 현재의 일별, 분별, 종목별 금융 지표 데이터, 종목 리스트 데이터, 증권사 계좌에 보유한 종목, 투자유의, 투자 위험, 투자 경고 종목 중 적어도 하나 이상이 포함된 주식정보를 수집하는 구성으로, 복수 개의 투자기관, 가상화폐 거래소 서버, 증권사 서버, 코스닥, 코스피 등의 기관서버에서 축적된 과거 주식시장의 정보를 크롤링하는 구성일 수 있다.
상기 정보수집부(310)는 거래대상의 기업정보, 재무정보, 시장추세, 거래량, 체결강도, 및 매매동향 중 적어도 하나 이상을 포함하는 투자정보데이터를 실시간으로 수신하여 투자대상 종목정보용 분석알고리즘을 일정한 간격으로 업데이트함으로써 사용자 맞춤형 투자정보를 자동으로 추출하는 구성일 수 있다.
상기 정보수집부(310)는 빅데이터를 구축하기 위하여, 저장된 로우 데이터 내에 포함된 비정형(Unstructed) 데이터, 정형(Structured) 데이터 및 반정형 데이터(Semi-structured)를 정제하고, 메타 데이터로 분류를 포함 한 전처리를 실시할 수 있고, 전처리된 데이터를 데이터 마이닝(Data Mining)을 포함하는 분석을 실시할 수 있다.
그리고, 분석된 데이터를 시각화한 정보를 제공할 수 있다. 이때, 데이터 마이닝은, 전처리된 데이터 간의 내재된 관계를 탐색하여 클래스가 알려진 훈련 데이터 셋을 학습시켜 새로운 데이터의 클래스를 예측하는 분류(Classification) 또는 클래스 정보 없이 유사성을 기준으로 데이터를 그룹짓는 군집화(Clustering)를 수행할 수 있다. 물론, 이외에도 다양한 마이닝 방법이 존재할 수 있으며, 수집 및 저장되는 빅데이터의 종류나 이후에 요청될 질의(Query)의 종류에 따라 다르게 마이닝될 수도 있다. 이렇게 구축된 빅데이터는, 인공신경망 딥러닝이나 기계학습 등으로 검증과정을 거칠수도 있다.
이때, 인공 신경망은 CNN(Convolutional neural network) 구조가 이용될 수 있는데, CNN은 컨볼루션 층을 이용한 네트워크 구조로 이미지 처리에 적합하며, 이미지 데이터를 입력으로 하여 이미지 내의 특징을 기반으로 이미지를 분류할 수 있기 때문이다. 또한, 텍스트 마이닝(Text Mining)은 비/반정형 텍스트 데이터에서 자연어처리 기술에 기반하여 유용한 정보를 추출, 가공하는 것을 목적으로 하는 기술이다. 텍스트 마이닝 기술을 통해 방대한 텍스트 뭉치에서 의미 있는 정보를 추출해 내고, 다른 정보와의 연계성을 파악하며, 텍스트가 가진 카테고리를 찾아내거나 단순한 정보 검색 그 이상의 결과를 얻어낼 수 있다.
다음으로, AI 시뮬레이터부(320)는 복수 개의 매도/매수 알고리즘을 생성한 후, 사용자 단말(200)에서 지정한 기대값 및 설정값에 기초하여 상기 정보수집부에서 수집된 과거의 주식정보 또는 가상화폐 거래정보를 백테스팅하는 구성일 수 있다.
다음으로, 트레이더부(330)는 상기 시뮬레이터부(320)에서 백테스팅한 매도 매수 알고리즘 중 사용자의 기대값과 예측률 및 수익률이 가장 높은 매도/매수 알고리즘을 증권사 서버와 연동시킨 후, 사용자가 지정한 가상화폐 종목 또는 주식종목에 대한 매도/매수 시점에 대한 입력값을 상기 매도/매수 알고리즘의 시뮬레이션 예측값으로 지정한 후, 상기 시뮬레이션 예측값으로 매도/매수를 증권사 서버로 요청하는 구성일 수 있다.
상기 트레이더부(330)는 상기 매도/매수 알고리즘의 시뮬레이션 예측값과 주식거래장 또는 가상화폐 거래장의 결과값이 오차범위를 벗어날 경우, 상기 시뮬레이터부로 상기 과거의 주식정보로 백테스팅한 결과치와 주식거래장의 결과값이 유사한 시뮬레이션 예측값을 생성한 매도/매수 알고리즘을 제공받아 매도/매수에 적용하는 구성일 수 있다.
또한, 상기 트레이더부(330)는 32비트 환경에서 동작되는 상기 증권사 또는 가상화폐 거래소의 트레이딩 알고리즘과 64비트 환경에서 동작되는 상기 백테스팅한 매도/매수 알고리즘이 사용자 단말에서 스위칭되어 실행되는 실행환경을 지원하는 구성일 수 있다.
도 3은 본 발명의 일 실시예에 따른 퀸트 투자 기반의 금융자산 자동 투자 시스템을 이용한 자동 투자 방법을 설명한 흐름도이다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 퀸트 투자 기반의 금융자산의 자동 투자 방법(S700)은 먼저, 퀸트 투자 서버(300)의 정보수집부(310)에서 증권사, 한국주식거래소 및 가상화폐 거래소에 등록된 과거 및 현재의 일별, 분별, 종목별 금융 지표 데이터, 종목 리스트 데이터, 증권사 또는 가상화폐 거래계좌에 보유한 종목, 투자유의, 투자 위험, 투자 경고 종목 중 적어도 하나 이상이 포함된 주식정보 또는 가상화폐 거래정보를 수집(S710)한다.
이후, 퀸트 투자 서버(300)에서 사용자 단말(200)로부터 가상화폐 투자 또는 주시투자와 관련된 투자옵션정보 및 기대수익률을 입력(S720)받으면, 퀸트 투자 서버(300)의 AI 시뮬레이터부(320)에서 상기 투자옵션정보에 특화된 복수 개의 매도/매수 알고리즘을 생성한 후, 백테스팅을 실행(S730)한다.
이후, 퀸트 투자 서버(300)의 트레이더부(330)가 상기 AI 시뮬레이터부(320)에서 백테스팅한 매도 매수 알고리즘 중 사용자의 기대값과 예측률 및 수익률이 가장 높은 매도/매수 알고리즘을 기관서버와 연동시킨 후, 사용자가 지정한 가상화폐 종목 또는 주식종목에 대한 매도/매수 시점에 대한 입력값을 상기 매도/매수 알고리즘의 시뮬레이션 예측값으로 지정한 후, 상기 시뮬레이션 예측값으로 매도/매수를 증권사 서버로 요청(S740)하여, 매도/매수 체결을 실시한다.
여기서, 상기 S740 과정은 상기 매도/매수 알고리즘의 시뮬레이션 예측값과 주식거래장의 결과값이 오차범위를 벗어날 경우, 상기 AI 시뮬레이터부로 상기 과거의 가상화폐 거래정보 또는 주식거래정보로 백테스팅한 결과치와 가상화폐 또는 주식 거래장의 결과값이 유사한 시뮬레이션 예측값을 생성한 매도/매수 알고리즘을 제공받아 매도/매수에 적용하는 과정을 더 포함할 수 있다.
도 4 내지 도 6은 퀸트 투자 서버의 정보수집부, AI 시뮬레이터부 및 트레이더부의 동작과정의 일 예를 설명한 흐름도이다.
먼저, 도 4는 퀸트 투자 서버의 정보수집부의 정보수집과정의 흐름도로서, 먼저, 정보수집을 시작하고, setting_data 테이블의   code_update 컬럼에 금일 날짜가 있다면   이미 stock_kospi,  stock_kosdaq, stock_konex,   stock_managing,   stock_insincerity,   stock_item_all 테이블이 업데이트 유무를 판단한다.
이후, 업데이트된 상태이면, jango_data_db_check 컬럼의 업데이트 유무를 확인한다. 만약 업데이트 상태가 아닐 경우, daily_buy_list DB의 stock_kospi, stock_kosdaq, stock_konex, stock_managing, stock_insincerity 테이블 생성 또는 업데이트하고, daily_buy_list DB의 stock_item_all 테이블 생성 또는 업데이트한다.
jango_data_db_check 컬럼에 대해 업데이트가 완료된 상태이면, 보유종목에 대한 업데이트 유무를 확인한다.
jango_data_db_check 컬럼에 대해 업데이트가 완료되지 않은 상태이면, 매수 금액에 대한 설정, 당일 종목별 실현 손익, 일자별 실현손익 및 일별 수익률 정산 테이블에 대한 업데이트를 진행한다.
이후, 보유종목에 대한 업데이트가 완료된 상태이면, 일별 크롤러 컬럼의 업데이트 여부를 확인하고, 보유종목에 대한 업데이트가 완료되지 않은 상태이면, possessed_item 테이블 생성 또는 업데이트한다.
이후, 일별 크롤러 컬럼의 업데이트가 완료된 상태이면, 일일 매수 리스트 컬럼의 업데이트 여부를 확인하고, 일별 매수 리스트 컬럼의 업데이트가 완료되면, final_chegyul_check 컬럼의 업데이트 여부를 확인한다. 일별 매수 리스트 컬럼의 업데이트가 완료되지 않은 상태이면, daily_buy_list DB의 일자별 테이블 (전종목) 생성 또는 업데이트를 진행한다.
이후, final_chegyul_check 컬럼의 업데이트가 완료된 상태이면, 오늘 매도 리스트 컬럼의 업데이트 여부를 확인한다. final_chegyul_check 컬럼의 업데이트가 완료되지 않은 상태이면, all_item_db 테이블의 chegyul_check 컬럼 업데이트를 진행한다.
여기서, 매수한 뒤에 all_item_db에 추가하기 전에   봇이 꺼지는 경우 possessd_item   테이블에는 있지만 all_item_db에 없을 수   있기 때문에 chegyul_check = 1인 경우   미체결로 간주   openapi 연동하여 체결/미체결 확인 후, all_item_db 테이블의   chegyul_check 업데이트를 진행한다.
이후, min_crawler 컬럼의 업데이트 여부를 확인하고, 업데이트된 상태이면, KIND에서 데이터 크롤링하여 daily_buy_list DB에 stock_invest_caution, stock_invest_warning, stock_invest_danger 테이블 생성 또는 업데이트하고, 만약 업데이트 되지 않은 상태이면, min_craw DB의 종목 테이블 (분별 데이터) 생성 또는 업데이트한다.
이후, 해당 업데이트한 정보들을 상술한 AI 시뮬레이터부에서 제공하는 매도/매수 알고리즘에 적용하여 백테스팅을 진행한다.
다음으로, 도 5는 퀸트 투자 서버의 AI 시뮬레이터부의 백테스팅 과정의 흐름도로서, 먼저, 시뮬레이팅 할 알고리즘 번호와 simulator DB 초기화 여부 입력한 후, 시뮬레이션 옵션 설정하고, 데이터베이스와 테이블을 세팅한다.
한편, AI 시뮬레이터부(320)는 날짜 별 로테이팅 함수 (rotate_date)에서   시뮬레이션을 시작하는 날짜부터 현재까지 장이 열린   날짜 리스트를 가져와서 for문을 실행한다.
예컨대, 시뮬레이팅 할 날짜의 존재여부를 확인한 후, 확인되면, 매수 함수 알고리즘 조건에 맞는 종목들을 simulator DB의 realtime_daily_buy_list 테이블에 매수 리스트 생성하고, 이미 보유 중인 종목은 매수 리스트로부터 제거하게 되고, 확인되지 않을 경우 시뮬레이션을 종료한다.
이후, AI 필터 사용여부를 확인한 후, 사용하는 경우, 종목을 분석 한 후 조건에 맞지 않은 종목은 매수 리스트로부터 제거하고, 보유 중인 종목들의 주가를 일별로 업데이트하고, all_item_db 테이블에 보유 중인 종목들에 한하여 매도 알고리즘 조건에 맞는 매도 리스트 생성한 후, 매도를 실행한다.
이후, 예수금이 존재하는 지 확인한 후, 확인되면, 실시간 조건 매수여부를 확인하고, 확인되면 실시간 매수 알고리즘의 설정조건에 충족하는지를 확인한다. 충족될 경우, 매수를 진행한다.
만약 예수금이 존재하지 않거나, 실시간 조검 매수를 하지 않을 경우나, 실시간 매수 알고리즘의 충족조건에 충족하지 않을 경우, 보유 종목의 유무를 확인하고, 보유종목이 있다면 해당 보유중인 종목들의 주가를 업데이트한다.
업데이트가 완료되면, 일별정산을 진행한다.
먼저, 도 6은 퀸트 투자 서버의 정보수집부의 트레이더부의 트레이딩 과정을 설명하기 위한 일 흐름도로서, 먼저, 날짜 시간을 세팅하고, 현재 장이 열려있는 시간인지를 확인한다. 이후, 매도하기 위해 trader.py 파일 auto_trade_sell_stock, get_sell_list_trade 함수 호출하고, all_item_db 테이블에 보유 중인 종목들에 한하여 매도 알고리즘 조건에 맞는 매도 리스트 생성한 후, 매도를 진행한다.
만약 잔액이 존재하고 매수하는 시간이면서 매수 가능한 상태이면, 매수를 하기 위해 auto_trade_stock, open_api.py 파일 get_today_buy_list 함수 호출하고, realtime_daily_buy_list 테이블에 매수할 종목이 존재하면, 실시간 조건 매수 알고리즘을 이용하는지 확인하고, 실시가 조건 매수 알고리즘을 이용할 경우, 시작가, 현재가, 거래량을 불러온다.
이후, 실시간 매수 알고리즘의 조건에 충족한다면, open_api.py 파일 trade 함수 호출한 후 증권사 open api로부터 실시간 현재가를 불어온 후, 현재가가 비어있지 않다면 현재가가 매수 최고, 최저 범위 안에 있을 경우, 매수를 진행한다.
따라서, 본 발명의 일 실시예에 따른 금융 자산 자동 투자 봇 시스템 및 이의 동작방법에 따르면, 기존 시장에서 자금력과 정보력이 열위에 있는 개인투자자들에게 주식투자에 활용할 수 있도록 현실적으로 활용도가 높은 주식 또는 가상화폐의 자동 매도/매수 방법을 제공하는 효과가 있다.
또한, 사용자의 특정 투자옵션 및 특정 기대치에 따른 조건에 부합하는 자동 매도/매수 알고리즘을 주식 또는 가상화폐 변화에 따라 자동선택할 수 있어, 주식 투자 손실율을 최소화시킬 수 있다는 이점이 있다.
도 7은 본 명세서에 개진된 하나 이상의 실시예가 구현될 수 있는 예시적인 컴퓨팅 환경을 도시하는 도면으로, 상술한 하나 이상의 실시예를 구현하도록 구성된 컴퓨팅 디바이스(1100)를 포함하는 시스템(1000)의 예시를 도시한다. 예를 들어, 컴퓨팅 디바이스(1100)는 개인 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩탑 디바이스, 모바일 디바이스(모바일폰, PDA, 미디어 플레이어 등), 멀티프로세서 시스템, 소비자 전자기기, 미니 컴퓨터, 메인프레임 컴퓨터, 임의의 전술된 시스템 또는 디바이스를 포함하는 분산 컴퓨팅 환경 등을 포함하지만, 이것으로 한정되는 것은 아니다.
컴퓨팅 디바이스(1100)는 적어도 하나의 프로세싱 유닛(1110) 및 메모리(1120)를 포함할 수 있다. 여기서, 프로세싱 유닛(1110)은 예를 들어 중앙처리장치(CPU), 그래픽처리장치(GPU), 마이크로프로세서, 주문형 반도체(Application Specific Integrated Circuit, ASIC), Field Programmable Gate Arrays(FPGA) 등을 포함할 수 있으며, 복수의 코어를 가질 수 있다. 메모리(1120)는 휘발성 메모리(예를 들어, RAM 등), 비휘발성 메모리(예를 들어, ROM, 플래시 메모리 등) 또는 이들의 조합일 수 있다. 또한, 컴퓨팅 디바이스(1100)는 추가적인 스토리지(1130)를 포함할 수 있다. 스토리지(1130)는 자기 스토리지, 광학 스토리지 등을 포함하지만 이것으로 한정되지 않는다. 스토리지(1130)에는 본 명세서에 개진된 하나 이상의 실시예를 구현하기 위한 컴퓨터 판독 가능한 명령이 저장될 수 있고, 운영 시스템, 애플리케이션 프로그램 등을 구현하기 위한 다른 컴퓨터 판독 가능한 명령도 저장될 수 있다. 스토리지(1130)에 저장된 컴퓨터 판독 가능한 명령은 프로세싱 유닛(1110)에 의해 실행되기 위해 메모리(1120)에 로딩될 수 있다. 또한, 컴퓨팅 디바이스(1100)는 입력 디바이스(들)(1140) 및 출력 디바이스(들)(1150)을 포함할 수 있다.
여기서, 입력 디바이스(들)(1140)은 예를 들어 키보드, 마우스, 펜, 음성 입력 디바이스, 터치 입력 디바이스, 적외선 카메라, 비디오 입력 디바이스 또는 임의의 다른 입력 디바이스 등을 포함할 수 있다. 또한, 출력 디바이스(들)(1150)은 예를 들어 하나 이상의 디스플레이, 스피커, 프린터 또는 임의의 다른 출력 디바이스 등을 포함할 수 있다. 또한, 컴퓨팅 디바이스(1100)는 다른 컴퓨팅 디바이스에 구비된 입력 디바이스 또는 출력 디바이스를 입력 디바이스(들)(1140) 또는 출력 디바이스(들)(1150)로서 사용할 수도 있다.
또한, 컴퓨팅 디바이스(1100)는 컴퓨팅 디바이스(1100)가 다른 디바이스(예를 들어, 컴퓨팅 디바이스(1300))와 통신할 수 있게 하는 통신접속(들)(1160)을 포함할 수 있다.
여기서, 통신 접속(들)(1160)은 모뎀, 네트워크 인터페이스 카드(NIC), 통합 네트워크 인터페이스, 무선 주파수 송신기/수신기, 적외선 포트, USB 접속 또는 컴퓨팅 디바이스(1100)를 다른 컴퓨팅 디바이스에 접속시키기 위한 다른 인터페이스를 포함할 수 있다. 또한, 통신 접속(들)(1160)은 유선 접속 또는 무선 접속을 포함할 수 있다. 상술한 컴퓨팅 디바이스(1100)의 각 구성요소는 버스 등의 다양한 상호접속(예를 들어, 주변 구성요소 상호접속(PCI), USB, 펌웨어(IEEE 1394), 광학적 버스 구조 등)에 의해 접속될 수도 있고, 네트워크(1200)에 의해 상호접속될 수도 있다. 본 명세서에서 사용되는 "구성요소", "시스템" 등과 같은 용어들은 일반적으로 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어인 컴퓨터 관련 엔티티를 지칭하는 것이다.
예를 들어, 구성요소는 프로세서 상에서 실행중인 프로세스, 프로세서, 객체, 실행 가능물(executable), 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이것으로 한정되는 것은 아니다. 예를 들어, 컨트롤러 상에서 구동중인 애플리케이션 및 컨트롤러 모두가 구성요소일 수 있다. 하나 이상의 구성요소는 프로세스 및/또는 실행의 스레드 내에 존재할 수 있으며, 구성요소는 하나의 컴퓨터 상에서 로컬화될 수 있고, 둘 이상의 컴퓨터 사이에서 분산될 수도 있다.
이상에서 본 발명은 실시예를 참조하여 상세히 설명되었으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 상기에서 설명된 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 부가 및 변형이 가능할 것임은 당연하며, 이와 같은 변형된 실시 형태들 역시 아래에 첨부한 특허청구범위에 의하여 정하여지는 본 발명의 보호 범위에 속하는 것으로 이해되어야 할 것이다.
100: 퀀트 투자 기반의 금융자산 자동 투자 시스템
200: 사용자 단말
300: 퀸트 투자 서버
310: 정보수집부
320: AI 시뮬레이터부
330: 트레이더부

Claims (7)

  1. 증권사, 한국거래소 및 가상화폐 거래소에 등록된 과거 및 현재의 일별, 분별, 종목별 금융 지표 데이터, 종목 리스트 데이터, 증권사 계좌에 보유한 종목, 투자유의, 투자 위험, 투자 경고 종목 중 적어도 하나 이상이 포함된 주식 또는 가상화폐 정보를 수집하는 정보수집부;
    복수 개의 매도/매수 알고리즘을 생성한 후, 사용자 단말에서 지정한 기대값 및 설정값에 기초하여 상기 정보수집부에서 수집된 과거의 주식 또는 가상화폐 거래정보를 백테스팅하는 AI 시뮬레이터부; 및
    상기 AI 시뮬레이터부에서 백테스팅한 매도 매수 알고리즘 중 사용자의 기대값과 예측률 및 수익률이 가장 높은 매도/매수 알고리즘을 증권사 또는 가상화폐 거래소 서버와 연동시킨 후, 사용자가 지정한 주식종목에 대한 매도/매수 시점에 대한 입력값을 상기 매도/매수 알고리즘의 시뮬레이션 예측값으로 지정한 후, 상기 시뮬레이션 예측값으로 매도/매수를 증권사 또는 가상화폐 거래소 서버로 요청하는 트레이더부를 포함하고,
    상기 트레이더부는
    상기 매도/매수 알고리즘의 시뮬레이션 예측값과 주식거래장의 결과값이 오차범위를 벗어날 경우, 상기 AI 시뮬레이터부로 상기 과거의 주식 또는 가상화폐 거래정보로 백테스팅한 결과치와 주식 또는 가상화폐 거래장의 결과값을 갖는 시뮬레이션 예측값을 생성한 매도/매수 알고리즘을 제공받아 매도/매수에 적용하고,
    상기 AI 시뮬레이터는 상기 백테스팅을 실행 시에,
    상기 AI 시뮬레이터부에서 시뮬레이팅 할 알고리즘 번호와 simulator DB 초기화 여부 입력한 후, 시뮬레이션 옵션 설정하고, 데이터베이스와 테이블을 세팅하고,
    날짜 별 로테이팅 함수(rotate_date)에서 시뮬레이션을 시작하는 날짜부터 현재까지 장이 열린 날짜 리스트를 가져와서 for문을 실행하고,
    시뮬레이팅 할 날짜의 존재여부를 확인한 후, 확인되면, 매수 함수 알고리즘 조건에 맞는 종목들을 simulator DB의 realtime_daily_buy_list 테이블에 매수 리스트 생성하고, 이미 보유 중인 종목은 매수 리스트로부터 제거하게 되고, 확인되지 않을 경우 시뮬레이션을 종료하고,
    AI 필터 사용여부를 확인한 후, 사용하는 경우, 종목을 분석 한 후 조건에 맞지 않은 종목은 매수 리스트로부터 제거하고, 보유 중인 종목들의 주가를 일별로 업데이트하고, all_item_db 테이블에 보유 중인 종목들에 한하여 매도 알고리즘 조건에 맞는 매도 리스트 생성한 후, 매도를 실행하고,
    예수금이 존재하는 지 확인한 후, 확인되면, 실시간 조건 매수여부를 확인하고, 확인되면 실시간 매수 알고리즘의 설정조건에 충족하는지를 확인한다. 충족될 경우, 매수를 진행하고,
    만약 예수금이 존재하지 않거나, 실시간 조검 매수를 하지 않을 경우나, 실시간 매수 알고리즘의 충족조건에 충족하지 않을 경우, 보유 종목의 유무를 확인하고, 보유종목이 있다면 해당 보유중인 종목들의 주가를 업데이트하고, 업데이트가 완료되면, 일별정산을 진행하는 과정을 포함하고,
    상기 트레이더부의 트레이딩 과정은
    날짜 시간을 세팅하고, 현재 장이 열려있는 시간인지를 확인한다. 이후, 매도하기 위해 trader.py 파일 auto_trade_sell_stock, get_sell_list_trade 함수 호출하고, all_item_db 테이블에 보유 중인 종목들에 한하여 매도 알고리즘 조건에 맞는 매도 리스트 생성한 후, 매도를 진행하고,
    만약 잔액이 존재하고 매수하는 시간이면서 매수 가능한 상태이면, 매수를 하기 위해 auto_trade_stock, open_api.py 파일 get_today_buy_list 함수 호출하고, realtime_daily_buy_list 테이블에 매수할 종목이 존재하면, 실시간 조건 매수 알고리즘을 이용하는지 확인하고, 실시가 조건 매수 알고리즘을 이용할 경우, 시작가, 현재가, 거래량을 불러오고,
    실시간 매수 알고리즘의 조건에 충족한다면, open_api.py 파일 trade 함수 호출한 후 증권사 open api로부터 실시간 현재가를 불러온 후, 현재가가 비어있지 않다면 현재가가 매수 최고, 최저 범위 안에 있을 경우, 매수를 진행하는 과정을 포함하는 것을 특징으로 하는,
    퀸트 투자 기반의 금융자산 자동 투자 시스템.
  2. 제1항에 있어서,
    상기 트레이더부는
    상기 매도/매수 알고리즘으로부터 투자종목을 입력받는 것을 특징으로 하는 퀸트 투자 기반의 금융자산 자동 투자 시스템.
  3. 삭제
  4. 제1항에 있어서,
    상기 트레이더부는
    32비트 환경에서 동작되는 상기 증권사 또는 가상화폐 거래소의 트레이딩 알고리즘과 64비트 환경에서 동작되는 상기 백테스팅한 매도/매수 알고리즘이 사용자 단말에서 스위칭되어 실행되는 실행환경을 지원하는 퀸트 투자 기반의 금융자산 자동 투자 시스템.
  5. 삭제
  6. 증권사, 한국거래소 및 가상화폐 거래소에 등록된 과거 및 현재의 일별, 분별, 종목별 금융 지표 데이터, 종목 리스트 데이터, 증권사 계좌에 보유한 종목, 투자유의, 투자 위험, 투자 경고 종목 중 적어도 하나 이상이 포함된 주식 또는 가상화폐 정보를 수집하는 단계;
    사용자 단말로부터 주시투자와 관련된 투자옵션정보 및 기대수익률을 입력받는 단계;
    AI 시뮬레이터부에서 상기 투자옵션정보에 특화된 복수 개의 매도/매수 알고리즘을 생성한 후, 백테스팅을 실행하는 단계;
    트레이더부가 상기 시뮬레이터부에서 백테스팅한 매도 매수 알고리즘 중 사용자의 기대값과 예측률 및 수익률이 가장 높은 매도/매수 알고리즘을 증권사 또는 가상화폐 거래소 서버와 연동시킨 후, 사용자가 지정한 주식종목에 대한 매도/매수 시점에 대한 입력값을 상기 매도/매수 알고리즘의 시뮬레이션 예측값으로 지정한 후, 상기 시뮬레이션 예측값으로 매도/매수를 증권사 또는 가상화폐 거래소 서버로 요청하는 단계를 포함하고,
    상기 증권사 또는 가상화폐 거래소 서버로 요청하는 단계는
    상기 매도/매수 알고리즘의 시뮬레이션 예측값과 주식거래장 또는 가상화폐 거래장의 결과값이 오차범위를 벗어날 경우, 상기 AI 시뮬레이터부로 상기 과거의 주식정보로 백테스팅한 결과치와 주식거래장의 결과값을 갖는 시뮬레이션 예측값을 생성한 매도/매수 알고리즘을 제공받아 매도/매수에 적용하는 단계를 포함하고,
    상기 백테스팅을 실행하는 단계는
    상기 AI 시뮬레이터부에서 시뮬레이팅 할 알고리즘 번호와 simulator DB 초기화 여부 입력한 후, 시뮬레이션 옵션 설정하고, 데이터베이스와 테이블을 세팅하고,
    날짜 별 로테이팅 함수(rotate_date)에서 시뮬레이션을 시작하는 날짜부터 현재까지 장이 열린 날짜 리스트를 가져와서 for문을 실행하고,
    시뮬레이팅 할 날짜의 존재여부를 확인한 후, 확인되면, 매수 함수 알고리즘 조건에 맞는 종목들을 simulator DB의 realtime_daily_buy_list 테이블에 매수 리스트 생성하고, 이미 보유 중인 종목은 매수 리스트로부터 제거하게 되고, 확인되지 않을 경우 시뮬레이션을 종료하고,
    AI 필터 사용여부를 확인한 후, 사용하는 경우, 종목을 분석 한 후 조건에 맞지 않은 종목은 매수 리스트로부터 제거하고, 보유 중인 종목들의 주가를 일별로 업데이트하고, all_item_db 테이블에 보유 중인 종목들에 한하여 매도 알고리즘 조건에 맞는 매도 리스트 생성한 후, 매도를 실행하고,
    예수금이 존재하는 지 확인한 후, 확인되면, 실시간 조건 매수여부를 확인하고, 확인되면 실시간 매수 알고리즘의 설정조건에 충족하는지를 확인한다. 충족될 경우, 매수를 진행하고,
    만약 예수금이 존재하지 않거나, 실시간 조검 매수를 하지 않을 경우나, 실시간 매수 알고리즘의 충족조건에 충족하지 않을 경우, 보유 종목의 유무를 확인하고, 보유종목이 있다면 해당 보유중인 종목들의 주가를 업데이트하고, 업데이트가 완료되면, 일별정산을 진행하는 과정을 포함하고,
    상기 트레이더부의 트레이딩 과정은
    날짜 시간을 세팅하고, 현재 장이 열려있는 시간인지를 확인한다. 이후, 매도하기 위해 trader.py 파일 auto_trade_sell_stock, get_sell_list_trade 함수 호출하고, all_item_db 테이블에 보유 중인 종목들에 한하여 매도 알고리즘 조건에 맞는 매도 리스트 생성한 후, 매도를 진행하고,
    만약 잔액이 존재하고 매수하는 시간이면서 매수 가능한 상태이면, 매수를 하기 위해 auto_trade_stock, open_api.py 파일 get_today_buy_list 함수 호출하고, realtime_daily_buy_list 테이블에 매수할 종목이 존재하면, 실시간 조건 매수 알고리즘을 이용하는지 확인하고, 실시가 조건 매수 알고리즘을 이용할 경우, 시작가, 현재가, 거래량을 불러오고,
    실시간 매수 알고리즘의 조건에 충족한다면, open_api.py 파일 trade 함수 호출한 후 증권사 open api로부터 실시간 현재가를 불러온 후, 현재가가 비어있지 않다면 현재가가 매수 최고, 최저 범위 안에 있을 경우, 매수를 진행하는 과정을 포함하는
    퀸트 투자 기반의 금융자산 자동 투자 시스템을 이용한 자동 투자 방법.
  7. 삭제
KR1020210060197A 2021-05-10 퀸트 투자 기반의 금융 자산 자동 투자 시스템 및 방법 KR102672533B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210060197A KR102672533B1 (ko) 2021-05-10 퀸트 투자 기반의 금융 자산 자동 투자 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210060197A KR102672533B1 (ko) 2021-05-10 퀸트 투자 기반의 금융 자산 자동 투자 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20220152803A KR20220152803A (ko) 2022-11-17
KR102672533B1 true KR102672533B1 (ko) 2024-06-07

Family

ID=

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262429A (ja) * 2007-04-12 2008-10-30 Satoru Chiba 自動売買システム、自動売買方法、およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262429A (ja) * 2007-04-12 2008-10-30 Satoru Chiba 自動売買システム、自動売買方法、およびプログラム

Similar Documents

Publication Publication Date Title
Jansen Machine Learning for Algorithmic Trading: Predictive models to extract signals from market and alternative data for systematic trading strategies with Python
US11514511B2 (en) Autonomous bidder solicitation and selection system
US8160951B2 (en) Trading system and method for institutional athletic and education programs
CN110310191A (zh) 用于数据分析、风险管理和自动合规的分布式计算机框架
US9697565B2 (en) Online auction system
KR102031312B1 (ko) P2p 금융 플랫폼 기반 부동산 대출 서비스 제공 방법
US11164152B2 (en) Autonomous procurement system
CN110402570A (zh) 信息处理方法和系统、服务器、终端、计算机存储介质
WO2022204425A1 (en) Asset-backed tokenization platform
KR20200127810A (ko) 중고거래가격 자동추정방법 및 이를 수행하기 위한 컴퓨팅 장치
KR20120032606A (ko) 증권투자고객 참여 가능 증권투자 시스템 및 그 방법
US20150228019A1 (en) System and method for facilitating social trading
US20180082376A1 (en) Data Access in a Computer Based Virtual Fund Management System
KR102360383B1 (ko) 공공조달시장의 입찰을 위한 빅데이터 기반 예정가격 확률분포 예측 서비스 제공 시스템
KR102672533B1 (ko) 퀸트 투자 기반의 금융 자산 자동 투자 시스템 및 방법
US20210295435A1 (en) Platform and method for monetizing investment data
KR20220152803A (ko) 퀸트 투자 기반의 금융 자산 자동 투자 시스템 및 방법
CN112836742A (zh) 系统资源调整方法、装置及设备
WO2019136628A1 (zh) 用于辅助企业上市的方法、装置和系统
US20140019305A1 (en) Cloud-driven Social-network Platform focused on Pattern Analysis
Tu An application of web‐based data mining: selling strategies for online auctions
KR20190084145A (ko) 온라인 특허 경매 시스템을 이용한 유망 기술 발굴 인공지능 시스템
US20210110477A1 (en) System and Method of Patent Debt Financing Pooling
KR102519437B1 (ko) Nft 기반 중고명품 조각투자를 위한 가치 평가 시스템
Khan et al. Regulatory constraints, responsibilities and consultation (CRC) for legal institutionalization of cryptocurrencies in Pakistan