[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102756688B1 - System and method for managing risks based on abnormal signs by determining abnormal signs based on financial data using artificial intelligence - Google Patents

System and method for managing risks based on abnormal signs by determining abnormal signs based on financial data using artificial intelligence Download PDF

Info

Publication number
KR102756688B1
KR102756688B1 KR1020240154175A KR20240154175A KR102756688B1 KR 102756688 B1 KR102756688 B1 KR 102756688B1 KR 1020240154175 A KR1020240154175 A KR 1020240154175A KR 20240154175 A KR20240154175 A KR 20240154175A KR 102756688 B1 KR102756688 B1 KR 102756688B1
Authority
KR
South Korea
Prior art keywords
risk
transaction
server
information
abnormal
Prior art date
Application number
KR1020240154175A
Other languages
Korean (ko)
Inventor
김범수
Original Assignee
주식회사 프레스토리서치코리아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 프레스토리서치코리아 filed Critical 주식회사 프레스토리서치코리아
Priority to KR1020240154175A priority Critical patent/KR102756688B1/en
Application granted granted Critical
Publication of KR102756688B1 publication Critical patent/KR102756688B1/en

Links

Images

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/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • H04L49/503Policing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Computational Linguistics (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

실시예들은 인공지능을 이용하여 금융 데이터를 기반으로 이상 징후를 판단하고, 이상 징후에 따라 위험을 관리하는 시스템 및 방법을 제시한다. 일 실시예에 따른 위험을 관리하는 서버는, 주문 데이터를 기반으로 과부하 위험을 관리하기 위한 트래픽 정보를 생성하고, 거래 데이터를 기반으로 거래 위험을 관리하기 위한 감시 지표 정보를 생성하는 데이터 처리부, 상기 트래픽 정보를 기반으로 제1 뉴럴 네트워크를 이용하는 제1 위험 관리 모델을 통해 데이터 트래픽량에 대한 위험 정보를 결정하고, 상기 위험 정보를 기반으로 과부하 위험과 관련된 메시지를 생성하는 과부하 위험 관리부, 상기 감시 지표 정보 및 상기 위험 정보를 기반으로 제2 뉴럴 네트워크를 이용하는 제2 위험 관리 모델을 통해 복수의 이상 거래 유형 각각에 대한 확률을 결정하고, 상기 복수의 이상 거래 유형 각각에 대한 발생 확률을 기반으로 거래 위험과 관련된 메시지를 생성하는 거래 위험 관리부 및 상기 과부하 위험과 관련된 메시지 및 상기 거래 위험과 관련된 메시지를 관리자 단말에게 전송하는 위험 관리 메시지 전송부를 포함할 수 있다.The embodiments present a system and method for determining anomalies based on financial data using artificial intelligence and managing risks according to the anomalies. A server for managing risks according to one embodiment may include a data processing unit that generates traffic information for managing overload risks based on order data and generates monitoring index information for managing transaction risks based on transaction data, an overload risk management unit that determines risk information on data traffic volume through a first risk management model using a first neural network based on the traffic information and generates a message related to overload risks based on the risk information, a transaction risk management unit that determines a probability for each of a plurality of abnormal transaction types through a second risk management model using a second neural network based on the monitoring index information and the risk information and generates a message related to transaction risks based on the occurrence probability for each of the plurality of abnormal transaction types, and a risk management message transmission unit that transmits the message related to the overload risk and the message related to the transaction risk to a manager terminal.

Description

인공지능을 이용하여 금융 데이터를 기반으로 이상 징후를 판단하고, 이상 징후에 따라 위험을 관리하는 시스템 및 방법{SYSTEM AND METHOD FOR MANAGING RISKS BASED ON ABNORMAL SIGNS BY DETERMINING ABNORMAL SIGNS BASED ON FINANCIAL DATA USING ARTIFICIAL INTELLIGENCE}{SYSTEM AND METHOD FOR MANAGING RISKS BASED ON ABNORMAL SIGNS BY DETERMINING ABNORMAL SIGNS BASED ON FINANCIAL DATA USING ARTIFICIAL INTELLIGENCE}

본 개시의 실시예들은 인공지능을 이용하여 금융 데이터를 기반으로 이상 징후를 판단하고, 이상 징후에 따라 위험을 관리하는 시스템 및 방법에 대한 것이다.Embodiments of the present disclosure relate to a system and method for determining abnormal signs based on financial data using artificial intelligence and managing risks based on the abnormal signs.

최근 주식과 가상화폐 거래에 대한 관심이 증가하면서, 전문가 뿐만 아니라 일반인들도 종목 거래에 적극적으로 참여하는 사례가 늘어나고 있다. 인터넷 등의 네트워크를 통해 주식이나 가상화폐를 온라인으로 매매할 수 있는 사이버 거래가 보편화되었다. 이에 증권사와 거래소들은 사용자들이 네트워크를 통해 손쉽게 거래를 할 수 있도록 HTS(Home Trading System)를 제공하고 있으며, 스마트폰과 같은 모바일 기기의 확산으로 인해 HTS뿐만 아니라 MTS(Mobile Trading System)를 이용한 거래도 급격히 증가하고 있다. 이러한 온라인 시스템을 통해 과거 오프라인 거래에 비해 개인의 종목 거래가 더 활발해졌다.Recently, as interest in stock and virtual currency trading has increased, the number of cases where not only experts but also ordinary people are actively participating in stock trading has increased. Cyber trading, which allows online trading of stocks or virtual currency through networks such as the Internet, has become widespread. Accordingly, securities companies and exchanges are providing HTS (Home Trading System) so that users can easily trade through networks, and due to the spread of mobile devices such as smartphones, transactions using MTS (Mobile Trading System) as well as HTS are rapidly increasing. Through these online systems, individual stock trading has become more active than offline trading in the past.

다만, 최근에 주식 및 가상화폐에 대한 관심도가 더욱 높아지면서, 각종 오류가 발생하기도 한다. 예를 들어, 서버가 처리할 수 있는 데이터 트래픽이 임계값을 초과하면 서버는 더 이상 데이터를 처리할 수 없으며, 이로 인해 시스템 오류가 발생할 수 있다. 또한, 현재의 데이터 트래픽량이 서버의 최대 처리 용량을 초과할 경우, 서버가 중단될 수 있으며, 이는 사용자가 특정 종목의 가격 하락 시 매도를 못하거나, 서버 오류로 인해 사용자가 설정한 가격과 다른 가격으로 거래가 체결되는 피해로 ㄷ이어질 수 있다.However, as interest in stocks and cryptocurrencies has increased recently, various errors may occur. For example, if the data traffic that the server can handle exceeds the threshold, the server can no longer process data, which may cause a system error. In addition, if the current data traffic volume exceeds the maximum processing capacity of the server, the server may be interrupted, which may result in damage such as users not being able to sell when the price of a specific item falls, or transactions being concluded at a different price than the price set by the user due to a server error.

한편, 최근의 금융 거래는 그 복잡성과 거래량이 급격히 증가함에 따라, 금융 시스템에서 발생할 수 있는 이상 징후를 조기에 발견하고 이에 기반한 위험 관리 시스템에 대한 수요가 높아지고 있다. 이러한 금융 거래의 이상 징후를 탐지하고 위험을 예측하는 시스템은 데이터 분석 기술과 인공지능 모델을 활용하여 실시간으로 거래 패턴을 모니터링하고 이상 거래를 판단하는 것을 목표로 한다. 특히, 고빈도 거래와 대량 거래가 빈번히 발생하는 금융 시장에서는 이상 징후가 제때 탐지되지 않을 경우 큰 손실을 초래할 수 있기 때문에, 이를 방지할 수 있는 효과적인 시스템이 필요하다.Meanwhile, as the complexity and volume of recent financial transactions have increased rapidly, the demand for early detection of abnormal signs that may occur in the financial system and risk management systems based on these is increasing. The system that detects abnormal signs of such financial transactions and predicts risks aims to monitor transaction patterns in real time and determine abnormal transactions by utilizing data analysis technology and artificial intelligence models. In particular, in the financial market where high-frequency transactions and large-volume transactions frequently occur, an effective system that can prevent this is necessary because abnormal signs can cause large losses if they are not detected in time.

기존의 금융 이상 징후 탐지 시스템은 주로 통계 모델을 기반으로 고정된 기준에 따라 이상 거래를 탐지하는 방식으로 설계되어 있다. 그러나, 이러한 방식은 데이터 변화에 적응하는 능력이 부족하여, 실시간으로 발생하는 다양한 거래 패턴을 충분히 반영하지 못하는 한계가 있다. 또한, 특정 이상 거래 유형에 따라 각각 다른 방식으로 대응해야 할 상황에서 고정된 위험 관리 방식은 비효율적이며, 시스템의 유연성도 부족하다. 이로 인해 위험 예측의 정확도가 떨어지고, 금융 시스템의 안전성 또한 충분히 보장되지 않을 수 있다.Existing financial anomaly detection systems are mainly designed to detect abnormal transactions based on fixed criteria based on statistical models. However, this method has limitations in that it lacks the ability to adapt to data changes and cannot sufficiently reflect various transaction patterns that occur in real time. In addition, fixed risk management methods are inefficient and the system lacks flexibility in situations where different responses are required depending on specific types of abnormal transactions. This may result in lower accuracy in risk prediction and insufficient security of the financial system.

이에, 인공지능을 이용하여 금융 데이터를 기반으로 이상 징후를 판단하고, 이상 징후에 따라 위험을 관리하는 시스템 및 방법이 필요하다. Accordingly, a system and method that uses artificial intelligence to determine abnormal signs based on financial data and manage risks based on abnormal signs are needed.

본 개시의 실시예들은, 인공지능을 이용하여 금융 데이터를 기반으로 이상 징후를 판단하고, 이상 징후에 따라 위험을 관리하는 시스템 및 방법을 제공할 수 있다. Embodiments of the present disclosure can provide a system and method for determining abnormal signs based on financial data using artificial intelligence and managing risks according to the abnormal signs.

실시예들에서 이루고자 하는 기술적 과제들은 이상에서 언급한 사항들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 이하 설명할 다양한 실시예들로부터 당해 기술분야에서 통상의 지식을 가진 자에 의해 고려될 수 있다.The technical tasks to be achieved in the embodiments are not limited to those mentioned above, and other technical tasks not mentioned can be considered by a person having ordinary skill in the art from the various embodiments described below.

일 실시예에 따른 위험을 관리하는 서버는, 주문 데이터를 기반으로 과부하 위험을 관리하기 위한 트래픽 정보를 생성하고, 거래 데이터를 기반으로 거래 위험을 관리하기 위한 감시 지표 정보를 생성하는 데이터 처리부, 상기 트래픽 정보를 기반으로 제1 뉴럴 네트워크를 이용하는 제1 위험 관리 모델을 통해 데이터 트래픽량에 대한 위험 정보를 결정하고, 상기 위험 정보를 기반으로 과부하 위험과 관련된 메시지를 생성하는 과부하 위험 관리부, 상기 감시 지표 정보 및 상기 위험 정보를 기반으로 제2 뉴럴 네트워크를 이용하는 제2 위험 관리 모델을 통해 복수의 이상 거래 유형 각각에 대한 확률을 결정하고, 상기 복수의 이상 거래 유형 각각에 대한 발생 확률을 기반으로 거래 위험과 관련된 메시지를 생성하는 거래 위험 관리부 및 상기 과부하 위험과 관련된 메시지 및 상기 거래 위험과 관련된 메시지를 관리자 단말에게 전송하는 위험 관리 메시지 전송부를 포함할 수 있다.A server for managing risks according to one embodiment may include a data processing unit which generates traffic information for managing overload risk based on order data and generates monitoring index information for managing transaction risk based on transaction data, an overload risk management unit which determines risk information on data traffic volume through a first risk management model using a first neural network based on the traffic information and generates a message related to overload risk based on the risk information, a transaction risk management unit which determines a probability for each of a plurality of abnormal transaction types through a second risk management model using a second neural network based on the monitoring index information and the risk information and generates a message related to transaction risk based on the occurrence probability for each of the plurality of abnormal transaction types, and a risk management message transmission unit which transmits the message related to overload risk and the message related to transaction risk to an administrator terminal.

실시예들에 따르면, 서버는 제1 뉴럴 네트워크를 이용하는 제1 위험 관리 모델을 통해 데이터 트래픽량에 대한 위험 정보를 결정하고, 위험 정보에 따라 과부하 위험과 관련된 메시지를 관리자 단말에게 제공함으로써, 서버의 과부하에 따른 다양한 네트워크 위험을 방지할 수 있다.According to embodiments, the server determines risk information on the amount of data traffic through a first risk management model using a first neural network, and provides a message related to the risk of overload to an administrator terminal according to the risk information, thereby preventing various network risks due to overload of the server.

실시예들에 따르면, 서버는 거래 데이터를 기반으로 거래 위험을 관리하기 위한 감시 지표 정보와 위험 정보를 기반으로 제2 뉴럴 네트워크를 이용하는 제2 위험 관리 모델을 통해 복수의 이상 거래 유형 각각에 대한 확률을 결정하고, 복수의 이상 거래 유형 각각에 대한 확률에 따라 거래 위험과 관련된 메시지를 관리자 단말에게 제공할 수 있다. 즉, 인공지능을 통해 실시간으로 이상 거래의 발생 확률을 판단하여, 이상 거래에 대한 예측 정확도를 향상시키고, 금융 시스템의 안전성을 보장할 수 있다. According to embodiments, the server determines the probability for each of a plurality of abnormal transaction types through a second risk management model using a second neural network based on monitoring indicator information and risk information for managing transaction risk based on transaction data, and provides a message related to transaction risk to the administrator terminal according to the probability for each of a plurality of abnormal transaction types. That is, by determining the probability of occurrence of abnormal transactions in real time through artificial intelligence, the prediction accuracy for abnormal transactions can be improved and the safety of the financial system can be guaranteed.

실시예들로부터 얻을 수 있는 효과들은 이상에서 언급된 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 이하의 상세한 설명을 기반으로 당해 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다.The effects that can be obtained from the examples are not limited to the effects mentioned above, and other effects that are not mentioned can be clearly derived and understood by a person having ordinary skill in the art based on the detailed description below.

실시예들에 대한 이해를 돕기 위해 상세한 설명의 일부로 포함된, 첨부 도면은 다양한 실시예들을 제공하고, 상세한 설명과 함께 다양한 실시예들의 기술적 특징을 설명한다.
도 1은 일 실시예에 따른 전자 장치의 구성을 나타내는 도면이다.
도 2는 일 실시예에 따른 프로그램의 구성을 나타내는 도면이다.
도 3은 일 실시예에 따라 인공지능을 이용하여 금융 데이터를 기반으로 이상 징후를 판단하고, 이상 징후에 따라 위험을 관리하는 시스템을 나타낸다.
도 4는 인공지능을 이용하여 금융 데이터를 기반으로 이상 징후를 판단하고, 이상 징후에 따라 위험을 관리하는 서버의 주요 구성 요소를 나타낸 도면이다.
도 5는 일 실시예에 따라 제1 위험 관리 모델 및 제2 위험 관리 모델에 사용되는 GRU(gated recurrent unit) 모델에 대한 예를 나타낸다.
도 6은 일 실시예에 따른 서버의 하드웨어 구성을 나타내는 블록도이다.
The accompanying drawings, which are included as part of the detailed description to aid in understanding the embodiments, provide various embodiments and, together with the detailed description, describe technical features of the various embodiments.
FIG. 1 is a diagram showing the configuration of an electronic device according to one embodiment.
Figure 2 is a diagram showing the configuration of a program according to one embodiment.
FIG. 3 illustrates a system that uses artificial intelligence to determine abnormal signs based on financial data and manages risks based on the abnormal signs, according to one embodiment.
Figure 4 is a diagram showing the main components of a server that uses artificial intelligence to determine abnormal signs based on financial data and manages risks based on abnormal signs.
FIG. 5 illustrates an example of a gated recurrent unit (GRU) model used in the first risk management model and the second risk management model according to one embodiment.
Figure 6 is a block diagram showing the hardware configuration of a server according to one embodiment.

이하의 실시예들은 실시예들의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 다양한 실시예들을 구성할 수도 있다. 다양한 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.The following embodiments are combinations of the components and features of the embodiments in a given form. Each component or feature may be considered optional unless otherwise explicitly stated. Each component or feature may be implemented in a form that is not combined with other components or features. In addition, some components and/or features may be combined to form various embodiments. The order of operations described in various embodiments may be changed. Some components or features of one embodiment may be included in another embodiment, or may be replaced with corresponding components or features of another embodiment.

도면에 대한 설명에서, 다양한 실시예들의 요지를 흐릴 수 있는 절차 또는 단계 등은 기술하지 않았으며, 당해 기술분야에서 통상의 지식을 가진 자의 수준에서 이해할 수 있을 정도의 절차 또는 단계는 또한 기술하지 아니하였다.In the description of the drawings, procedures or steps that may obscure the gist of the various embodiments are not described, and procedures or steps that can be understood by a person with ordinary skill in the art are also not described.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 다양한 실시예들을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Throughout the specification, when a part is said to "comprising" or "including" a component, this does not mean that other components are excluded, but rather that other components can be included, unless otherwise stated. Furthermore, terms such as "part," "unit," "module," etc. described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware, software, or a combination of hardware and software. Furthermore, terms such as "a" or "an," "one," "the," and similar related words may be used in the context of describing various embodiments (especially in the context of the claims below) to include both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context.

이하, 다양한 실시예들에 따른 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 다양한 실시예들의 예시적인 실시 형태를 설명하고자 하는 것이며, 유일한 실시형태를 나타내고자 하는 것이 아니다.Hereinafter, embodiments according to various embodiments will be described in detail with reference to the attached drawings. The detailed description set forth below together with the attached drawings is intended to explain exemplary embodiments of various embodiments and is not intended to represent the only embodiment.

또한, 다양한 실시예들에서 사용되는 특정(特定) 용어들은 다양한 실시예들의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 다양한 실시예들의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.In addition, specific terms used in various embodiments are provided to help understanding of various embodiments, and the use of such specific terms may be changed in other forms without departing from the technical spirit of various embodiments.

도 1은 일 실시예에 따른 전자 장치의 구성을 나타내는 도면이다.FIG. 1 is a diagram showing the configuration of an electronic device according to one embodiment.

도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다. 전자 장치(101)는 클라이언트, 단말기 또는 피어로 지칭될 수도 있다.FIG. 1 is a block diagram of an electronic device (101) in a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with the electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (104) or the server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)). The electronic device (101) may also be referred to as a client, terminal, or peer.

프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor (120) may control at least one other component (e.g., a hardware or software component) of an electronic device (101) connected to the processor (120) by executing, for example, software (e.g., a program (140)), and may perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculations, the processor (120) may store a command or data received from another component (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the command or data stored in the volatile memory (132), and store result data in a nonvolatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (121). For example, when the electronic device (101) includes a main processor (121) and an auxiliary processor (123), the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a given function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as a part thereof.

보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. The auxiliary processor (123) may control at least a portion of functions or states associated with at least one of the components of the electronic device (101) (e.g., the display module (160), the sensor module (176), or the communication module (190)), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models.

인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.The artificial intelligence model can be generated through machine learning. Such learning can be performed, for example, in the electronic device (101) on which the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include a plurality of artificial neural network layers. The artificial neural network can be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), deep Q-networks, or a combination of two or more of the above, but is not limited to the examples described above. An artificial intelligence model may additionally or alternatively include a software structure in addition to a hardware structure.

메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or nonvolatile memory (134).

프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. The program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).

입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The audio output module (155) can output an audio signal to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes such as multimedia playback or recording playback. The receiver can be used to receive an incoming call. According to one embodiment, the receiver can be implemented separately from the speaker or as a part thereof.

디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) can include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. According to one embodiment, the display module (160) can include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.

오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can obtain sound through an input module (150), or output sound through an audio output module (155), or an external electronic device (e.g., an electronic device (102)) (e.g., a speaker or a headphone) directly or wirelessly connected to the electronic device (101).

센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The sensor module (176) can detect an operating state (e.g., power or temperature) of the electronic device (101) or an external environmental state (e.g., user state) and generate an electric signal or data value corresponding to the detected state. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., the electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module (179) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that a user can perceive through a tactile or kinesthetic sense. According to one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

카메라 모듈(180)은 정지 영상 및 영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) can include one or more lenses, image sensors, image signal processors, or flashes.

전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).

배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The battery (189) can power at least one component of the electronic device (101). In one embodiment, the battery (189) can include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다. The communication module (190) may support establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., the electronic device (102), the electronic device (104), or the server (108)), and performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., the application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module or a power line communication module). Among these communication modules, a corresponding communication module may communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) may use subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196) to identify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199).

무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.The wireless communication module (192) can support a 5G network and next-generation communication technology after a 4G network, for example, NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), terminal power minimization and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) may support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) may support various requirements specified in an electronic device (101), an external electronic device (e.g., an electronic device (104)), or a network system (e.g., a second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL) each, or 1 ms or less for round trip) for URLLC realization.

안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다. The antenna module (197) can transmit or receive signals or power to or from the outside (e.g., an external electronic device). According to one embodiment, the antenna module (197) can include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one embodiment, the antenna module (197) can include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), can be selected from the plurality of antennas by, for example, the communication module (190). A signal or power can be transmitted or received between the communication module (190) and the external electronic device through the selected at least one antenna. According to some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) can be additionally formed as a part of the antenna module (197).

다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to various embodiments, the antenna module (197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC positioned on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) positioned on or adjacent a second side (e.g., a top side or a side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.

상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the above components may be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, a general purpose input and output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)).

일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.In one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102, or 104) may be the same or a different type of device as the electronic device (101). In one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of executing the function or service itself or in addition, request one or more external electronic devices to perform at least a part of the function or service. One or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as it is or additionally and provide it as at least a part of a response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device (101) may provide an ultra-low latency service by using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device (104) may include an IoT (Internet of Things) device. The server (108) may be an intelligent server using machine learning and/or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199). The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

서버(108)는 전자 장치(101)가 접속되며, 접속된 전자 장치(101)로 서비스를 제공할 수 있다. 또한, 서버(108)는 회원 가입 절차를 진행하여 그에 따라 회원으로 가입된 사용자의 각종 정보를 저장하여 관리하고, 서비스에 관련된 각종 구매 및 결제 기능을 제공할 수도 있다. 또한, 서버(108)는, 사용자 간에 서비스를 공유할 수 있도록, 복수의 전자 장치(101) 각각에서 실행되는 서비스 애플리케이션의 실행 데이터를 실시간으로 공유할 수도 있다. 이러한 서버(108)는 하드웨어적으로는 통상적인 웹 서버(Web Server) 또는 서비스 서버(Service Server)와 동일한 구성을 가질 수 있다. 그러나, 소프트웨어적으로는, C, C++, Java, Python, Golang, kotlin 등 여하한 언어를 통하여 구현되어 여러 가지 기능을 하는 프로그램 모듈(Module)을 포함할 수 있다. 또한, 서버(108)는 일반적으로 인터넷과 같은 개방형 컴퓨터 네트워크를 통하여 불특정 다수 클라이언트 및/또는 다른 서버와 연결되어 있고, 클라이언트 또는 다른 서버의 작업수행 요청을 접수하고 그에 대한 작업 결과를 도출하여 제공하는 컴퓨터 시스템 및 그를 위하여 설치되어 있는 컴퓨터 소프트웨어(서버 프로그램)를 뜻하는 것이다. 또한, 서버(108)는, 전술한 서버 프로그램 이외에도, 서버(108) 상에서 동작하는 일련의 응용 프로그램(Application Program)과 경우에 따라서는 내부 또는 외부에 구축되어 있는 각종 데이터베이스(DB: Database, 이하 "DB"라 칭함)를 포함하는 넓은 개념으로 이해되어야 할 것이다. 따라서, 서버(108)는, 회원 가입 정보와, 게임에 대한 각종 정보 및 데이터를 분류하여 DB에 저장시키고 관리하는데, 이러한 DB는 서버(108)의 내부 또는 외부에 구현될 수 있다. 또한, 서버(108)는, 일반적인 서버용 하드웨어에 윈도우(windows), 리눅스(Linux), 유닉스(UNIX), 매킨토시(Macintosh) 등의 운영체제에 따라 다양하게 제공되고 있는 서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 IIS(Internet Information Server)와 유닉스환경에서 사용되는 CERN, NCSA, APPACH, TOMCAT 등을 이용하여 웹 서비스를 구현할 수 있다. 또한, 서버(108)는, 서비스의 사용자 인증이나 서비스와 관련된 구매 결제를 위한 인증 시스템 및 결제 시스템과 연동할 수도 있다.The server (108) is connected to an electronic device (101) and can provide a service to the connected electronic device (101). In addition, the server (108) can perform a membership registration procedure, store and manage various information of users registered as members accordingly, and provide various purchase and payment functions related to the service. In addition, the server (108) can share in real time the execution data of a service application running on each of a plurality of electronic devices (101) so that the service can be shared between users. In terms of hardware, this server (108) can have the same configuration as a typical web server or service server. However, in terms of software, it can include program modules (Modules) that are implemented through any language such as C, C++, Java, Python, Golang, or Kotlin and perform various functions. In addition, the server (108) generally refers to a computer system and computer software (server program) installed therefor that is connected to an unspecified number of clients and/or other servers through an open computer network such as the Internet, and that receives a request to perform a task from a client or other server and provides the result of the task. In addition, the server (108) should be understood as a broad concept that includes, in addition to the server program described above, a series of application programs that operate on the server (108) and, in some cases, various databases (DB: Database, hereinafter referred to as “DB”) that are built internally or externally. Accordingly, the server (108) classifies member registration information and various information and data about the game and stores and manages them in the DB, and this DB can be implemented internally or externally of the server (108). In addition, the server (108) can be implemented using a server program that is provided in various ways according to the operating system such as Windows, Linux, UNIX, Macintosh, etc. on general server hardware, and representative examples thereof include IIS (Internet Information Server) used in a Windows environment and CERN, NCSA, APPACH, TOMCAT, etc. used in a UNIX environment, which can implement a web service. In addition, the server (108) can also be linked with an authentication system and a payment system for user authentication of a service or purchase payment related to a service.

제1 네트워크(198) 및 제2 네트워크(199)는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조 또는 서버(108)와 전자 장치들(101, 104)을 연결하는 망(Network)을 의미한다. 제1 네트워크(198) 및 제2 네트워크(199)는 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G, 4G, LTE, 5G, Wi-Fi 등이 포함되나 이에 한정되지는 않는다. 제1 네트워크(198) 및 제2 네트워크(199)는 LAN, WAN 등의 폐쇄형 제1 네트워크(198) 및 제2 네트워크(199)일 수도 있으나, 인터넷(Internet)과 같은 개방형인 것이 바람직하다. 인터넷은 TCP/IP 프로토콜, TCP, UDP(user datagram protocol) 등의 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(HyperText Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service)를 제공하는 전 세계적인 개방형 컴퓨터 제1 네트워크(198) 및 제2 네트워크(199) 구조를 의미한다.The first network (198) and the second network (199) refer to a connection structure that enables information exchange between each node, such as terminals and servers, or a network that connects the server (108) and electronic devices (101, 104). The first network (198) and the second network (199) include, but are not limited to, the Internet, a Local Area Network (LAN), a Wireless Local Area Network (Wireless LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), 3G, 4G, LTE, 5G, Wi-Fi, etc. The first network (198) and the second network (199) may be closed first networks (198) and second networks (199) such as LANs and WANs, but are preferably open such as the Internet. The Internet refers to the worldwide open computer first network (198) and second network (199) structure that provides protocols such as TCP/IP protocol, TCP, UDP (user datagram protocol), and various services existing at higher layers, namely HTTP (HyperText Transfer Protocol), Telnet, FTP (File Transfer Protocol), DNS (Domain Name System), SMTP (Simple Mail Transfer Protocol), SNMP (Simple Network Management Protocol), NFS (Network File Service), and NIS (Network Information Service).

데이터베이스는 데이터베이스 관리 프로그램(DBMS)을 이용하여 컴퓨터 시스템의 저장공간(하드디스크 또는 메모리)에 구현된 일반적인 데이터구조를 가질 수 있다. 데이터베이스는 데이터의 검색(추출), 삭제, 편집, 추가 등을 자유롭게 행할 수 있는 데이터 저장형태를 가질 수 있다. 데이터베이스는 오라클(Oracle), 인포믹스(Infomix), 사이베이스(Sybase), DB2와 같은 관계형 데이타베이스 관리 시스템(RDBMS)이나, 겜스톤(Gemston), 오리온(Orion), O2 등과 같은 객체 지향 데이타베이스 관리 시스템(OODBMS) 및 엑셀론(Excelon), 타미노(Tamino), 세카이주(Sekaiju) 등의 XML 전용 데이터베이스(XML Native Database)를 이용하여 본 개시의 일 실시예의 목적에 맞게 구현될 수 있고, 자신의 기능을 달성하기 위하여 적당한 필드(Field) 또는 엘리먼트들을 가질 수 있다.A database can have a general data structure implemented in the storage space (hard disk or memory) of a computer system using a database management program (DBMS). The database can have a data storage form that allows free searching (extracting), deleting, editing, adding, etc. of data. The database can be implemented to suit the purpose of one embodiment of the present disclosure using a relational database management system (RDBMS) such as Oracle, Informix, Sybase, and DB2, an object-oriented database management system (OODBMS) such as Gemston, Orion, and O2, and an XML native database such as Excelon, Tamino, and Sekaiju, and can have appropriate fields or elements to achieve its function.

도 2는 일 실시예에 따른 프로그램의 구성을 나타내는 도면이다.Figure 2 is a diagram showing the configuration of a program according to one embodiment.

도 2은 다양한 실시예에 따른 프로그램(140)을 예시하는 블록도(200)이다. 일실시예에 따르면, 프로그램(140)은 전자 장치(101)의 하나 이상의 리소스들을 제어하기 위한 운영 체제(142), 미들웨어(144), 또는 상기 운영 체제(142)에서 실행 가능한 어플리케이션(146)을 포함할 수 있다. 운영 체제(142)는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 프로그램(140) 중 적어도 일부 프로그램은, 예를 들면, 제조 시에 전자 장치(101)에 프리로드되거나, 또는 사용자에 의해 사용 시 외부 전자 장치(예: 전자 장치(102 또는 104), 또는 서버(108))로부터 다운로드되거나 갱신 될 수 있다. 프로그램(140)의 전부 또는 일부는 뉴럴 네트워크를 포함할 수 있다. FIG. 2 is a block diagram (200) illustrating a program (140) according to various embodiments. According to one embodiment, the program (140) may include an operating system (142), middleware (144), or an application (146) executable on the operating system (142) for controlling one or more resources of the electronic device (101). The operating system (142) may include, for example, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, or BadaTM. At least some of the programs (140) may be preloaded on the electronic device (101), for example, at the time of manufacturing, or may be downloaded or updated from an external electronic device (e.g., the electronic device (102 or 104), or the server (108)) when used by a user. All or part of the program (140) may include a neural network.

운영 체제(142)는 전자 장치(101)의 하나 이상의 시스템 리소스들(예: 프로세스, 메모리, 또는 전원)의 관리(예: 할당 또는 회수)를 제어할 수 있다. 운영 체제(142)는, 추가적으로 또는 대체적으로, 전자 장치(101)의 다른 하드웨어 디바이스, 예를 들면, 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 구동하기 위한 하나 이상의 드라이버 프로그램들을 포함할 수 있다.The operating system (142) may control the management (e.g., allocation or retrieval) of one or more system resources (e.g., processes, memory, or power) of the electronic device (101). The operating system (142) may additionally or alternatively include one or more driver programs for driving other hardware devices of the electronic device (101), such as an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197).

미들웨어(144)는 전자 장치(101)의 하나 이상의 리소스들로부터 제공되는 기능 또는 정보가 어플리케이션(146)에 의해 사용될 수 있도록 다양한 기능들을 어플리케이션(146)으로 제공할 수 있다. 미들웨어(144)는, 예를 들면, 어플리케이션 매니저(201), 윈도우 매니저(203), 멀티미디어 매니저(205), 리소스 매니저(207), 파워 매니저(209), 데이터베이스 매니저(211), 패키지 매니저(213), 커넥티비티 매니저(215), 노티피케이션 매니저(217), 로케이션 매니저(219), 그래픽 매니저(221), 시큐리티 매니저(223), 통화 매니저(225), 또는 음성 인식 매니저(227)를 포함할 수 있다. The middleware (144) may provide various functions to the application (146) so that functions or information provided from one or more resources of the electronic device (101) may be used by the application (146). The middleware (144) may include, for example, an application manager (201), a window manager (203), a multimedia manager (205), a resource manager (207), a power manager (209), a database manager (211), a package manager (213), a connectivity manager (215), a notification manager (217), a location manager (219), a graphics manager (221), a security manager (223), a call manager (225), or a voice recognition manager (227).

어플리케이션 매니저(201)는, 예를 들면, 어플리케이션(146)의 생명 주기를 관리할 수 있다. 윈도우 매니저(203)는, 예를 들면, 화면에서 사용되는 하나 이상의 GUI 자원들을 관리할 수 있다. 멀티미디어 매니저(205)는, 예를 들면, 미디어 파일들의 재생에 필요한 하나 이상의 포맷들을 파악하고, 그 중 선택된 해당하는 포맷에 맞는 코덱을 이용하여 상기 미디어 파일들 중 해당하는 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(207)는, 예를 들면, 어플리케이션(146)의 소스 코드 또는 메모리(130)의 메모리의 공간을 관리할 수 있다. 파워 매니저(209)는, 예를 들면, 배터리(189)의 용량, 온도 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치(101)의 동작에 필요한 관련 정보를 결정 또는 제공할 수 있다. 일실시예에 따르면, 파워 매니저(209)는 전자 장치(101)의 바이오스(BIOS: basic input/output system)(미도시)와 연동할 수 있다.The application manager (201) can manage, for example, the life cycle of the application (146). The window manager (203) can manage, for example, one or more GUI resources used on the screen. The multimedia manager (205) can identify, for example, one or more formats required for playing media files, and perform encoding or decoding of a corresponding media file among the media files using a codec suitable for a corresponding format selected among the formats. The resource manager (207) can manage, for example, the source code of the application (146) or the memory space of the memory (130). The power manager (209) can manage, for example, the capacity, temperature, or power of the battery (189), and determine or provide related information required for the operation of the electronic device (101) using the corresponding information. According to one embodiment, the power manager (209) can be linked with a BIOS (basic input/output system) (not shown) of the electronic device (101).

데이터베이스 매니저(211)는, 예를 들면, 어플리케이션(146)에 의해 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(213)는, 예를 들면, 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다. 커넥티비티 매니저(215)는, 예를 들면, 전자 장치(101)와 외부 전자 장치 간의 무선 연결 또는 직접 연결을 관리할 수 있다. 노티피케이션 매니저(217)는, 예를 들면, 지정된 이벤트(예: 착신 통화, 메시지, 또는 알람)의 발생을 사용자에게 알리기 위한 기능을 제공할 수 있다. 로케이션 매니저(219)는, 예를 들면, 전자 장치(101)의 위치 정보를 관리할 수 있다. 그래픽 매니저(221)는, 예를 들면, 사용자에게 제공될 하나 이상의 그래픽 효과들 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. The database manager (211) may, for example, create, search, or modify a database to be used by the application (146). The package manager (213) may, for example, manage the installation or update of an application distributed in the form of a package file. The connectivity manager (215) may, for example, manage a wireless connection or direct connection between the electronic device (101) and an external electronic device. The notification manager (217) may, for example, provide a function for notifying a user of the occurrence of a specified event (e.g., an incoming call, a message, or an alarm). The location manager (219) may, for example, manage location information of the electronic device (101). The graphics manager (221) may, for example, manage one or more graphic effects to be provided to the user or a user interface related thereto.

시큐리티 매니저(223)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 통화(telephony) 매니저(225)는, 예를 들면, 전자 장치(101)에 의해 제공되는 음성 통화 기능 또는 영상 통화 기능을 관리할 수 있다. 음성 인식 매니저(227)는, 예를 들면, 사용자의 음성 데이터를 서버(108)로 전송하고, 그 음성 데이터에 적어도 일부 기반하여 전자 장치(101)에서 수행될 기능에 대응하는 명령어(command), 또는 그 음성 데이터에 적어도 일부 기반하여 변환된 문자 데이터를 서버(108)로부터 수신할 수 있다. 일 실시예에 따르면, 미들웨어(244)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 일 실시예에 따르면, 미들웨어(144)의 적어도 일부는 운영 체제(142)의 일부로 포함되거나, 또는 운영 체제(142)와는 다른 별도의 소프트웨어로 구현될 수 있다.The security manager (223) may provide, for example, system security or user authentication. The telephony manager (225) may manage, for example, a voice call function or a video call function provided by the electronic device (101). The voice recognition manager (227) may, for example, transmit a user's voice data to the server (108) and receive, from the server (108), a command corresponding to a function to be performed in the electronic device (101) based at least in part on the voice data, or converted text data based at least in part on the voice data. In one embodiment, the middleware (244) may dynamically delete some of the existing components or add new components. In one embodiment, at least a portion of the middleware (144) may be included as a part of the operating system (142), or may be implemented as separate software different from the operating system (142).

어플리케이션(146)은, 예를 들면, 홈(251), 다이얼러(253), SMS/MMS(255), IM(instant message)(257), 브라우저(259), 카메라(261), 알람(263), 컨택트(265), 음성 인식(267), 이메일(269), 달력(271), 미디어 플레이어(273), 앨범(275), 와치(277), 헬스(279)(예: 운동량 또는 혈당과 같은 생체 정보를 측정), 또는 환경 정보(281)(예: 기압, 습도, 또는 온도 정보 측정) 어플리케이션을 포함할 수 있다. 일실시예에 따르면, 어플리케이션(146)은 전자 장치(101)와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션(미도시)을 더 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치로 지정된 정보 (예: 통화, 메시지, 또는 알람)를 전달하도록 설정된 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하도록 설정된 장치 관리 어플리케이션을 포함할 수 있다. 노티피케이션 릴레이 어플리케이션은, 예를 들면, 전자 장치(101)의 다른 어플리케이션(예: 이메일 어플리케이션(269))에서 발생된 지정된 이벤트(예: 메일 수신)에 대응하는 알림 정보를 외부 전자 장치로 전달할 수 있다. 추가적으로 또는 대체적으로, 노티피케이션 릴레이 어플리케이션은 외부 전자 장치로부터 알림 정보를 수신하여 전자 장치(101)의 사용자에게 제공할 수 있다. The application (146) may include, for example, a home (251), a dialer (253), an SMS/MMS (255), an instant message (IM) (257), a browser (259), a camera (261), an alarm (263), a contact (265), voice recognition (267), an email (269), a calendar (271), a media player (273), an album (275), a watch (277), a health (279) (e.g., measuring biometric information such as the amount of exercise or blood sugar), or an environmental information (281) (e.g., measuring barometric pressure, humidity, or temperature information) application. According to one embodiment, the application (146) may further include an information exchange application (not shown) that can support information exchange between the electronic device (101) and an external electronic device. The information exchange application may include, for example, a notification relay application configured to transmit designated information (e.g., a call, a message, or an alarm) to an external electronic device, or a device management application configured to manage an external electronic device. The notification relay application may, for example, transmit notification information corresponding to a designated event (e.g., receipt of a mail) that occurred in another application (e.g., an email application (269)) of the electronic device (101) to the external electronic device. Additionally or alternatively, the notification relay application may receive notification information from the external electronic device and provide the information to a user of the electronic device (101).

장치 관리 어플리케이션은, 예를 들면, 전자 장치(101)와 통신하는 외부 전자 장치 또는 그 일부 구성 요소(예: 외부 전자장치의 디스플레이 모듈 또는 카메라 모듈)의 전원(예: 턴-온 또는 턴-오프) 또는 기능(예: 밝기, 해상도, 또는 포커스)을 제어할 수 있다. 장치 관리 어플리케이션은, 추가적으로 또는 대체적으로, 외부 전자 장치에서 동작하는 어플리케이션의 설치, 삭제, 또는 갱신을 지원할 수 있다.The device management application may control, for example, power (e.g., turning on or off) or functions (e.g., brightness, resolution, or focus) of an external electronic device or a component thereof (e.g., a display module or a camera module of the external electronic device) that communicates with the electronic device (101). The device management application may additionally or alternatively support installation, deletion, or updating of applications running on the external electronic device.

본 명세서에 걸쳐, 뉴럴 네트워크(neural network), 신경망 네트워크, 네트워크 함수는, 동일한 의미로 사용될 수 있다. 뉴럴 네트워크는, 일반적으로 "노드"라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 "노드"들은, "뉴런(neuron)"들로 지칭될 수도 있다. 뉴럴 네트워크는, 적어도 둘 이상의 노드들을 포함하여 구성된다. 뉴럴 네트워크들을 구성하는 노드(또는 뉴런)들은 하나 이상의 "링크"에 의해 상호 연결될 수 있다.Throughout this specification, the terms neural network, neural network, and network function may be used interchangeably. A neural network may be composed of a set of interconnected computational units, which may generally be referred to as "nodes." These "nodes" may also be referred to as "neurons." A neural network is composed of at least two or more nodes. The nodes (or neurons) constituting the neural networks may be interconnected by one or more "links."

뉴럴 네트워크 내에서, 링크를 통해 연결된 둘 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.In a neural network, two or more nodes connected through a link can form a relationship of input nodes and output nodes relatively. The concept of input nodes and output nodes is relative, and any node in an output node relationship to one node can be in an input node relationship with another node, and vice versa. As described above, the input node-to-output node relationship can be created based on links. One or more output nodes can be connected to one input node through links, and vice versa.

하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서, 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치를 가질 수 있다. 가중치는 가변적일 수 있으며, 뉴럴 네트워크가 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 여기서, 입력 노드와 출력 노드를 상호 연결하는 에지 또는 링크는 뉴럴 네트워크가 원하는 기능의 수행, 사용자 또는 알고리즘에 의해 가변적으로 적용될 수 있는 가중치를 갖는다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.In a relationship between input nodes and output nodes connected through a single link, the value of the output node can be determined based on the data input to the input node. Here, the node interconnecting the input node and the output node can have a weight. The weight can be variable and can be variable by a user or an algorithm in order for the neural network to perform a desired function. Here, the edge or link interconnecting the input node and the output node has a weight that can be variably applied by a user or an algorithm in order for the neural network to perform a desired function. For example, when one or more input nodes are interconnected to one output node through each link, the output node can determine the output node value based on the values input to the input nodes connected to the output node and the weight set for the link corresponding to each input node.

전술한 바와 같이, 뉴럴 네트워크는, 둘 이상의 노드들이 하나 이상의 링크를 통해 상호연결 되어 뉴럴 네트워크 내에서 입력 노드 및 출력 노드 관계를 형성한다. 뉴럴 네트워크 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 신경망 네트워크의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 신경망 네트워크가 존재하는 경우, 두 개의 신경망 네트워크들은 서로 상이한 것으로 인식될 수 있다.As described above, a neural network is a network in which two or more nodes are interconnected through one or more links to form input node and output node relationships within the neural network. Depending on the number of nodes and links within the neural network, the relationship between the nodes and links, and the weight values assigned to each link, the characteristics of the neural network can be determined. For example, if there are two neural networks with the same number of nodes and links and different weight values between the links, the two neural networks can be recognized as being different from each other.

도 3은 일 실시예에 따라 인공지능을 이용하여 금융 데이터를 기반으로 이상 징후를 판단하고, 이상 징후에 따라 위험을 관리하는 시스템을 나타낸다. 도 3의 실시예는 본 개시의 다양한 실시예들과 결합될 수 있다.FIG. 3 illustrates a system that uses artificial intelligence to determine abnormal signs based on financial data and manages risks based on the abnormal signs, according to one embodiment. The embodiment of FIG. 3 can be combined with various embodiments of the present disclosure.

도 3을 참조하면, 거래 위험 관리 시스템(30)은 서버(310), 사용자 단말(320), 거래소 서버(330) 및 대출 기관 서버(340)를 포함할 수 있다.Referring to FIG. 3, the transaction risk management system (30) may include a server (310), a user terminal (320), an exchange server (330), and a lending institution server (340).

서버(310)는 홈 트레이딩 시스템, 그래픽 사용자 인터페이스, 그래픽 사용자 익스피어런스 및/또는 웹 페이지를 통해 종목 관련 정보를 제공할 수 있다. 홈 트레이딩 시스템, 그래픽 사용자 인터페이스, 그래픽 사용자 익스피어런스 및/또는 웹 페이지는 서버(310)에 의하여 제공될 수 있으나, 서버(310)와 연동되어 복수의 계좌 각각을 운영 및/또는 관리하는 서로 다른 증권사에 의해 제공될 수 있다. 예를 들어, 서버(310)는 도 1의 서버(108)를 포함할 수 있다.The server (310) may provide information related to the stocks via a home trading system, a graphical user interface, a graphical user experience, and/or a web page. The home trading system, the graphical user interface, the graphical user experience, and/or the web page may be provided by the server (310), but may also be provided by different brokerage firms that operate and/or manage multiple accounts in conjunction with the server (310). For example, the server (310) may include the server (108) of FIG. 1.

사용자 단말(320)은 서버(310)를 통해 투자 상품에 대한 거래를 하길 원하는 사용자의 단말을 의미할 수 있다. 사용자 단말(320)은 통신 가능한 데스크탑 컴퓨터, 랩탑 컴퓨터, 노트북, 스마트폰, 태블릿 PC, 모바일폰, 스마트 워치 및 스마트 글래스를 포함할 수 있다. 예를 들어, 사용자 단말(320)은 도 1의 전자 장치(102)를 포함할 수 있다.The user terminal (320) may refer to a terminal of a user who wishes to trade an investment product through the server (310). The user terminal (320) may include a desktop computer, a laptop computer, a notebook, a smartphone, a tablet PC, a mobile phone, a smart watch, and smart glasses capable of communication. For example, the user terminal (320) may include an electronic device (102) of FIG. 1.

서버(310)는 거래 종목을 주문하고자 하는 사용자에게 주문 사용자 인터페이스(이하, 주문 UI)를 사용자 단말(320)을 통해 출력할 수 있다. 예를 들어, 서버(310)는 사용자의 계좌 정보 혹은 주문 정보에 의해 유동적으로 결정되는 주문 UI를 해당 사용자의 사용자 단말(320)을 통해 출력할 수 있다. 예를 들어, 주문 정보는 사용자가 이미 주문한 내역에 대한 정보를 포함할 수 있다. 서버(310)는 주문 UI를 통하여 사용자로부터 종목에 대한 매도 입력, 매수 입력 및/또는 기 주문 내용에 대한 정정 입력, 기 주문 내용에 대한 취소 입력을 획득할 수 있다.The server (310) can output an order user interface (hereinafter, “order UI”) to a user who wants to order a transaction item through a user terminal (320). For example, the server (310) can output an order UI that is dynamically determined by the user’s account information or order information through the user terminal (320) of the corresponding user. For example, the order information can include information on the order details already placed by the user. The server (310) can obtain a sell input for the item, a buy input, and/or a correction input for an existing order, or a cancellation input for an existing order from the user through the order UI.

서버(310)는 매수 입력에 대응하는 매수 주문, 매도 입력에 대응하는 매도 주문, 정정 입력에 대응하는 정정 주문 및 취소 입력에 대응하는 취소 주문 등을 거래소 서버(330)에게 전달할 수 있다. The server (310) can transmit a buy order corresponding to a buy input, a sell order corresponding to a sell input, a correction order corresponding to a correction input, and a cancel order corresponding to a cancel input to the exchange server (330).

서버(310)는 사용자 단말(320)의 사용자에 대한 개인 정보를 수집할 수 있다. 예를 들어, 개인 정보는 이름, 아이디(ID; identifier), 비밀번호, 도로명 주소, 전화 번호, 휴대폰 번호, 이메일 주소 및/또는 사용자가 본 개시의 서버(310)에서 제공하는 종목 거래 플랫폼을 통하여 종목을 매도 및/또는 매수한 이력, 평가손익, 수익률, 평가금액, 보유수량 등을 포함할 수 있다. 본 개시에서 '종목'은 주식, 선물, 옵션 및 코인 등과 같은 증권 시장 및 가상 화폐 시장에서 취급되는 투자 상품을 의미할 수 있다. '종목 거래'라 함은 주식, 선물, 옵션, 코인 등과 같이, 증권 시장 및 가상 화폐 시장에서 취급되는 투자 상품에 대한 거래 행위를 통칭하는 개념일 수 있다. The server (310) may collect personal information about the user of the user terminal (320). For example, the personal information may include a name, an ID (identifier), a password, a road name address, a telephone number, a mobile phone number, an email address, and/or a history of the user selling and/or buying stocks through a stock trading platform provided by the server (310) of the present disclosure, valuation profit and loss, rate of return, valuation amount, holding quantity, etc. In the present disclosure, 'stock' may mean an investment product handled in the securities market and virtual currency market, such as stocks, futures, options, and coins. 'Stock trading' may be a concept that collectively refers to trading activities for investment products handled in the securities market and virtual currency market, such as stocks, futures, options, and coins.

서버(310)는 주식/ETF(Exchange Traded Fund), 펀드, 금, 선물, 옵션 및/또는 코인과 같은 가상 화폐를 포함하는 변동성이 있는 투자 상품을 운영하거나, 또는 투자상품의 매매/환매 업무를 처리할 수 있다. 서버(310)는 증권사 서버, 투자운영사 서버 및/또는 펀드운영사 서버 등과 연동될 수 있다. 서버(310)는 적어도 하나의 종목에 투자될 사용자의 전체 투자 금액이 예치된 유동성 계좌를 운영할 수 있다.The server (310) may operate volatile investment products including virtual currencies such as stocks/ETFs (Exchange Traded Funds), funds, gold, futures, options, and/or coins, or may process investment product trading/redemption work. The server (310) may be linked to a securities company server, an investment management company server, and/or a fund management company server. The server (310) may operate a liquidity account in which the user's entire investment amount to be invested in at least one item is deposited.

서버(310)는 종목 관련 정보, 투자 정보, 기업 정보 및 시세 정보 등을 제공할 수 있으며, 다양한 지수들을 이용하여 일정 시간 동안의 종 목들의 등락율 추세 흐름을 분석할 수 있다. 예를 들어, 서버(310)는 코스피(KOSPI)와 코스닥(KOSDAQ)의 외국인 및 기관들의 수급, 원달러환율, 나스닥 선 물 지수(나스닥 선물 시세), 상하이 종합 주가 지수 등을 실시간으로 크롤링하여, 현재 시점에서의 국내 주식 시황을 실시간으로 사용자에게 제공할 수 있다. 또한, 서버(310)는 HIS(Hang Seng Index), 닛케이 225(JPN225), 선전 종합 지수, DAX(Deutscher Aktien IndeX), FTSE(Financial Times Stock Exchange) 100 지수, DJIA(다우 존스 산업평균지수)에 대한 정보를 더 생성하여 사용자에게 제공할 수도 있다. The server (310) can provide information related to stocks, investment information, corporate information, and market price information, and can analyze the trend flow of the rate of increase and decrease of stocks for a certain period of time by using various indices. For example, the server (310) can crawl in real time the supply and demand of foreigners and institutions in KOSPI and KOSDAQ, the won-dollar exchange rate, the NASDAQ futures index (NASDAQ futures price), the Shanghai Composite Stock Price Index, etc., to provide the current domestic stock market situation to the user in real time. In addition, the server (310) can additionally generate information on the HIS (Hang Seng Index), Nikkei 225 (JPN225), Shenzhen Composite Index, DAX (Deutscher Aktien IndeX), FTSE (Financial Times Stock Exchange) 100 Index, and DJIA (Dow Jones Industrial Average) and provide it to the user.

서버(310)는 사용자의 요청에 따라 데이터를 가공할 수 있고, 가공된 데이터를 숫자, 차트 및/또는 표 등과 같은 수단으로 사용자의 요청에 대응하는 종목 관련 정보를 제공할 수 있다. 종목 관련 정보는 등록된 종목 이름, 주요 지표 정보 및 보조 지표 정보 등과 같이 공지된 종목 거래에 관련된 다양한 정보를 포함할 수 있다. 서버(310)는 종목 관련 정보를 제공함으로써, 사용자가 거래에 필요한 유용한 정보를 제공받아 적합한 거래를 수행하는데 도움을 줄 수 있다.The server (310) can process data according to a user's request and provide stock-related information corresponding to the user's request by means of the processed data, such as numbers, charts, and/or tables. Stock-related information can include various information related to known stock transactions, such as registered stock names, key indicator information, and auxiliary indicator information. By providing stock-related information, the server (310) can help users perform appropriate transactions by providing useful information necessary for transactions.

예를 들어, 주요 지표 정보는, 실시간 시세, 시가 총액, 매수 호가, 매도 호가, 등락률, 최저가, 최고가, 시가, 종가, 체결량, 체결강도 등에 대한 정 보를 포함할 수 있다. For example, key indicator information may include information on real-time prices, market capitalization, bid prices, ask prices, fluctuation rates, lowest price, highest price, opening price, closing price, transaction volume, and transaction strength.

예를 들어, 보조 지표 정보는, 추세지표, 변동성 지표, 모멘텀 지표 및 시장강도 지표 등을 포함할 수 있다. 예를 들어, 추세지표는, 추세선, 이동평균 선, MACD(Moving Average Convergence & Divergence), DM(Directional Movement Index), ROC(Rate Of Change) 및 ADX(Average Directional Movement Index) 등을 포함할 수 있다. 예를 들어, 변동성 지표는, 불린저벤드, ATR, Envelope 및 Keltner Channels 등을 포함할 수 있다. 예를 들어, 모멘텀 지표는, 이격도, RSI (상대강도지수, Relative Strength Index), 투자심리선, 삼선전환도, AB Ratio, Mass Index, 스토케스틱, SONAR, P&F 및 TRIX 등을 포함할 수 있다. 예를 들어, 시 장강도 지표는, 거래량, MFI(Money Flow Index), EOM(Ease Of Movement), OBV, 거 래량 이동평균선, Volume 오실레이터 및 Volume Ratio 등을 포함할 수도 있다.For example, auxiliary indicator information may include trend indicators, volatility indicators, momentum indicators, and market strength indicators. For example, trend indicators may include trend lines, moving average lines, MACD (Moving Average Convergence & Divergence), DM (Directional Movement Index), ROC (Rate Of Change), and ADX (Average Directional Movement Index). For example, volatility indicators may include Boolean Bands, ATR, Envelope, and Keltner Channels. For example, momentum indicators may include divergence, RSI (Relative Strength Index), sentiment line, three-line conversion, AB Ratio, Mass Index, stochastic, SONAR, P&F, and TRIX. For example, market strength indicators may include volume, MFI (Money Flow Index), EOM (Ease Of Movement), OBV, moving average of volume, Volume Oscillator, and Volume Ratio.

일 실시 예에서, 서버(310)는 서버(310)의 관리자 또는 서버(310)에 접속한 사용자에 의하여 매매 결정 정보를 생성할 수 있다. 매매 결정 정보는 종목 매수 정보 및 종목 매도 정보를 포함할 수다. 예를 들어, 서버(310)는 사용자 단말(320)로부터 제1 종목에 대한 제1 주문 체결 목표 매도가 및 제2 종목에 대한 제2 주문 체결 목표 매수가를 획득할 수 있다. 주문 체결 목표 매도가는 사용자가 특정 종목을 매도하는 경우, 사용자가 매도하고자 하는 종목의 목표 시세를 의미할 수 있다. 예를 들어, 제1 종목의 시세가 '251.90'이 되었을 때, 매도 주문이 체결될 수 있도록, 사용자가 제1 종목에 대해 제1 주문 체결 목표 매도가인 '251.90'을 지정하여 매도 주문량 '2'를 입력한 경우, 서버(310)는 사용자 단말(320)을 통해 상기 제1 주문 체결 목표 매도가인 '251.90'을 입력받을 수 있다.In one embodiment, the server (310) may generate trading decision information by the administrator of the server (310) or the user connected to the server (310). The trading decision information may include stock purchase information and stock sale information. For example, the server (310) may obtain a first order execution target sell price for a first stock and a second order execution target buy price for a second stock from the user terminal (320). The order execution target sell price may mean the target price of the stock that the user wishes to sell when the user sells a specific stock. For example, when the price of the first stock becomes '251.90', if the user specifies the first order execution target sell price '251.90' for the first stock and inputs a sell order amount '2' so that the sell order can be executed, the server (310) may receive the first order execution target sell price '251.90' through the user terminal (320).

서버(310)는 주식, 선물, 코인, 금 및/또는 옵션 등 다양한 투자 상품에 대한 매매 결정 정보를 생성할 수 있다. 서버(310)는 매매 결정 정보에 기초하여 주문 신호를 생성하고, 생성된 주문 신호를 거래소 서버(300)에 제공할 수 있다. 거래소 서버(300)는 서버(310)로부터 획득된 계좌별 주문 신호를 수신하고, 수신된 계좌별 주문 신호에 대응하는 거래가 체결되도록 하는 일련의 과정을 수행할 수 있다. The server (310) can generate trading decision information for various investment products such as stocks, futures, coins, gold, and/or options. The server (310) can generate an order signal based on the trading decision information and provide the generated order signal to the exchange server (300). The exchange server (300) can receive the account-specific order signal obtained from the server (310) and perform a series of processes to execute a transaction corresponding to the received account-specific order signal.

다른 실시 예에서, 서버(310)는 소정의 로직 또는 알고리즘을 통해 특정 종목 또는 특정 종목군에 대한 매매 결정을 할 수 있다. 서버(310)는 매매 결정에 기초하여 매매 결정에 대응하는 매매 결정 정보를 생성할 수 있다. 이러한 서버(310)의 구체적인 실시 예는 다양할 수 있고, 다수의 시스템 트레이딩 로직 등이 공지되어 있거나 공연히 실시되고 있으며, 구체적인 매매 결정 정보의 로직 또는 알고리즘에 대해서는 상세한 설명은 생략한다. In another embodiment, the server (310) may make a trading decision for a specific stock or a specific group of stocks through a predetermined logic or algorithm. The server (310) may generate trading decision information corresponding to the trading decision based on the trading decision. Specific embodiments of the server (310) may vary, and many system trading logics, etc. are known or are being publicly implemented, and a detailed description of the logic or algorithm of specific trading decision information will be omitted.

서버(310)는 대출 기관 서버(340)와도 연동할 수 있다. 서버(310)는 사용자에 의하여 특정 종목을 담보로 담보 대출을 이용할 수 있는 서비스를 제공할 수 있고, 상기 서비스를 대출 기관 서버(340)와 연동하여 제공할 수 있다. 사용자 단말(320)은 특정 종목을 담보로 제공하여 대출 기관 서버(340)로부터 대출을 받을 수 있다. 대출기관 서버(340)는 사용자에 의해 선택된 종목을 담보로 한 담보대출 등의 서비스를 제공하는 은행 등의 대출 기관이 운영하는 서버를 의미할 수 있다. 서버(310)는 거래 종목의 매도, 담보권의 설정 등의 서비스를 제공하는 증권사가 운영하는 서버를 포함하거나, 상기 증권사가 운 영하는 서버와 연동될 수 있다. The server (310) may also be linked with a lending institution server (340). The server (310) may provide a service that allows a user to use a secured loan with a specific item as collateral, and may provide the service in conjunction with the lending institution server (340). The user terminal (320) may receive a loan from the lending institution server (340) by providing a specific item as collateral. The lending institution server (340) may refer to a server operated by a lending institution such as a bank that provides services such as secured loans with an item selected by the user as collateral. The server (310) may include a server operated by a securities company that provides services such as selling of traded items and establishment of collateral rights, or may be linked with a server operated by the securities company.

도 3에서는 설명의 편의를 위해 서버(310)를 하나의 장치로 도시하였지만, 실시 예에 따라 서버(310)는 서버(310)와 작동적으로 연결된 복수 개의 장치들을 포함할 수 있다. 예를 들어, 복수의 계좌가 각각 서로 다른 증권사에 의해 운영 및/또는 관리되는 계좌인 경우, 서버(310)는 서로 다른 증권사의 시스템과 연동될 수 있다.In FIG. 3, the server (310) is illustrated as a single device for convenience of explanation, but depending on the embodiment, the server (310) may include a plurality of devices operatively connected to the server (310). For example, if a plurality of accounts are accounts operated and/or managed by different securities companies, the server (310) may be linked with the systems of the different securities companies.

도 4는 인공지능을 이용하여 금융 데이터를 기반으로 이상 징후를 판단하고, 이상 징후에 따라 위험을 관리하는 서버의 주요 구성 요소를 나타낸 도면이다. 도 4는 본 개시의 다양한 실시예들과 결합될 수 있다.FIG. 4 is a diagram showing the main components of a server that uses artificial intelligence to determine abnormal signs based on financial data and manages risks based on the abnormal signs. FIG. 4 can be combined with various embodiments of the present disclosure.

도 4를 참조하면, 서버(310)는 데이터 처리부(311), 과부하 위험 관리부(312), 거래 위험 관리부(313) 및 위험 관리 메시지 전송부(314)를 포함할 수 있다.Referring to FIG. 4, the server (310) may include a data processing unit (311), an overload risk management unit (312), a transaction risk management unit (313), and a risk management message transmission unit (314).

데이터 처리부(311)는 데이터와 관련된 포괄적인 처리를 수행하는 구성으로, 데이터 수신, 데이터 처리 및 데이터 송신 등을 수행할 수 있다. 데이터 처리부(311)는 송신되는 데이터, 수신되는 데이터 및 처리되는 데이터 등에 기초하여 데이터 트래픽량을 실시간으로 산출할 수 있다.The data processing unit (311) is a configuration that performs comprehensive processing related to data, and can perform data reception, data processing, and data transmission, etc. The data processing unit (311) can calculate the amount of data traffic in real time based on data being transmitted, data being received, and data being processed.

데이터 처리부(311)는 주문 데이터를 기반으로 과부하 위험을 관리하기 위한 트래픽 정보를 생성하고, 거래 데이터를 기반으로 거래 위험을 관리하기 위한 감시 지표 정보를 생성할 수 있다.The data processing unit (311) can generate traffic information for managing overload risk based on order data and generate monitoring indicator information for managing transaction risk based on transaction data.

예를 들어, 주문 데이터는 매도 데이터, 매수 데이터, 정정 데이터 및 취소 데이터를 포함할 수 있다. 거래 데이터는 거래가 체결된 매도 데이터, 거래가 체결된 매수 데이터 및 체결량 데이터를 포함할 수 있다. For example, order data may include sell data, buy data, correction data, and cancellation data. Transaction data may include sell data for which a transaction was concluded, buy data for which a transaction was concluded, and transaction amount data.

트래픽 정보는 주문 종류에 따른 데이터 트래픽량을 나타낸 정보일 수 있다. 예를 들어, 트래픽 정보는 주문 종류별 데이터 트래픽량을 포함할 수 있다. 데이터 처리부(311)는 매도 데이터, 매수 데이터, 정정 데이터 및 취소 데이터 각각에 대한 데이터 트래릭량을 산출함으로써, 트래픽 정보를 생성할 수 있다.Traffic information may be information indicating data traffic volume according to order type. For example, traffic information may include data traffic volume according to order type. Data processing unit (311) may generate traffic information by calculating data traffic volume for each of sell data, buy data, correction data, and cancel data.

감시 지표 정보는 이상 거래를 감시하는 지표를 결정하기 위해 필요한 정보일 수 있다. 예를 들어, 감시 지표 정보는 시간구간별 매도 호가, 시간구간별 매수 호가, 시간구간별 가격 및 시간구간별 체결량을 포함할 수 있다. 데이터 처리부(311)는 거래 데이터를 기반으로 시간구간별 매도 호가, 시간구간별 매수 호가, 시간구간별 가격 및 시간구간별 체결량을 결정함으로써, 감시 지표 정보를 생성할 수 있다. 예를 들어, 시간구간은 초 단위일 수 있다. 예를 들어, 시간구간은 1초, 5초, 10초, 20초, 30초 또는 60초 구간 중 적어도 하나의 구간으로 설정될 수 있다.The monitoring indicator information may be information required to determine an indicator for monitoring abnormal transactions. For example, the monitoring indicator information may include a time-interval selling price, a time-interval buying price, a time-interval price, and a time-interval transaction amount. The data processing unit (311) may generate the monitoring indicator information by determining a time-interval selling price, a time-interval buying price, a time-interval price, and a time-interval transaction amount based on the transaction data. For example, the time interval may be in seconds. For example, the time interval may be set to at least one of 1 second, 5 seconds, 10 seconds, 20 seconds, 30 seconds, or 60 seconds.

일반적으로, 서버(310)가 감당할 수 있는 데이터 트래픽량을 초과하는 경우, 서버(310)는 더 이상 데이터를 수신하지 못하고, 시스템 상 오류가 발생할 수 있다. 예를 들어, 최대 허용 가능한 데이터 트래픽량을 초과하는 경우, 서버(310)가 다운될 수 있다. 또한, 서버(310)가 다운됨으로 인해서, 사용자는 특정 종목의 시세가 폭락하는 경우에 매도가 되지 않아 피해를 입을 수 있거나 서버(310)의 오류로 인하여 사용자가 지정해 놓은 시세와 다른 시세로 체결되는 피해를 입을 수 있다. In general, if the amount of data traffic that the server (310) can handle is exceeded, the server (310) can no longer receive data, and a system error may occur. For example, if the maximum allowable amount of data traffic is exceeded, the server (310) may go down. In addition, if the server (310) goes down, the user may suffer damages because the sale of a specific item may not be made when the price plummets, or the user may suffer damages because the transaction is concluded at a different price from the price specified by the user due to an error in the server (310).

이때, 과부하 위험 관리부(312)는 주문 데이터에 따른 데이터 트래픽량이 위험 임계 값을 초과하는지 결정함으로써, 사전에 서버(310)의 과부하를 방지할 수 있다. At this time, the overload risk management unit (312) can prevent overload of the server (310) in advance by determining whether the amount of data traffic according to the order data exceeds the risk threshold.

예를 들어, 과부하 위험 관리부(312)는 트래픽 정보를 기반으로 제1 뉴럴 네트워크를 이용하는 제1 위험 관리 모델을 통해 데이터 트래픽량에 대한 위험 정보를 결정하고, 위험 정보를 기반으로 과부하 위험과 관련된 메시지를 생성함으로써, 서버(310)에 대한 과부하 위험을 관리할 수 있다. 위험 정보는 서버(310)에 과부하가 발생한 위험에 대한 정보를 포함할 수 있다. 예를 들어, 위험 정보는 위험 임계 값 및 과부하 시간을 포함할 수 있다. 여기서, 위험 임계 값은 경고 메시지를 전송하는 기준이 되는 데이터 트래픽량일 수 있다. 과부하 시간은 데이터 트래픽량이 위험 임계 값을 초과한 시점부터 서버(310)가 과부하될 것으로 예상되는 시점까지의 시간일 수 있다. For example, the overload risk management unit (312) determines risk information on data traffic volume through the first risk management model using the first neural network based on traffic information, and generates a message related to overload risk based on the risk information, thereby managing the overload risk for the server (310). The risk information may include information on the risk of overload occurring in the server (310). For example, the risk information may include a risk threshold value and an overload time. Here, the risk threshold value may be a data traffic volume that is a criterion for transmitting a warning message. The overload time may be the time from the time when the data traffic volume exceeds the risk threshold value to the time when the server (310) is expected to be overloaded.

일 실시예에 따르면, 과부하 위험 관리부(312)는 트래픽 정보에 대한 데이터 전처리를 통해 제1 상태 벡터를 생성할 수 있다. 제1 상태 벡터는 주문 종류별 데이터 트래픽량, 최대 허용 데이터 트래픽량, 전체 사용자 수와 사용자의 접속 빈도, 트래픽 변동성에 대한 값 및 일평균 기준 거래대금 이상으로 거래하는 사용자의 비율을 포함할 수 있다.According to one embodiment, the overload risk management unit (312) may generate a first state vector through data preprocessing of traffic information. The first state vector may include data traffic volume by order type, maximum allowable data traffic volume, total number of users and user access frequency, values for traffic volatility, and the ratio of users who transact more than the daily average standard transaction amount.

주문 종류별 데이터 트래픽량은 매도, 매수, 정정, 취소 각각에 대한 데이터 트래픽량을 포함할 수 있다. 예를 들어, 매도, 매수, 정정, 취소 각각에 대한 데이터 트래픽량은 각 주문 종류에 따라 서버(310)가 데이터를 처리하면서 발생하는 데이터 패킷의 크기를 합산한 값일 수 있다. 예를 들어, 주문 종류별 데이터 트래픽량은 메가바이트 단위일 수 있다.The data traffic volume by order type may include data traffic volume for each of sell, buy, correct, and cancel. For example, the data traffic volume for each of sell, buy, correct, and cancel may be a value that adds up the sizes of data packets generated when the server (310) processes data according to each order type. For example, the data traffic volume by order type may be in megabytes.

최대 허용 데이터 트래픽량은 서버(310)의 네트워크 대역폭과 하드웨어 성능을 기반으로 사전 설정될 수 있다. 예를 들어, 최대 허용 데이터 트래픽량은 초당 메가바이트 단위일 수 있다. The maximum allowable data traffic volume can be preset based on the network bandwidth and hardware performance of the server (310). For example, the maximum allowable data traffic volume can be in megabytes per second.

과부하 위험 관리부(312)는 서버(310)에 접속한 사용자를 카운트함으로써, 전체 사용자 수를 결정할 수 있다. 과부하 위험 관리부(312)는 각 사용자에 대한 접속 기록을 기반으로 사용자의 접속 빈도를 결정할 수 있다. 예를 들어, 접속 빈도는 초당 접속 횟수일 수 있다.The overload risk management unit (312) can determine the total number of users by counting users connected to the server (310). The overload risk management unit (312) can determine the user's connection frequency based on the connection record for each user. For example, the connection frequency can be the number of connections per second.

트래픽 변동성에 대한 값은 전체 데이터 트래픽량이 시간에 따라 얼마나 크게 변동하는지를 나타내는 값일 수 있다. 예를 들어, 과부하 위험 관리부(312)는 주문 종류별 데이터 트래픽량을 합산한 전체 데이터 트래픽량을 기반으로 트래픽 변동성에 대한 값을 결정할 수 있다. 부가적으로, 예를 들어, 과부하 위험 관리부(312)는 하기 수학식 1에 따라 트래픽 변동성에 대한 값을 결정할 수 있다.The value for traffic volatility may be a value indicating how much the total data traffic volume fluctuates over time. For example, the overload risk management unit (312) may determine the value for traffic volatility based on the total data traffic volume that is the sum of the data traffic volume by order type. Additionally, for example, the overload risk management unit (312) may determine the value for traffic volatility according to the following mathematical expression 1.

상기 수학식 1에 있어서, 상기 Vtraffic은 상기 트래픽 변동성에 대한 값이고, 상기 n은 시간 구간의 개수이고, 상기 Ti는 해당 시간 구간에 대한 전체 데이터 트래픽량이고, 상기 는 평균 데이터 트래픽량일 수 있다.In the above mathematical expression 1, the V traffic is a value for the traffic volatility, the n is the number of time sections, the T i is the total data traffic volume for the corresponding time section, and the may be the average data traffic volume.

예를 들어, 평균 데이터 트래픽량은 사전 설정된 시간에 대한 데이터 트래픽량을 평균한 값일 수 있다.For example, the average data traffic volume may be the average of the data traffic volume over a preset period of time.

예를 들어, 트래픽 변동성에 대한 값은 메가바이트의 제곱 단위일 수 있다.For example, a value for traffic volatility might be in megabytes squared.

일평균 기준 거래대금 이상으로 거래하는 사용자의 비율은 기준 거래대금 이상으로 거래하는 사용자의 수를 전체 사용자의 수로 나눈 값일 수 있다. 예를 들어, 기준 거래대금은 서버(310)에 사전 설정될 수 있다. 예를 들어, 기준 거래대금은 서버(310)에서 처리하는 시간이 사전 설정된 시간(예: 1초) 이상이 소요되는 거래대금으로 설정될 수 있다.The percentage of users who transact more than the daily average standard transaction amount may be the number of users who transact more than the standard transaction amount divided by the total number of users. For example, the standard transaction amount may be preset in the server (310). For example, the standard transaction amount may be set as a transaction amount that takes more than a preset time (e.g., 1 second) to be processed by the server (310).

예를 들어, 과부하 위험 관리부(312)는 제1 상태 벡터를 제1 위험 관리 모델에 입력시킴으로써, 데이터 트래픽량에 대한 위험 정보를 결정할 수 있다.For example, the overload risk management unit (312) can determine risk information on data traffic volume by inputting the first state vector into the first risk management model.

예를 들어, 제1 뉴럴 네트워크는 제1 입력 레이어, 하나 이상의 제1 히든 레이어 및 제1 출력 레이어를 포함할 수 있다. For example, a first neural network may include a first input layer, one or more first hidden layers, and a first output layer.

예를 들어, 제1 위험 관리 모델은 복수의 제1 상태 벡터 및 복수의 정답 위험 벡터를 기반으로 학습될 수 있다. 복수의 제1 상태 벡터 및 복수의 정답 위험 벡터로 구성된 각각의 학습 데이터는 제1 뉴럴 네트워크의 제1 입력 레이어에 입력되어 하나 이상의 제1 히든 레이어 및 제1 출력 레이어를 통과하여 제1 출력 벡터로 출력되고, 제1 출력 벡터는 제1 출력 레이어에 연결된 제1 손실함수 레이어에 입력되고, 제1 손실함수 레이어는 제1 출력 벡터와 각각의 학습 데이터에 대한 제1 정답 벡터를 비교하는 제1 손실함수를 이용하여 제1 손실 값을 출력하고, 제1 뉴럴 네트워크의 파라미터가 제1 손실 값이 작아지는 방향으로 학습될 수 있다.For example, the first risk management model can be learned based on a plurality of first state vectors and a plurality of correct risk vectors. Each learning data consisting of a plurality of first state vectors and a plurality of correct risk vectors is input to a first input layer of the first neural network, passes through one or more first hidden layers and a first output layer, and is output as a first output vector. The first output vector is input to a first loss function layer connected to the first output layer. The first loss function layer outputs a first loss value using a first loss function that compares the first output vector with the first correct vector for each learning data. The parameters of the first neural network can be learned in a direction in which the first loss value decreases.

제1 위험 관리 모델의 학습 데이터로 사용되는 복수의 제1 상태 벡터는 과거 트래픽 정보와 과거 서버에 접속한 복수의 사용자에 대한 기록에 따른 실제 데이터를 기반으로 생성될 수 있다. 제1 위험 관리 모델의 학습 데이터로 사용되는 복수의 정답 위험 벡터 각각은 과거 실제 사용된 위험 정보를 기반으로 생성될 수 있다. 예를 들어, 정답 위험 벡터는 정답 위험 임계 값과 해당 정답 위험 임계 값에 기반한 정답 과부하 시간을 포함할 수 있다. A plurality of first state vectors used as learning data of the first risk management model can be generated based on actual data according to past traffic information and records of a plurality of users who have accessed the server in the past. Each of a plurality of correct risk vectors used as learning data of the first risk management model can be generated based on past actual used risk information. For example, a correct risk vector can include a correct risk threshold value and a correct overload time based on the correct risk threshold value.

예를 들어, 제1 위험 관리 모델은 GRU(gated recurrent unit) 기반의 제1 뉴럴 네트워크를 포함할 수 있다. GRU는 RNN(recurrent neural network)를 변형시킨 모델일 수 있고, RNN은 과거 관측 값에 의존하는 구조이므로, 기울기가 소실(vanishing gradient)되거나 기울기가 매우 큰 값(exploding gradient)을 가지게 되는 문제가 발생할 수 있다. 이러한 문제를 해결하기 위해 개발된 뉴럴 네트워크 모델이 LSTM(long short term memory networks)이며, LSTM 내부의 노드는 메모리 셀로 대체함으로써, 정보를 축적하거나 과거 정보의 일부를 삭제가 가능하다. 이를 통해, RNN의 기울기의 소실 문제나 기울기가 매우 큰 값을 가지게 되는 문제를 보완할 수 있다. 이러한 LSTM의 구조를 간결하게 변형함으로써, 처리 속도를 개선한 모델이 GRU이다.For example, the first risk management model may include a first neural network based on a gated recurrent unit (GRU). The GRU may be a model that modifies the recurrent neural network (RNN), and since the RNN has a structure that depends on past observation values, problems such as vanishing gradients or exploding gradients may occur. The neural network model developed to solve this problem is the LSTM (long short term memory networks), and the nodes inside the LSTM can be replaced with memory cells to accumulate information or delete some of the past information. Through this, the problem of vanishing gradients or the problem of having very large gradients in the RNN can be supplemented. The GRU is a model that improves the processing speed by concisely modifying the structure of the LSTM.

예를 들어, 제1 위험 관리 모델의 학습 데이터로 사용되는 하나의 제1 상태 벡터는 하나의 정답 위험 벡터와 하나의 제1 학습 데이터 세트를 구성할 수 있다. 이때, 복수의 제1 학습 데이터 세트가 사전 저장될 수 있다.For example, one first state vector used as learning data of the first risk management model can constitute one correct risk vector and one first learning data set. At this time, multiple first learning data sets can be pre-stored.

부가적으로, 예를 들어, 정답 위험 벡터에서 정답 위험 임계 값은 하기 수학식 2에 의해 결정될 수 있다.Additionally, for example, in the correct answer risk vector, the correct answer risk threshold can be determined by the following mathematical expression 2.

상기 수학식 2에 있어서, 상기 Thd는 상기 정답 위험 임계 값이고, 상기 Tmax는 최대 허용 데이터 트래픽량이고, 상기 wb는 매수 주문에 대한 가중치이고, 상기 Tb는 매수 주문에 대한 평균 데이터 트래픽량이고, 상기 ws는 매도 주문에 대한 가중치이고, 상기 Ts는 매도 주문에 대한 평균 데이터 트래픽량이고, 상기 wm은 정정 주문에 대한 가중치이고, 상기 Tm은 정정 주문에 대한 평균 데이터 트래픽량이고, 상기 wc는 취소 주문에 대한 가중치이고, 상기 Tc는 취소 주문에 대한 평균 데이터 트래픽량이고, 상기 Vtraffic은 트래픽 변동성에서 대한 값이고, 상기 Vmax는 최대 트래픽 변동성에 대한 값이고, 상기 Ut는 전체 사용자의 수이고, 상기 fu는 전체 사용자 각각의 접속 빈도를 평균한 값이고, 상기 Rhigh는 일평균 기준 거래대금 이상으로 거래하는 사용자의 비율일 수 있다.In the above mathematical expression 2, the Th d is the correct answer risk threshold, the T max is the maximum allowable data traffic volume, the w b is a weight for a buy order, the T b is an average data traffic volume for a buy order, the w s is a weight for a sell order, the T s is an average data traffic volume for a sell order, the w m is a weight for a correction order, the T m is an average data traffic volume for a correction order, the w c is a weight for a cancel order, the T c is an average data traffic volume for a cancel order, the V traffic is a value for traffic volatility, the V max is a value for maximum traffic volatility, the U t is the total number of users, the f u is an average value of the connection frequency of each of the total users, and the R high may be a ratio of users who trade more than the average daily standard transaction amount.

예를 들어, 최대 트래픽 변동성에 대한 값은 서버에 대한 네트워크 대역폭과 하드웨어 성능을 기반으로 사전 설정된 값일 수 있다.For example, the value for maximum traffic variability may be a preset value based on the network bandwidth and hardware performance for the server.

예를 들어, 각 주문 종류별 평균 데이터 트래픽량이 서버에 미치는 영향을 기반으로 wb, ws, wm, wc가 설정될 수 있다. 예를 들어, wb, ws, wm, wc는 0보다 크고 1보다 작은 값으로 사전 설정될 수 있다. 예를 들어, wb, ws, wm, wc의 합은 1이 되도록 설정될 수 있다. 예를 들어, wb는 0.4, ws는 0.4, wm는 0.1, wc는 0.1로 설정될 수 있다. For example, w b , w s , w m , w c can be set based on the impact of the average data traffic of each order type on the server. For example, w b , w s , w m , w c can be preset to values greater than 0 and less than 1. For example, the sum of w b , w s , w m , w c can be set to 1. For example, w b can be set to 0.4, w s to 0.4, w m to 0.1, and w c to 0.1.

이를 통해, 주문 종류별로 가중치를 설정하여 주문 종류에 따른 데이터 트래픽량을 고려하여 위험 임계 값을 결정하도록 제1 위험 관리 모델을 학습시킬 수 있다. 또한, 거래대금이 기준 거래대금 이상인 사용자들이 많을수록, 전체 사용자의 수 및 사용자들 각각의 접속 빈도에 기초한 데이터 트래픽 변동성이 심할수록, 예기치 못한 서버 다운 현상이 발생할 수 있으므로, 경고 신호를 제공하는 위험 임계 값을 낮게 결정하도록 제1 위험 관리 모델을 학습시킬 수 있다. 그리고, 트래픽 변동성이 심할수록 위험 임계 값을 낮게 설정하여, 서버가 과부하 상태로 빠르게 접근하는 경우에 대해 경고 신호를 더 빠른 시점에 제공하도록 제1 위험 관리 모델을 학습시킬 수 있다.Through this, the first risk management model can be trained to determine the risk threshold by considering the data traffic volume according to the order type by setting the weight by order type. In addition, the more users there are whose transaction amount is higher than the standard transaction amount, and the more severe the data traffic volatility based on the total number of users and the access frequency of each user, the more likely an unexpected server down phenomenon is, so the first risk management model can be trained to determine a lower risk threshold for providing a warning signal. In addition, the more severe the traffic volatility, the lower the risk threshold is set, so that the first risk management model can be trained to provide a warning signal at an earlier point in time when the server is quickly approaching an overload state.

부가적으로, 예를 들어, 정답 위험 벡터에서 정답 과부하 시간은 하기 수학식 3에 의해 결정될 수 있다.Additionally, for example, the correct answer overload time in the correct answer risk vector can be determined by the following mathematical expression 3.

상기 수학식 3에서, 상기 toverload는 상기 정답 과부하 시간이고, 상기 Tmax는 최대 허용 데이터 트래픽량이고, 상기 Thd는 정답 위험 임계 값이고, 상기 Cserver는 t 시점에 대한 서버의 트래픽 처리 능력을 나타내는 값이고, 상기 r(t)는 t 시점에 대한 트래픽 변화율일 수 있다.In the above mathematical expression 3, the t overload is the correct answer overload time, the T max is the maximum allowable data traffic amount, the Th d is the correct answer risk threshold, the C server is a value representing the traffic processing capability of the server for time t, and the r(t) may be a traffic change rate for time t.

예를 들어, 정답 위험 임계 값은 상술한 수학식 2에 의해 결정된 값일 수 있다. 이때, 정답 위험 임계 값은 데이터 트래픽량일 수 있다.For example, the correct answer risk threshold value may be a value determined by the mathematical expression 2 described above. In this case, the correct answer risk threshold value may be the amount of data traffic.

예를 들어, Cserver는 t 시점의 트래픽 변동성에 대한 값에서 최대 트래픽 변동성에 대한 값을 나눈 값을 1에서 뺀 값을 최대 허용 데이터 트래픽량에 대해 곱한 값일 수 있다. 즉, Cserver와 같이 결정될 수 있다. 예를 들어, r(t)는 로 설정될 수 있다. 즉, r(t)는 t 시점의 데이터 트래픽량에서 t 시점에서 하나의 시간 간격 이전의 데이터 트래픽량을 뺀 값에서 시간 간격으로 나눈 값으로 결정될 수 있다.For example, C server can be the value for the maximum traffic variability at time t divided by the value for the maximum traffic variability minus 1 multiplied by the maximum allowable data traffic volume. That is, C server is can be determined as follows. For example, r(t) is can be set to . That is, r(t) can be determined as the value obtained by subtracting the data traffic volume one time interval before time t from the data traffic volume at time t, divided by the time interval.

이를 통해, 기존의 방식처럼 더미 데이터를 추가하지 않고, 서버의 다운이 발생할 때까지 소요되는 시간을 과부하 시간을 결정하도록 제1 위험 관리 모델을 학습시킴으로써, 서버의 네트워크 성능을 향상시킬 수 있다. 즉, 더미 데이터를 추가하는 과정을 수행하지 않고, 더미 데이터가 추가된 상태에서 서버가 동작하지 않기 때문에, 서버의 네트워크 성능이 향상될 수 있다.Through this, the network performance of the server can be improved by training the first risk management model to determine the overload time as the time required until the server goes down without adding dummy data as in the conventional method. In other words, the network performance of the server can be improved because the server does not operate while the dummy data is added without performing the process of adding dummy data.

예를 들어, 제1 위험 관리 모델은 입력된 제1 상태 벡터에 대해 위험 벡터에 대한 예측 값을 결정하고, 해당 예측 값이 정답 위험 벡터와 차이가 최소화되는 방향으로 반복 학습될 수 있다.For example, the first risk management model can determine a predicted value for a risk vector for an input first state vector, and iteratively learn in a direction in which the predicted value minimizes the difference from the correct risk vector.

예를 들어, 과부하 위험 관리부(312)는 위험 임계 값, 과부하 시간 및 현재 서버(310)에 접속한 사용자의 수를 기반으로 예비 임계 값을 결정할 수 있다. 예비 임계 값은 예비 경고 메시지를 전송하는 기준이 되는 데이터 트래픽량일 수 있다. For example, the overload risk management unit (312) may determine a preliminary threshold based on a risk threshold, an overload time, and the number of users currently connected to the server (310). The preliminary threshold may be a data traffic volume that serves as a criterion for transmitting a preliminary warning message.

부가적으로, 예를 들어, 과부하 위험 관리부(312)는 예비 임계 값을 하기 수학식 4에 따라 결정할 수 있다.Additionally, for example, the overload risk management unit (312) can determine the reserve threshold value according to the following mathematical expression 4.

상기 수학식 4에서, 상기 Thp는 상기 예비 임계 값이고, 상기 Thd는 위험 임계 값이고, 상기 Ud는 일평균 접속 사용자의 수이고, 상기 Ut는 전체 사용자의 수이고, 상기 toverload는 과부하 시간일 수 있다. In the above mathematical expression 4, Th p may be the preliminary threshold value, Th d may be the risk threshold value, U d may be the average number of daily connected users, U t may be the total number of users, and t overload may be the overload time.

예를 들어, 과부하 위험과 관련된 메시지는 예비 경고 메시지와 경고 메시지를 포함할 수 있다. 예를 들어, 예비 경고 메시지는 서버(310)에 대한 과부하가 발생할 수 있는 최초의 시점을 나타내는 메시지일 수 있다. 예를 들어, 경고 메시지는 과부하 시간 이후에 서버(310)에 대한 과부하가 발생할 수 있음을 나타내는 메시지일 수 있다.For example, messages related to overload risk may include a preliminary warning message and a warning message. For example, a preliminary warning message may be a message indicating the first time that an overload may occur for the server (310). For example, a warning message may be a message indicating that an overload may occur for the server (310) after an overload time.

예를 들어, 과부하 위험 관리부(312)는 서버의 전체 데이터 트래픽량이 예비 임계 값을 초과하는 것에 기반하여 과부하 위험에 대한 예비 경고 메시지를 생성할 수 있다. 예를 들어, 예비 경고 메시지는 예비 경고 메시지를 나타내는 지시자, 예비 경고 메시지가 생성된 시간 및 예비 임계 값을 포함할 수 있다.For example, the overload risk management unit (312) may generate a preliminary warning message for overload risk based on the total data traffic volume of the server exceeding a preliminary threshold value. For example, the preliminary warning message may include an indicator indicating the preliminary warning message, the time at which the preliminary warning message was generated, and the preliminary threshold value.

예를 들어, 과부하 위험 관리부(312)는 서버의 전체 데이터 트래픽량이 위험 임계 값을 초과하는 것에 기반하여 과부하 위험에 대한 경고 메시지를 생성할 수 있다. 예를 들어, 경고 메시지는 경고 메시지를 나타내는 지시자, 경고 메시지가 생성된 시간, 위험 임계 값 및 과부하 시간을 포함할 수 있다.For example, the overload risk management unit (312) may generate a warning message for overload risk based on whether the total data traffic volume of the server exceeds a risk threshold. For example, the warning message may include an indicator indicating the warning message, the time the warning message was generated, the risk threshold, and the overload time.

일 실시예에 따르면, 거래 위험 관리부(313)는 거래 데이터에 따른 감지 지표 정보를 이용하여 복수의 이상 거래 유형 각각이 발생할 확률을 결정함으로써, 거래 위험을 관리할 수 있다. 예를 들어, 거래 위험 관리부(313)는 감시 지표 정보 및 위험 정보를 기반으로 제2 뉴럴 네트워크를 이용하는 제2 위험 관리 모델을 통해 복수의 이상 거래 유형 각각에 대한 확률을 결정하고, 복수의 이상 거래 유형 각각에 대한 발생 확률을 기반으로 거래 위험과 관련된 메시지를 생성할 수 있다.According to one embodiment, the transaction risk management unit (313) can manage the transaction risk by determining the probability of occurrence of each of a plurality of abnormal transaction types using detection indicator information according to transaction data. For example, the transaction risk management unit (313) can determine the probability of each of a plurality of abnormal transaction types through a second risk management model using a second neural network based on the surveillance indicator information and the risk information, and can generate a message related to the transaction risk based on the probability of occurrence of each of the plurality of abnormal transaction types.

예를 들어, 거래 위험 관리부(313)는 감시 지표 정보 및 위험 임계 값에 대한 데이터 전처리를 통해 제2 상태 벡터를 생성할 수 있다.For example, the transaction risk management department (313) can generate a second state vector through data preprocessing on surveillance indicator information and risk threshold values.

예를 들어, 제2 상태 벡터는 위험 임계 값, 과부하 시간, 호가 변동 비율에 대한 값, 가격 변동 비율에 대한 값, 체결량 변동 비율에 대한 값, 지역 최대값과 지역 최소값 및 가격 분포에 대한 값을 포함할 수 있다.For example, a second state vector may include values for risk thresholds, overload times, bid/ask spreads, price spreads, volume spreads, local maxima and local minima, and price distributions.

호가 변동 비율에 대한 값은 매수 호가에 대한 변동 비율과 매도 호가에 대한 변동 비율을 포함할 수 있다. 호가 변동 비율에 대한 값은 거래 시장이 열리는 시점부터 현재 시점까지의 시간 구간별 매수 호가 및 매도 호가를 기반으로 결정될 수 있다. 예를 들어, 거래 위험 관리부(313)는 각 시간 구간에 대해 현재 시간 구간의 매수 호가에서 이전 시간 구간의 매수 호가를 뺀 값에서 이전 시간 구간의 매수 호가를 나눈 값으로 매수 호가에 대한 변동 비율을 결정할 수 있다. 예를 들어, 거래 위험 관리부(313)는 현재 시간 구간의 매도 호가에서 이전 시간 구간의 매도 호가를 뺀 값에서 이전 시간 구간의 매도 호가를 나눈 값으로 매수 호가에 대한 변동 비율을 결정할 수 있다. 즉, 호가 변동 비율에 대한 값은 거래 시장이 열리는 시점부터 현재 시점까지의 시간 구간별 매수 호가에 대한 변동 비율 및 매도 호가에 대한 변동 비율을 포함할 수 있다.The value for the bid price fluctuation ratio may include a fluctuation ratio for the bid price and a fluctuation ratio for the ask price. The value for the bid price fluctuation ratio may be determined based on the bid price and the ask price for each time interval from the time the trading market opens to the present time. For example, the trading risk management unit (313) may determine the fluctuation ratio for the bid price as the value obtained by dividing the bid price of the previous time interval by the value obtained by subtracting the bid price of the current time interval from the bid price of the previous time interval for each time interval. For example, the trading risk management unit (313) may determine the fluctuation ratio for the bid price as the value obtained by dividing the sell price of the previous time interval by the value obtained by subtracting the sell price of the current time interval from the sell price of the previous time interval. In other words, the value for the bid price fluctuation ratio may include a fluctuation ratio for the bid price and a fluctuation ratio for the ask price for each time interval from the time the trading market opens to the present time.

가격 변동 비율에 대한 값은 거래 시장이 열리는 시점부터 현재 시점까지의 시간 구간별 가격을 기반으로 결정될 수 있다. 예를 들어, 거래 위험 관리부(313)는 각 시간 구간에 대해 현재 시간 구간의 가격에서 이전 시간 구간의 가격을 뺀 값에서 이전 시간 구간의 가격을 나눈 값으로 가격 변동 비율에 대한 값을 결정할 수 있다. 예를 들어, 가격 변동 비율에 대한 값은 거래 시장이 열리는 시점부터 현재 시점까지의 시간 구간별 가격 변동 비율을 포함할 수 있다.The value for the price fluctuation ratio can be determined based on the price for each time interval from the time the trading market opens to the present time. For example, the trading risk management unit (313) can determine the value for the price fluctuation ratio as the value obtained by dividing the price for the previous time interval by the value obtained by subtracting the price for the current time interval from the price for the previous time interval for each time interval. For example, the value for the price fluctuation ratio can include the price fluctuation ratio for each time interval from the time the trading market opens to the present time.

체결량 변동 비율에 대한 값은 거래 시장이 열리는 시점부터 현재 시점까지의 시간 구간별 체결량을 기반으로 결정될 수 있다. 예를 들어, 거래 위험 관리부(313)는 각 시간 구간에 대해 현재 시간 구간의 체결량에서 이전 시간 구간의 체결량을 뺀 값에서 이전 시간 구간의 체결량을 나눈 값으로 체결량 변동 비율에 대한 값을 결정할 수 있다. 예를 들어, 체결량 변동 비율에 대한 값은 거래 시장이 열리는 시점부터 현재 시점까지의 시간 구간별 체결량 변동 비율을 포함할 수 있다.The value for the transaction volume change ratio can be determined based on the transaction volume for each time interval from the time the trading market opens to the present time. For example, the trading risk management unit (313) can determine the value for the transaction volume change ratio as the value obtained by dividing the transaction volume for the previous time interval by the value obtained by subtracting the transaction volume for the current time interval from the transaction volume for each time interval. For example, the value for the transaction volume change ratio can include the transaction volume change ratio for each time interval from the time the trading market opens to the present time.

지역 최대값과 지역 최소값은, 복수의 이동 평균(moving average) 각각에 대한, 적어도 하나의 지역 최대값과 적어도 하나의 지역 최소값을 포함할 수 있다. 예를 들어, 복수의 이동 평균은 5일에 대한 이동 평균, 20일에 대한 이동 평균, 60일에 대한 이동 평균 및 120일에 대한 이동 평균을 포함할 수 있다. 예를 들어, 적어도 하나의 지역 최대값은, 복수의 이동 평균 각각에 대해, 이동 평균보다 높은 가격 구간에서 가장 높은 값으로 결정될 수 있다. 예를 들어, 적어도 하나의 지역 최소값은, 복수의 이동 평균 각각에 대해, 이동 평균보다 낮은 가격 구간에서 가장 낮은 값으로 결정될 수 있다. 예를 들어, 거래 위험 관리부(313)는 복수의 이동 평균 각각을 기준으로 이동 평균보다 높은 구간에 대해 적어도 하나의 지역 최대값을 결정하고, 이동 평균보다 낮은 구간에 대해 적어도 하나의 지역 최소값을 결정할 수 있다. The local maximum and local minimum may include at least one local maximum and at least one local minimum for each of the plurality of moving averages. For example, the plurality of moving averages may include a moving average for 5 days, a moving average for 20 days, a moving average for 60 days, and a moving average for 120 days. For example, the at least one local maximum may be determined as the highest value in a price range above the moving average for each of the plurality of moving averages. For example, the at least one local minimum may be determined as the lowest value in a price range below the moving average for each of the plurality of moving averages. For example, the transaction risk management unit (313) may determine at least one local maximum for a range above the moving average and at least one local minimum for a range below the moving average based on each of the plurality of moving averages.

가격 분포에 대한 값은 복수의 종목에 대한 가격의 첫번째 자릿수의 분포에 대한 값, 복수의 종목에 대한 가격의 두번째 자릿수의 분포에 대한 값 및 복수의 종목에 대한 가격의 처음 두 개의 자릿수의 분포에 대한 값을 포함할 수 있다. 예를 들어, 복수의 종목이 A, B, C가 있고, A, B, C 각각의 가격이 18000, 25000, 650인 경우, 복수의 종목에 대한 가격의 첫번째 자릿수의 분포에 대한 값은 [0.33, 0.33, 0, 0, 0, 0.33, 0, 0, 0]일 수 있다. 즉, 복수의 종목에 대한 가격의 첫번째 자릿수의 분포에 대한 값은, 가격의 첫번째 자릿수를 나타내는 1 내지 9 각각에 대해, 전체 종목 개수를 해당 숫자를 가격의 첫번째 숫자로 가진 종목의 개수로 나눈 값으로 결정될 수 있다. 이때, 복수의 종목에 대한 가격의 두번째 자릿수의 분포에 대한 값은 [0, 0, 0, 0, 0.66, 0, 0, 0.33, 0]일 수 있다. 즉, 복수의 종목에 대한 가격의 두번째 자릿수의 분포에 대한 값은, 가격의 두번째 자릿수를 나타내는 1 내지 9 각각에 대해, 전체 종목 개수를 해당 숫자를 가격의 두번째 숫자로 가진 종목의 개수로 나눈 값으로 결정될 수 있다. 복수의 종목에 대한 가격의 처음 두 개의 자릿수의 분포에 대한 값은, 10 부터 99까지의 숫자 각각에 대해, 전체 종목 개수를 해당 숫자를 가격의 처음 두 개의 자릿수로 가진 종목의 개수로 나눈 값일 수 있다. 즉, 가격 분포에 대한 값은 거래 시장이 열리는 시점부터 현재 시점까지의 시간 구간별 복수의 종목에 대한 가격의 첫번째 자릿수의 분포에 대한 값, 시간 구간별 복수의 종목에 대한 가격의 두번째 자릿수의 분포에 대한 값 및 시간 구간별 복수의 종목에 대한 가격의 처음 두 개의 자릿수의 분포에 대한 값을 포함할 수 있다.The value for the price distribution may include a value for the distribution of the first digit of the prices for the multiple stocks, a value for the distribution of the second digit of the prices for the multiple stocks, and a value for the distribution of the first two digits of the prices for the multiple stocks. For example, if the multiple stocks are A, B, and C, and the prices of A, B, and C are 18000, 25000, and 650, respectively, the value for the distribution of the first digit of the prices for the multiple stocks may be [0.33, 0.33, 0, 0, 0, 0.33, 0, 0, 0]. That is, the value for the distribution of the first digit of the prices for the multiple stocks may be determined by dividing the total number of stocks by the number of stocks having the corresponding number as the first digit of the price, for each of 1 to 9 representing the first digit of the price. At this time, the value for the distribution of the second digit of the price for multiple items may be [0, 0, 0, 0, 0.66, 0, 0, 0.33, 0]. That is, the value for the distribution of the second digit of the price for multiple items may be determined as a value obtained by dividing the total number of items by the number of items having the corresponding number as the second digit of the price, for each of 1 to 9 representing the second digit of the price. The value for the distribution of the first two digits of the price for multiple items may be a value obtained by dividing the total number of items by the number of items having the corresponding number as the first two digits of the price, for each of numbers from 10 to 99. That is, the value for the price distribution may include a value for the distribution of the first digit of the price for multiple items by time interval from the time the trading market opens to the present time, a value for the distribution of the second digit of the price for multiple items by time interval, and a value for the distribution of the first two digits of the price for multiple items by time interval.

예를 들어, 거래 위험 관리부(313)는 제2 상태 벡터를 제2 위험 관리 모델에 입력시킴으로써, 복수의 이상 거래 유형 각각에 대한 발생 확률을 결정할 수 있다. 이때, 복수의 이상 거래 유형은 허위 주문에 따른 제1 이상 거래 유형, 가장 매매 주문에 따른 제2 이상 거래 유형 및 예상가관여 주문에 따른 제3 이상 거래 유형을 포함할 수 있다.For example, the transaction risk management unit (313) can determine the occurrence probability for each of a plurality of abnormal transaction types by inputting the second state vector into the second risk management model. At this time, the plurality of abnormal transaction types can include a first abnormal transaction type according to a false order, a second abnormal transaction type according to a most traded order, and a third abnormal transaction type according to an expected price involvement order.

허위 주문에 따른 제1 이상 거래 유형은 체결 가능성이 낮은 대량의 주문이 반복적으로 제출되고 취소되는 패턴이 나타내는 유형일 수 있다. 가장 매매 주문에 따른 제2 이상 거래 유형은 동일한 가격과 동일한 수량으로 반복적인 거래가 이루어지는 패턴으로, 서로 연관된 계좌들 간에 비정상적으로 거래가 이루어지는 것을 나타내는 유형일 수 있다. 예상가관여 주문에 따른 제3 이상 거래 유형은 시가 또는 종가가 예상되는 시점에 집중적으로 주문이 들어와, 마지막에 정정하거나 취소하여 실제 가격 형성에 영향을 미치는 패턴으로, 시가 또는 종가 형성 이전에 인위적으로 체결 가격을 조정하려는 유형일 수 있다.The first abnormal transaction type due to false orders may be a pattern in which a large number of orders with a low probability of execution are repeatedly submitted and canceled. The second abnormal transaction type due to the most traded orders may be a pattern in which repeated transactions are made at the same price and the same quantity, indicating that transactions are abnormally made between related accounts. The third abnormal transaction type due to expected price-related orders may be a pattern in which orders are concentrated at the time when the opening or closing price is expected, and are corrected or canceled at the end to affect the actual price formation, indicating that the execution price may be artificially adjusted before the opening or closing price is formed.

예를 들어, 제2 뉴럴 네트워크는 제2 입력 레이어, 하나 이상의 제2 히든 레이어 및 제2 출력 레이어를 포함할 수 있다. For example, the second neural network may include a second input layer, one or more second hidden layers, and a second output layer.

예를 들어, 제2 위험 관리 모델은 복수의 제2 상태 벡터, 복수의 이상 상태 벡터 및 복수의 정답 이상 거래 유형별 발생 확률을 기반으로 학습될 수 있다. 복수의 제2 상태 벡터 및 복수의 정답 위험 임계 값으로 구성된 각각의 학습 데이터는 제2 뉴럴 네트워크의 제2 입력 레이어에 입력되어 하나 이상의 제2 히든 레이어 및 제2 출력 레이어를 통과하여 제2 출력 벡터로 출력되고, 제2 출력 벡터는 제2 출력 레이어에 연결된 제2 손실함수 레이어에 입력되고, 제2 손실함수 레이어는 제2 출력 벡터와 각각의 학습 데이터에 대한 제2 정답 벡터를 비교하는 제2 손실함수를 이용하여 제2 손실 값을 출력하고, 제2 뉴럴 네트워크의 파라미터가 제2 손실 값이 작아지는 방향으로 학습될 수 있다.For example, the second risk management model can be learned based on a plurality of second state vectors, a plurality of abnormal state vectors, and a plurality of correct abnormal transaction type occurrence probabilities. Each learning data consisting of a plurality of second state vectors and a plurality of correct risk threshold values is input to a second input layer of the second neural network, passes through one or more second hidden layers and a second output layer, and is output as a second output vector, and the second output vector is input to a second loss function layer connected to the second output layer, and the second loss function layer outputs a second loss value using a second loss function that compares the second output vector with the second correct vector for each learning data, and the parameters of the second neural network can be learned in a direction in which the second loss value decreases.

제2 위험 관리 모델의 학습 데이터로 사용되는 복수의 제2 상태 벡터는 과거에 생성된 감시 지표 정보와 과거에 결정된 위험 정보를 기반으로 생성될 수 있다. 제2 위험 관리 모델의 학습 데이터로 사용되는 복수의 이상 상태 벡터는 과거에 이상 거래 유형이 발생한 감시 지표 정보와 위험 정보를 기반으로 복수의 이상 거래 유형별로 생성될 수 있다. A plurality of second state vectors used as learning data for the second risk management model can be generated based on surveillance indicator information generated in the past and risk information determined in the past. A plurality of abnormal state vectors used as learning data for the second risk management model can be generated for each of a plurality of abnormal transaction types based on surveillance indicator information and risk information in which abnormal transaction types occurred in the past.

예를 들어, 이상 상태 벡터는, 해당 이상 거래 유형이 발생한, 위험 임계 값, 과부하 시간, 호가 변동 비율에 대한 값, 가격 변동 비율에 대한 값, 체결량 변동 비율에 대한 값, 지역 최대값과 지역 최소값 및 가격 분포에 대한 값을 포함할 수 있다. 예를 들어, 하나의 이상 거래 유형에 대해 이상 상태 벡터가 복수 개 생성될 수 있다. 예를 들어, 복수의 이상 상태 벡터는 제1 이상 거래 유형이 발생한 복수의 경우에 대한 이상 상태 벡터, 제2 이상 거래 유형이 발생한 복수의 경우에 대한 이상 상태 벡터 및 제3 이상 거래 유형이 발생한 복수의 경우에 대한 이상 상태 벡터를 포함할 수 있다.For example, the abnormal state vector may include values for the risk threshold, overload time, bid/ask fluctuation ratio, price fluctuation ratio, transaction volume fluctuation ratio, local maximum and local minimum, and price distribution at which the abnormal transaction type occurred. For example, multiple abnormal state vectors may be generated for one abnormal transaction type. For example, the multiple abnormal state vectors may include abnormal state vectors for multiple cases in which the first abnormal transaction type occurred, abnormal state vectors for multiple cases in which the second abnormal transaction type occurred, and abnormal state vectors for multiple cases in which the third abnormal transaction type occurred.

정답 이상 거래 유형별 발생 확률은, 학습 데이터로 입력된 제2 상태 벡터와 이상 상태 벡터를 이상 거래 유형별로 비교함으로써 결정된, 복수의 이상 거래 유형 각각이 발생할 확률을 포함할 수 있다. 예를 들어, 복수의 정답 이상 거래 유형별 발생 확률은 학습 데이터로 입력된 복수의 제2 상태 벡터 각각에 대한 복수의 이상 거래 유형 각각이 발생할 확률일 수 있다. 예를 들어, 발생 확률은 0보다 크고 1보다 작은 값으로 설정될 수 있다.The occurrence probability of each abnormal transaction type may include the probability of occurrence of each of the plurality of abnormal transaction types, determined by comparing the second state vector and the abnormal state vector input as learning data by abnormal transaction type. For example, the occurrence probability of each of the plurality of correct abnormal transaction types may be the probability of occurrence of each of the plurality of abnormal transaction types for each of the plurality of second state vectors input as learning data. For example, the occurrence probability may be set to a value greater than 0 and less than 1.

예를 들어, 제2 위험 관리 모델은 GRU 기반의 제2 뉴럴 네트워크를 포함할 수 있다.For example, a second risk management model may include a second neural network based on GRU.

예를 들어, 거래 위험 관리부(313)는 복수의 이상 거래 유형 중에서 발생 확률이 사전 설정된 기준 확률 이상인 적어도 하나의 이상 거래 유형을 결정할 수 있다. 예를 들어, 거래 위험 관리부(313)는 적어도 하나의 이상 거래 유형에 대응하는 거래 경고 메시지를 생성할 수 있다. 즉, 거래 경고 메시지는 이상 거래 유형별로 독립적으로 생성될 수 있다. 예를 들어, 거래 위험과 관련된 메시지는 복수의 이상 거래 유형 각각에 대응하는 거래 경고 메시지를 포함할 수 있다. 예를 들어, 거래 경고 메시지는 이상 거래 유형을 나타내는 지시자를 포함할 수 있다. 예를 들어, 복수의 이상 거래 유형에 따라 지시자는 상이할 수 있다. 예를 들어, 제1 이상 거래 유형은 1 값으로, 제2 이상 거래 유형은 2 값으로, 제3 이상 거래 유형은 3 값으로 지시자가 설정될 수 있다.For example, the transaction risk management unit (313) may determine at least one abnormal transaction type among a plurality of abnormal transaction types, the occurrence probability of which is higher than a preset reference probability. For example, the transaction risk management unit (313) may generate a transaction warning message corresponding to at least one abnormal transaction type. That is, the transaction warning message may be generated independently for each abnormal transaction type. For example, a message related to transaction risk may include a transaction warning message corresponding to each of a plurality of abnormal transaction types. For example, the transaction warning message may include an indicator indicating an abnormal transaction type. For example, the indicator may be different depending on the plurality of abnormal transaction types. For example, the indicator may be set to a value of 1 for a first abnormal transaction type, a value of 2 for a second abnormal transaction type, and a value of 3 for a third abnormal transaction type.

위험 관리 메시지 전송부(314)는 과부하 위험과 관련된 메시지 및 거래 위험과 관련된 메시지를 관리자 단말에게 전송할 수 있다. 관리자 단말은 서버(310)를 관리하는 관리자가 사용하는 단말일 수 있다. 관리자 단말은 통신 가능한 데스크탑 컴퓨터, 랩탑 컴퓨터, 노트북, 스마트폰, 태블릿 PC, 스마트 워치 및 스마트 글래스를 포함할 수 있다. 예를 들어, 관리자 단말은 도 1의 전자 장치(102)를 포함할 수 있다.The risk management message transmission unit (314) can transmit messages related to overload risk and messages related to transaction risk to the administrator terminal. The administrator terminal may be a terminal used by an administrator who manages the server (310). The administrator terminal may include a desktop computer, a laptop computer, a notebook, a smartphone, a tablet PC, a smart watch, and a smart glass capable of communication. For example, the administrator terminal may include the electronic device (102) of FIG. 1.

예를 들어, 위험 관리 메시지 전송부(314)는 서버(310)의 전체 데이터 트래픽량이 예비 임계 값을 초과하는 것에 기반하여 과부하 위험 관리부(312)에 의해 생성된 예비 경고 메시지를 관리자 단말에게 전송할 수 있다.For example, the risk management message transmission unit (314) may transmit a preliminary warning message generated by the overload risk management unit (312) to the administrator terminal based on the total data traffic volume of the server (310) exceeding a preliminary threshold value.

예를 들어, 위험 관리 메시지 전송부(314)는 서버(310)의 전체 데이터 트래픽량이 위험 임계 값을 초과하는 것에 기반하여 과부하 위험 관리부(313)에 의해 생성된 경고 메시지를 관리자 단말에게 전송할 수 있다.For example, the risk management message transmission unit (314) can transmit a warning message generated by the overload risk management unit (313) to the administrator terminal based on the total data traffic volume of the server (310) exceeding the risk threshold value.

예를 들어, 위험 관리 메시지 전송부(314)는 복수의 이상 거래 유형 중에서 발생 확률이 사전 설정된 기준 확률 이상인 적어도 하나의 이상 거래 유형에 대한 거래 경고 메시지를 관리자 단말에게 전송할 수 있다.For example, the risk management message transmission unit (314) can transmit a transaction warning message for at least one abnormal transaction type among multiple abnormal transaction types whose occurrence probability is higher than a preset standard probability to the administrator terminal.

도 5는 일 실시예에 따라 제1 위험 관리 모델 및 제2 위험 관리 모델에 사용되는 GRU(gated recurrent unit) 모델에 대한 예를 나타낸다. 도 5의 실시예는 본 개시의 다양한 실시예들과 결합될 수 있다.FIG. 5 illustrates an example of a gated recurrent unit (GRU) model used in the first risk management model and the second risk management model according to one embodiment. The embodiment of FIG. 5 can be combined with various embodiments of the present disclosure.

도 5를 참조하면, 제1 위험 관리 모델 및 제2 위험 관리 모델은 GRU 모델(500)이 사용될 수 있다.Referring to FIG. 5, the first risk management model and the second risk management model may use a GRU model (500).

예를 들어, GRU 모델(500)은 입력 레이어(510), 하나 이상의 히든 레이어(520) 및 출력 레이어(530)를 포함할 수 있다.For example, a GRU model (500) may include an input layer (510), one or more hidden layers (520), and an output layer (530).

구체적으로, 하나 이상의 히든 레이어(520)는 하나 이상의 GRU 블록을 포함하고, 하나의 GRU 블록은 리셋 게이트(reset gate)와 업데이트 게이트(update gate)를 포함할 수 있다. 여기서, 리셋 게이트와 업데이트 게이트는 시그모이드 레이어를 포함할 수 있다. 예를 들어, 시그모이드 레이어는 시그모이드 함수()가 활성화 함수인 레이어일 수 있다. 예를 들어, 리셋 게이트 및 업데이트 게이트를 통해 히든 스테이트가 제어되고, 각 게이트와 입력에 따른 가중치들이 존재할 수 있다.Specifically, one or more hidden layers (520) may include one or more GRU blocks, and one GRU block may include a reset gate and an update gate. Here, the reset gate and the update gate may include a sigmoid layer. For example, the sigmoid layer may include a sigmoid function ( ) can be a layer with an activation function. For example, the hidden state can be controlled through a reset gate and an update gate, and there can be weights for each gate and input.

리셋 게이트는 과거의 정보를 리셋시키며, 이전 히든 레이어를 거쳐 도출된 가중치 r(t)는 수학식 5에 의해 결정될 수 있다. The reset gate resets the past information, and the weight r(t) derived through the previous hidden layer can be determined by mathematical expression 5.

예를 들어, 제1 위험 관리 모델의 경우, 복수의 제1 상태 벡터가 입력 레이어(510)에 입력되고, 리셋 게이트는 복수의 제1 상태 벡터를 기반으로 생성된 현재 시점의 입력 값(xt)이 입력되면 현재 시점의 가중치 Wr와 내적하고, 복수의 제1 상태 벡터를 기반으로 생성된, 이전 시점의 히든 스테이트(h(t-1))를 이전 시점의 가중치 Ur와 내적하고, 마지막으로 두 값을 합하여 시그모이드 함수에 입력되어 결과가 0과 1 사이의 값으로 출력될 수 있다. 이러한 0과 1 사이의 값을 통해 이전 시점의 히든 스테이트 값을 얼마나 활용할 것인지 결정될 수 있다.For example, in the case of the first risk management model, a plurality of first state vectors are input to the input layer (510), and the reset gate takes the inner product of the current input value (x t ) generated based on the plurality of first state vectors with the weight W r of the current time point, and takes the inner product of the hidden state (h (t-1) ) of the previous time point generated based on the plurality of first state vectors with the weight U r of the previous time point, and finally, the two values are added and input to the sigmoid function so that the result can be output as a value between 0 and 1. It can be determined how much to utilize the hidden state value of the previous time point through this value between 0 and 1.

예를 들어, 제2 위험 관리 모델의 경우, 복수의 제2 상태 벡터 및 복수의 이상 상태 벡터가 입력 레이어(510)에 입력되고, 리셋 게이트는 복수의 제2 상태 벡터 및 복수의 이상 상태 벡터를 기반으로 생성된 현재 시점의 입력 값(xt)이 입력되면 현재 시점의 가중치 Wr와 내적하고, 복수의 제2 상태 벡터 및 복수의 이상 상태 벡터를 기반으로 생성된, 이전 시점의 히든 스테이트(h(t-1))를 이전 시점의 가중치 Ur와 내적하고, 마지막으로 두 값을 합하여 시그모이드 함수에 입력되어 결과가 0과 1 사이의 값으로 출력될 수 있다. 이러한 0과 1 사이의 값을 통해 이전 시점의 히든 스테이트 값을 얼마나 활용할 것인지 결정될 수 있다.For example, in the case of the second risk management model, a plurality of second state vectors and a plurality of abnormal state vectors are input to the input layer (510), and the reset gate takes an inner product of the current time point input value (xt) generated based on the plurality of second state vectors and the plurality of abnormal state vectors with the weight Wr of the current time point, and takes the inner product of the previous time point hidden state (h(t-1)) generated based on the plurality of second state vectors and the plurality of abnormal state vectors with the weight Ur of the previous time point, and finally, the two values are added and input to the sigmoid function so that the result can be output as a value between 0 and 1. It can be determined how much to utilize the hidden state value of the previous time point through this value between 0 and 1.

업데이트 게이트는 과거와 현재의 정보에 대한 최신화 비율을 결정하며, z(t)는 현재 시점의 정보의 양으로, 수학식 6에 의해 결정될 수 있다.The update gate determines the update rate for past and present information, and z(t) is the amount of information at the current point in time, which can be determined by mathematical expression 6.

예를 들어, 상기 현재 시점의 입력 값(xt)가 입력되면 현재 시점의 가중치 Wz와 내적하고, 상기 이전 시점의 히든 스테이트(h(t-1))는 이전 시점의 가중치 Uz와 내적하고, 마지막으로 두 값을 합하여 시그모이드 함수에 입력됨으로써 결과가 0과 1 사이의 값으로 출력될 수 있다. 그리고 1-z(t)를 직전 시점의 히든 레이어의 정보(h(t-1))에 곱할 수 있다.For example, when the input value (x t ) of the current time point is input, the inner product is taken with the weight W z of the current time point, the hidden state (h (t-1) ) of the previous time point is input with the inner product with the weight U z of the previous time point, and finally the two values are added and input to the sigmoid function so that the result can be output as a value between 0 and 1. In addition, 1-z (t) can be multiplied by the information of the hidden layer of the previous time point (h (t-1) ).

이를 통해, z(t)는 현재 정보를 얼마나 사용할 지와 1-z(t)를 과거 정보에 대해 얼마나 사용할지를 반영할 수 있다.This allows z(t) to reflect how much to use current information and 1-z(t) to reflect how much to use past information.

리셋 게이트의 결과를 곱하여 현재 시점 t의 정보 후보군이 수학식 7에 의해 결정될 수 있다.By multiplying the results of the reset gate, the information candidate group at the current time point t can be determined by mathematical expression 7.

예를 들어, 상기 현재 시점의 입력 값(xt)가 입력되면 현재 시점의 가중치 Wh와 내적한 값과, 상기 이전 시점의 히든 스테이트(h(t-1))는 이전 시점의 가중치 Uh와 내적하고, r(t)를 곱한 값을 합하여 tanh 함수에 입력될 수 있다. 예를 들어, tanh는 비선형 활성화 함수(하이퍼볼릭 탄젠트 함수)를 의미한다.For example, if the input value (x t ) of the current time point is input, the inner product value of the weight W h of the current time point and the hidden state (h (t-1) ) of the previous time point can be input to the tanh function by adding the inner product of the weight U h of the previous time point and the product of r(t). For example, tanh means a nonlinear activation function (hyperbolic tangent function).

업데이트 게이트와 후보군의 결과를 결합함으로써, 현재 시점의 히든 레이어의 가중치를 수학식 8에 의해 결정할 수 있다.By combining the results of the update gate and the candidates, the weights of the hidden layer at the current point in time can be determined by Equation 8.

예를 들어, 업데이트 게이트의 출력 값 z(t)와 현재 시점의 히든 스테이트(h(t))를 곱한 값과 업데이트 게이트에서 버려지는 값 1-z(t)와 이전 시점의 히든 스테이트(h(t-1))을 곱한 값의 합으로 현재 시점의 히든 레이어의 가중치가 결정될 수 있다.For example, the weight of the hidden layer at the current time point can be determined by the sum of the product of the output value z(t) of the update gate and the hidden state at the current time point (h(t)) and the product of the value 1-z(t) discarded by the update gate and the hidden state at the previous time point (h(t-1)).

예를 들어, GRU 기반 뉴럴 네트워크에 대한 가중치 초기화가 수행될 수 있다. 가중치 초기화는 각각의 레이어에 대해, 해당 레이어로 입력되는 입력 값의 개수와 해당 레이어에서 출력되는 출력 값의 개수를 합한 값을 나눈 가중치를 기반으로 수행될 수 있다. 이를 통해, 가중치의 시작 시점이 적절한 범위 내의 값으로 설정될 수 있다.For example, weight initialization can be performed for a GRU-based neural network. Weight initialization can be performed based on the weight obtained by dividing the sum of the number of input values input to the layer and the number of output values output from the layer for each layer. Through this, the starting point of the weight can be set to a value within an appropriate range.

상술한 과정을 통해, 제1 위험 관리 모델 및 제2 위험 관리 모델 각각에 대한 GRU 기반의 뉴럴 네트워크의 파라미터가 학습될 수 있다. Through the above-described process, parameters of GRU-based neural networks for each of the first risk management model and the second risk management model can be learned.

일 실시예에 따르면, 제2 위험 관리 모델의 학습 데이터로 사용되는 하나의 제2 상태 벡터는 정답 이상 거래 유형별 발생 확률과 하나의 제2 학습 데이터 세트를 구성할 수 있다. 이때, 복수의 제2 학습 데이터 세트가 사전 저장될 수 있다. 예를 들어, 정답 이상 거래 유형별 발생 확률은 정답 제1 이상 거래 유형에 대한 발생 확률, 정답 제2 이상 거래 유형에 대한 발생 확률 및 정답 제3 이상 거래 유형에 대한 발생 확률을 포함할 수 있다.According to one embodiment, one second state vector used as learning data of the second risk management model may constitute an occurrence probability by correct abnormal transaction type and one second learning data set. At this time, a plurality of second learning data sets may be stored in advance. For example, the occurrence probability by correct abnormal transaction type may include an occurrence probability for the correct first abnormal transaction type, an occurrence probability for the correct second abnormal transaction type, and an occurrence probability for the correct third abnormal transaction type.

예를 들어, 정답 제1 이상 거래 유형에 대한 발생 확률은 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 호가 변동 비율에 대한 값, 체결량 변동 비율에 대한 값 및 가격 분포에 대한 값에 대한 유사도를 기반으로 결정될 수 있다.For example, the occurrence probability for the correct first abnormal transaction type can be determined based on the similarity between the values for the order fluctuation ratio, the values for the transaction volume fluctuation ratio, and the values for the price distribution between the second state vector and a plurality of abnormal state vectors representing the first abnormal transaction type.

부가적으로, 예를 들어, 정답 제1 이상 거래 유형에 대한 발생 확률은 하기 수학식 9에 의해 결정될 수 있다.Additionally, for example, the occurrence probability for the correct first or higher transaction type can be determined by the following mathematical expression 9.

상기 수학식 9에 있어서, 상기 Ps는 상기 정답 제1 이상 거래 유형에 대한 발생 확률이고, 상기 wr은 신뢰도에 대한 가중치이고, 상기 sim1H는 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 호가 변동 비율에 대한 유사도를 평균한 값이고, 상기 sim1E는 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 체결량 변동 비율에 대한 유사도를 평균한 값이고, 상기 sim1D는 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 가격 분포에 대한 값에 대한 유사도를 평균한 값이고, 상기 wH, wE, wD는 각각의 유사도에 대한 가중치일 수 있다.In the mathematical expression 9 above, the P s is the occurrence probability for the correct first abnormal transaction type, the w r is a weight for reliability, the sim1 H is an average value of the similarity for the price fluctuation ratio between the second state vector and a plurality of abnormal state vectors representing the first abnormal transaction type, the sim1 E is an average value of the similarity for the transaction amount fluctuation ratio between the second state vector and a plurality of abnormal state vectors representing the first abnormal transaction type, the sim1 D is an average value of the similarity for the price distribution values between the second state vector and a plurality of abnormal state vectors representing the first abnormal transaction type, and the w H , w E , and w D may be weights for the respective similarities.

예를 들어, 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 호가 변동 비율에 대한 유사도는 제2 상태 벡터와 이상 상태 벡터 사이의 시간 구간별로 매수 호가의 차이 값에 대한 절대 값과 매도 호가의 차이 값에 대한 절대 값을 평균한 값에 1을 더한 값을 1에서 나눈 값을 기반으로 결정될 수 있다. 예를 들어, 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 호가 변동 비율에 대한 유사도는 와 같이 결정될 수 있다. 상기 n은 시간 구간의 개수이고, 상기 는 제2 상태 벡터의 i번째 시간 구간의 매수 호가의 변동 비율이고, 상기 는 이상 상태 벡터의 i번째 시간 구간의 매수 호가의 변동 비율이고, 상기 는 제2 상태 벡터의 i번째 시간 구간의 매도 호가의 변동 비율이고, 상기 는 이상 상태 벡터의 i번째 시간 구간의 매도 호가의 변동 비율일 수 있다.For example, the similarity in the bid price fluctuation ratio between the second state vector and the abnormal state vector representing the first abnormal transaction type may be determined based on the value obtained by adding 1 to the average of the absolute value of the difference between the bid price and the absolute value of the difference between the ask price for each time interval between the second state vector and the abnormal state vector, and dividing the value by 1. For example, the similarity in the bid price fluctuation ratio between the second state vector and the abnormal state vector representing the first abnormal transaction type may be determined based on the value obtained by adding 1 to the average of the absolute value of the difference between the bid price and the ask price for each time interval between the second state vector and the abnormal state vector, and dividing the value by 1. can be determined as follows. The above n is the number of time intervals, and the above is the change ratio of the buy order in the i-th time interval of the second state vector, and is the change ratio of the buy order in the i-th time interval of the ideal state vector, and is the change ratio of the selling price in the i-th time interval of the second state vector, and can be the rate of change of the selling price in the ith time interval of the ideal state vector.

예를 들어, 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 체결량 변동 비율에 대한 유사도는 제2 상태 벡터와 이상 상태 벡터 사이의 시간 구간별로 체결량 변동 비율에 대한 차이 값에 대한 절대 값을 평균한 값에 1을 더한 값을 1에서 나눈 값을 기반으로 결정될 수 있다. 예를 들어, 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 체결량 변동 비율에 대한 유사도는 와 같이 결정될 수 있다. 상기 n은 시간 구간의 개수이고, 상기 는 제2 상태 벡터의 i번째 시간 구간의 체결량의 변동 비율이고, 는 이상 상태 벡터의 i번째 시간 구간의 체결량의 변동 비율일 수 있다. For example, the similarity in the transaction volume change ratio between the second state vector and the abnormal state vector representing the first abnormal transaction type may be determined based on the value obtained by adding 1 to the average of the absolute values of the differences in the transaction volume change ratios by time interval between the second state vector and the abnormal state vector, and dividing the value by 1. For example, the similarity in the transaction volume change ratio between the second state vector and the abnormal state vector representing the first abnormal transaction type may be determined based on the value obtained by adding 1 to the average of the absolute values of the differences in the transaction volume change ratios by time interval between the second state vector and the abnormal state vector. can be determined as follows. The above n is the number of time intervals, and the above is the rate of change in the transaction amount in the i-th time interval of the second state vector, can be the rate of change in the transaction amount in the ith time interval of the ideal state vector.

예를 들어, 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 가격 분포에 대한 값에 대한 유사도는 제2 상태 벡터와 이상 상태 벡터 사이의 가격 분포에 대한 값의 차이 값의 절대 값을 평균한 값에 1을 더한 값을 1에서 나눈 값을 기반으로 결정될 수 있다. 예를 들어, 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 가격 분포에 대한 값에 대한 유사도는 와 같이 결정될 수 있다. 상기 n은 시간 구간의 개수이고, 상기 는 제2 상태 벡터의 i번째 시간 구간의 복수의 종목에 대한 가격의 첫번째 자릿수의 분포에 대한 값이고, 이상 상태 벡터의 i번째 시간 구간의 복수의 종목에 대한 가격의 첫번째 자릿수의 분포에 대한 값이고, 상기 는 제2 상태 벡터의 i번째 시간 구간의 복수의 종목에 대한 가격의 두번째 자릿수의 분포에 대한 값이고, 이상 상태 벡터의 i번째 시간 구간의 복수의 종목에 대한 가격의 두번째 자릿수의 분포에 대한 값이고, 상기 는 제2 상태 벡터의 i번째 시간 구간의 복수의 종목에 대한 가격의 처음 두 개의 자릿수의 분포에 대한 값이고, 이상 상태 벡터의 i번째 시간 구간의 복수의 종목에 대한 가격의 처음 두 개의 자릿수의 분포에 대한 값일 수 있다.For example, the similarity for the values of the price distribution between the second state vector and the abnormal state vector representing the first abnormal transaction type can be determined based on the value obtained by adding 1 to the average of the absolute values of the differences in the values of the price distribution between the second state vector and the abnormal state vector and dividing it by 1. For example, the similarity for the values of the price distribution representing the second state vector and the first abnormal transaction type can be determined based on the value obtained by adding 1 to the average of the absolute values of the differences in the values of the price distribution between the second state vector and the abnormal state vector and dividing it by 1. can be determined as follows. The above n is the number of time intervals, and the above is the value for the distribution of the first digit of the price for multiple items in the i-th time interval of the second state vector, It is a value for the distribution of the first digit of the price for multiple items in the i-th time interval of the ideal state vector, and is the value for the distribution of the second digit of the price for multiple items in the i-th time interval of the second state vector, The value for the distribution of the second digit of the price for multiple items in the i-th time interval of the ideal state vector, and is the value for the distribution of the first two digits of the prices for multiple items in the ith time interval of the second state vector, It can be a value for the distribution of the first two digits of the prices for multiple items in the ith time interval of the ideal state vector.

예를 들어, wH, wE, wD는 0보다 크고 1보다 작은 값으로 사전 설정될 수 있다. 예를 들어, wH, wE, wD의 합은 1이 되도록 설정될 수 있다. For example, w H , w E , and w D can be preset to values greater than 0 and less than 1. For example, the sum of w H , w E , and w D can be set to be 1.

예를 들어, 신뢰도에 대한 가중치는 0.5보다 크고 1보다 작은 값으로 사전 설정될 수 있다. 예를 들어, 신뢰도에 대한 가중치는 위험 임계 값이 기준 임계 값보다 크고, 과부하 시간이 기준 시간보다 클수록 1에 가까운 값으로 설정될 수 있다. 즉, 신뢰도에 대한 가중치는 위험 임계값과 과부하 시간을 반영하여, 해당 이상 거래 유형의 발생 확률을 신뢰도에 따라 조절할 수 있다. 기준 임계 값과 기준 시간은 서버의 성능을 기반으로 사전 설정된 값일 수 있다. For example, the weight for reliability can be preset to a value greater than 0.5 and less than 1. For example, the weight for reliability can be set to a value closer to 1 when the risk threshold is greater than the reference threshold and the overload time is greater than the reference time. In other words, the weight for reliability can adjust the occurrence probability of the corresponding abnormal transaction type according to the reliability by reflecting the risk threshold and the overload time. The reference threshold and the reference time can be preset values based on the performance of the server.

이를 통해, 제2 위험 관리 모델은 제1 이상 거래 유형을 탐지하기 위해 매도 호가 또는 매수 호가가 급격히 높아졌다가 취소되고 다시 낮은 가격으로 수정되는 빈도, 체결량이 비정상적으로 낮음에도 불구하고 주문량이 큰 정도, 가격에 대한 분포가 자연스러운 숫자 분포를 벗어나는 정도를 학습할 수 있다.Through this, the second risk management model can learn how often the bid or ask price increases sharply, is canceled, and then adjusted back to a lower price to detect the first abnormal transaction type, how much the order volume is large despite the execution volume being abnormally low, and how much the price distribution deviates from a natural numerical distribution.

예를 들어, 정답 제2 이상 거래 유형에 대한 발생 확률은 제2 상태 벡터와 제2 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 체결량 변동 비율에 대한 값, 가격 변동 비율에 대한 값 및 가격 분포에 대한 값에 대한 유사도를 기반으로 결정될 수 있다.For example, the occurrence probability for the second abnormal transaction type can be determined based on the similarity between the value for the transaction amount change ratio, the value for the price change ratio, and the value for the price distribution between the second state vector and a plurality of abnormal state vectors representing the second abnormal transaction type.

부가적으로, 예를 들어, 정답 제2 이상 거래 유형에 대한 발생 확률은 하기 수학식 10에 의해 결정될 수 있다.Additionally, for example, the occurrence probability for the second or higher correct transaction type can be determined by the following mathematical expression 10.

상기 수학식 10에 있어서, 상기 Ps는 상기 정답 제2 이상 거래 유형에 대한 발생 확률이고, 상기 wr은 신뢰도에 대한 가중치이고, 상기 sim2E는 제2 상태 벡터와 제2 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 체결량 변동 비율에 대한 유사도를 평균한 값이고, 상기 sim2P는 제2 상태 벡터와 제2 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 가격 변동 비율에 대한 유사도를 평균한 값이고, 상기 sim2D는 제2 상태 벡터와 제2 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 가격 분포에 대한 값에 대한 유사도를 평균한 값이고, 상기 wE, wP, wD는 각각의 유사도에 대한 가중치일 수 있다.In the above mathematical expression 10, the P s is the occurrence probability for the correct second abnormal transaction type, the w r is a weight for reliability, the sim2 E is an average value of the similarity for the transaction amount fluctuation ratio between the second state vector and a plurality of abnormal state vectors representing the second abnormal transaction type, the sim2 P is an average value of the similarity for the price fluctuation ratio between the second state vector and a plurality of abnormal state vectors representing the second abnormal transaction type, the sim2 D is an average value of the similarity for the price distribution values between the second state vector and a plurality of abnormal state vectors representing the second abnormal transaction type, and the w E , w P , and w D may be weights for the respective similarities.

예를 들어, 제2 상태 벡터와 제2 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 체결량 변동 비율에 대한 유사도는 상술한 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 체결량 변동 비율에 대한 유사도와 동일한 방식으로 결정될 수 있다.For example, the similarity in terms of the transaction amount change ratio between the second state vector and the abnormal state vector representing the second abnormal transaction type can be determined in the same manner as the similarity in terms of the transaction amount change ratio between the second state vector and the abnormal state vector representing the first abnormal transaction type described above.

예를 들어, 제2 상태 벡터와 제2 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 가격 변동 비율에 대한 유사도는 제2 상태 벡터와 이상 상태 벡터 사이의 가격 변동 비율에 대한 차이 값의 절대 값을 평균한 값에 1을 더한 값을 1에서 나눈 값을 기반으로 결정될 수 있다. 예를 들어, 제2 상태 벡터와 제2 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 가격 변동 비율에 대한 유사도는 와 같이 결정될 수 있다. 상기 n은 시간 구간의 개수이고, 상기 는 제2 상태 벡터의 i번째 시간 구간의 가격의 변동 비율이고, 는 이상 상태 벡터의 i번째 시간 구간의 가격의 변동 비율일 수 있다.For example, the similarity in the price fluctuation ratio between the second state vector and the abnormal state vector representing the second abnormal transaction type can be determined based on the value obtained by adding 1 to the average of the absolute values of the differences in the price fluctuation ratios between the second state vector and the abnormal state vector, and dividing that value by 1. For example, the similarity in the price fluctuation ratio between the second state vector and the abnormal state vector representing the second abnormal transaction type can be determined based on the value obtained by adding 1 to the average of the absolute values of the differences in the price fluctuation ratios between the second state vector and the abnormal state vector representing the second abnormal transaction type. can be determined as follows. The above n is the number of time intervals, and the above is the rate of change in the price of the i-th time interval of the second state vector, can be the rate of change of the price in the ith time interval of the ideal state vector.

예를 들어, 제2 상태 벡터와 제2 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 가격 분포에 대한 값에 대한 유사도는 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 가격 분포에 대한 값에 대한 유사도와 동일한 방식으로 결정될 수 있다.For example, the similarity for values of the price distribution between the second state vector and the abnormal state vector representing the second abnormal transaction type can be determined in the same manner as the similarity for values of the price distribution between the second state vector and the abnormal state vector representing the first abnormal transaction type.

이를 통해, 제2 위험 관리 모델은 제2 이상 거래 유형을 탐지하기 위해 동일한 거래량이 반복적으로 발생하는 빈도, 동일한 가격으로 일정 기간 동안 거래가 이루어지는 패턴, 가격에 대한 분포가 자연스러운 숫자 분포를 벗어나는 정도를 학습할 수 있다.Through this, the secondary risk management model can learn how often the same transaction volume occurs repeatedly, how often transactions are made at the same price over a period of time, and how much the distribution of prices deviates from a natural numerical distribution, in order to detect the second abnormal transaction type.

부가적으로, 예를 들어, 정답 제3 이상 거래 유형에 대한 발생 확률은 하기 수학식 11에 의해 결정될 수 있다.Additionally, for example, the occurrence probability for the third or higher correct transaction type can be determined by the following mathematical expression 11.

상기 수학식 11에 있어서, 상기 Pq는 상기 정답 제3 이상 거래 유형에 대한 발생 확률이고, 상기 wr은 신뢰도에 대한 가중치이고, 상기 sim3p는 제2 상태 벡터와 제3 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 가격 변동 비율에 대한 유사도를 평균한 값이고, 상기 sim3E는 제2 상태 벡터와 제3 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 체결량 변동 비율에 대한 유사도를 평균한 값이고, 상기 sim3X는 제2 상태 벡터와 제3 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 지역 최대값 및 지역 최소값에 대한 유사도를 평균한 값이고, 상기 wP, wE, wX는 각각의 유사도에 대한 가중치일 수 있다.In the above mathematical expression 11, the P q is the occurrence probability for the correct third or more abnormal transaction type, the w r is a weight for reliability, the sim3 p is an average value of the similarity for the price fluctuation ratio between the second state vector and a plurality of abnormal state vectors representing the third or more abnormal transaction type, the sim3 E is an average value of the similarity for the transaction amount fluctuation ratio between the second state vector and a plurality of abnormal state vectors representing the third or more abnormal transaction type, the sim3 X is an average value of the similarity for the local maximum and local minimum between the second state vector and a plurality of abnormal state vectors representing the third or more abnormal transaction type, and the w P , w E , and w X may be weights for the respective similarities.

예를 들어, 제2 상태 벡터와 제3 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 가격 변동 비율에 대한 유사도는 상술한 제2 상태 벡터와 제2 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 가격 변동 비율에 대한 유사도와 동일한 방식으로 결정될 수 있다.For example, the similarity in the price fluctuation ratio between the second state vector and the abnormal state vector representing the third abnormal transaction type can be determined in the same manner as the similarity in the price fluctuation ratio between the second state vector and the abnormal state vector representing the second abnormal transaction type described above.

예를 들어, 제2 상태 벡터와 제3 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 체결량 변동 비율에 대한 유사도는 상술한 제2 상태 벡터와 제1 이상 거래 유형을 나타내는 이상 상태 벡터 사이의 체결량 변동 비율에 대한 유사도와 동일한 방식으로 결정될 수 있다.For example, the similarity in terms of the transaction amount change ratio between the second state vector and the abnormal state vector representing the third abnormal transaction type can be determined in the same manner as the similarity in terms of the transaction amount change ratio between the second state vector and the abnormal state vector representing the first abnormal transaction type described above.

예를 들어, 제2 상태 벡터와 제3 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 지역 최대값 및 지역 최소값에 대한 유사도는 복수의 이동 평균 각각에 대한 적어도 하나의 지역 최대값과 적어도 하나의 지역 최소 값의 차이 값의 절대 값에 1을 더한 값을 1에서 나눈 값으로 결정될 수 있다. 예를 들어, 제2 상태 벡터와 제3 이상 거래 유형을 나타내는 복수의 이상 상태 벡터 사이의 지역 최대값 및 지역 최소값에 대한 유사도는 와 같이 결정될 수 있다. 상기 n은 시간 구간의 개수이고, 상기 는 제2 상태 벡터의 i번째 시간 구간의 j번째 이동 평균보다 높은 구간에 대한 적어도 하나의 지역 최대값이고, 상기 는 이상 상태 벡터의 i번째 시간 구간의 j번째 이동 평균보다 높은 구간에 대한 적어도 하나의 지역 최대값이고, 상기 는 제2 상태 벡터의 i번째 시간 구간의 j번째 이동 평균보다 낮은 구간에 대한 적어도 하나의 지역 최소값이고, 상기 는 이상 상태 벡터의 i번째 시간 구간의 j번째 이동 평균보다 낮은 구간에 대한 적어도 하나의 지역 최소값일 수 있다.For example, the similarity between the second state vector and the plurality of abnormal state vectors representing the third abnormal transaction type for the local maximum and local minimum may be determined by dividing the value obtained by adding 1 to the absolute value of the difference between at least one local maximum and at least one local minimum for each of the plurality of moving averages by 1. For example, the similarity between the second state vector and the plurality of abnormal state vectors representing the third abnormal transaction type for the local maximum and local minimum may be determined by can be determined as follows. The above n is the number of time intervals, and the above is at least one local maximum for an interval higher than the jth moving average of the ith time interval of the second state vector, and is at least one local maximum for an interval higher than the jth moving average of the ith time interval of the ideal state vector, and is at least one local minimum for an interval lower than the jth moving average of the ith time interval of the second state vector, and may be at least one local minimum for an interval lower than the jth moving average of the i-th time interval of the ideal state vector.

이를 통해, 제2 위험 관리 모델은 제3 이상 거래 유형을 탐지하기 위해 시가나 종가가 형성되기 직전에 가격 변동이 일어나는 시간, 주문의 빈도와 정정/취소 패턴 및 가격이 급격히 상승하거나 하락하는 정도를 학습할 수 있다.Through this, the secondary risk management model can learn the time when price movements occur just before the opening or closing price is formed, the frequency and correction/cancellation patterns of orders, and the degree to which prices rise or fall sharply, in order to detect the third and higher transaction types.

도 6은 일 실시예에 따른 서버의 하드웨어 구성을 나타내는 블록도이다. 도 6의 일 실시예는 본 개시의 다양한 실시예들과 결합될 수 있다.FIG. 6 is a block diagram showing a hardware configuration of a server according to one embodiment. The embodiment of FIG. 6 can be combined with various embodiments of the present disclosure.

도 6에 도시된 바와 같이, 서버(600)는 프로세서(610), 통신부(620) 및 메모리(630)를 포함할 수 있다. 그러나, 도 6에 도시된 구성 요소 모두가 서버(600)의 필수 구성 요소인 것은 아니다. 도 6에 도시된 구성 요소보다 많은 구성 요소에 의해 서버(600)가 구현될 수도 있고, 도 6에 도시된 구성 요소보다 적은 구성 요소에 의해 서버(600)가 구현될 수도 있다. 예를 들어, 일부 실시예에 따른 서버(600)는 프로세서(610), 통신부(620) 및 메모리(630) 이외에 사용자 입력 인터페이스(미도시), 출력부(미도시) 등을 더 포함할 수도 있다.As illustrated in FIG. 6, the server (600) may include a processor (610), a communication unit (620), and a memory (630). However, not all of the components illustrated in FIG. 6 are essential components of the server (600). The server (600) may be implemented with more components than the components illustrated in FIG. 6, or may be implemented with fewer components than the components illustrated in FIG. 6. For example, the server (600) according to some embodiments may further include a user input interface (not illustrated), an output unit (not illustrated), etc., in addition to the processor (610), the communication unit (620), and the memory (630).

프로세서(610)는, 통상적으로 서버(600)의 전반적인 동작을 제어한다. 프로세서(610)는 하나 이상의 프로세서를 구비하여, 서버(600)에 포함된 다른 구성 요소들을 제어할 수 있다. 예를 들어, 프로세서(610)는, 메모리(630)에 저장된 프로그램들을 실행함으로써, 통신부(620) 및 메모리(630) 등을 전반적으로 제어할 수 있다. 또한, 프로세서(610)는 메모리(630)에 저장된 프로그램들을 실행함으로써, 도 3 내지 도 5에 기재된 서버(600)의 기능을 수행할 수 있다.The processor (610) typically controls the overall operation of the server (600). The processor (610) may include one or more processors and control other components included in the server (600). For example, the processor (610) may control the communication unit (620) and the memory (630) by executing programs stored in the memory (630). In addition, the processor (610) may perform the functions of the server (600) described in FIGS. 3 to 5 by executing programs stored in the memory (630).

통신부(620)는, 서버(600)가 다른 장치(미도시) 및 서버(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 다른 장치(미도시)는 서버(600)와 같은 컴퓨팅 장치이거나, 센싱 장치일 수 있으나, 이에 제한되지 않는다. 통신부(620)는 네트워크를 통해, 다른 전자 장치로부터의 사용자 입력을 수신하거나, 외부 장치로부터 외부 장치에 저장된 데이터를 수신할 수 있다. The communication unit (620) may include one or more components that allow the server (600) to communicate with other devices (not shown) and the server (not shown). The other devices (not shown) may be computing devices such as the server (600) or sensing devices, but are not limited thereto. The communication unit (620) may receive user input from other electronic devices or receive data stored in an external device from an external device via a network.

메모리(630)는, 프로세서(610)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. 예를 들어, 메모리(630)는 서버에 입력된 정보 또는 네트워크를 통해 다른 장치로부터 수신된 정보를 저장할 수 있다. 또한, 메모리(630)는 프로세서(610)에서 생성된 데이터를 저장할 수 있다. 메모리(630)는 서버(600)로 입력되거나 서버(600)로부터 출력되는 정보를 저장할 수도 있다. The memory (630) can store a program for processing and controlling the processor (610). For example, the memory (630) can store information input to the server or information received from another device via a network. In addition, the memory (630) can store data generated by the processor (610). The memory (630) can also store information input to the server (600) or output from the server (600).

메모리(630)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.The memory (630) may include at least one type of storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, an SD or XD memory, etc.), a RAM (Random Access Memory), a SRAM (Static Random Access Memory), a ROM (Read-Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a PROM (Programmable Read-Only Memory), a magnetic memory, a magnetic disk, and an optical disk.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may be implemented using one or more general-purpose computers or special-purpose computers, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing instructions and responding to them. The processing device may execute an operating system (OS) and one or more software applications running on the OS. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing device is sometimes described as being used alone, but those skilled in the art will appreciate that the processing device may include multiple processing elements and/or multiple types of processing elements. For example, the processing device may include multiple processors, or a processor and a controller. Other processing configurations, such as parallel processors, are also possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing device to perform a desired operation or may independently or collectively command the processing device. The software and/or data may be permanently or temporarily embodied in any type of machine, component, physical device, virtual equipment, computer storage medium or device, or transmitted signal waves, for interpretation by the processing device or for providing instructions or data to the processing device. The software may also be distributed over network-connected computer systems, and stored or executed in a distributed manner. The software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program commands, data files, data structures, etc., alone or in combination. The program commands recorded on the medium may be those specially designed and configured for the embodiment or may be those known to and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program commands such as ROMs, RAMs, flash memories, etc. Examples of the program commands include not only machine language codes generated by a compiler but also high-level language codes that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiment, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with limited drawings as described above, those skilled in the art can apply various technical modifications and variations based on the above. For example, even if the described techniques are performed in a different order than the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or are replaced or substituted by other components or equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also included in the scope of the claims described below.

Claims (3)

위험을 관리하는 서버로서,
주문 데이터를 기반으로 과부하 위험을 관리하기 위한 트래픽 정보를 생성하고, 거래 데이터를 기반으로 거래 위험을 관리하기 위한 감시 지표 정보를 생성하는 데이터 처리부;
상기 트래픽 정보를 기반으로 제1 뉴럴 네트워크를 이용하는 제1 위험 관리 모델을 통해 데이터 트래픽량에 대한 위험 정보를 결정하고, 상기 위험 정보를 기반으로 과부하 위험과 관련된 메시지를 생성하는 과부하 위험 관리부;
상기 감시 지표 정보 및 상기 위험 정보를 기반으로 제2 뉴럴 네트워크를 이용하는 제2 위험 관리 모델을 통해 복수의 이상 거래 유형 각각에 대한 확률을 결정하고, 상기 복수의 이상 거래 유형 각각에 대한 발생 확률을 기반으로 거래 위험과 관련된 메시지를 생성하는 거래 위험 관리부; 및
상기 과부하 위험과 관련된 메시지 및 상기 거래 위험과 관련된 메시지를 관리자 단말에게 전송하는 위험 관리 메시지 전송부를 포함하는,
서버.
As a server that manages risk,
A data processing unit that generates traffic information for managing overload risk based on order data and generates monitoring indicator information for managing transaction risk based on transaction data;
An overload risk management unit that determines risk information on data traffic volume through a first risk management model using a first neural network based on the above traffic information and generates a message related to overload risk based on the above risk information;
A transaction risk management unit that determines the probability of each of a plurality of abnormal transaction types through a second risk management model using a second neural network based on the above surveillance indicator information and the above risk information, and generates a message related to transaction risk based on the occurrence probability of each of the plurality of abnormal transaction types; and
Including a risk management message transmission unit that transmits a message related to the above overload risk and a message related to the above transaction risk to the administrator terminal.
Server.
제 1항에 있어서,
상기 과부하 위험 관리부는,
상기 트래픽 정보에 대한 데이터 전처리를 통해 제1 상태 벡터를 생성하고,
상기 제1 상태 벡터는 주문 종류별 데이터 트래픽량, 최대 허용 데이터 트래픽량, 전체 사용자 수와 사용자의 접속 빈도, 트래픽 변동성에 대한 값 및 일평균 기준 거래대금 이상으로 거래하는 사용자의 비율을 포함하고,
상기 제1 상태 벡터를 상기 제1 위험 관리 모델에 입력시킴으로써, 상기 데이터 트래픽량에 대한 위험 정보를 결정하고,
상기 위험 정보는 위험 임계 값과 과부하 시간을 포함하고,
상기 위험 임계 값, 상기 과부하 시간 및 현재 상기 서버에 접속한 사용자의 수를 기반으로 예비 임계 값을 결정하고,
상기 제1 위험 관리 모델은 복수의 제1 상태 벡터 및 복수의 정답 위험 벡터를 기반으로 학습되고,
상기 서버의 전체 데이터 트래픽량이 상기 예비 임계 값을 초과하는 것에 기반하여 과부하 위험에 대한 예비 경고 메시지를 생성하고,
상기 서버의 전체 데이터 트래픽량이 상기 위험 임계 값을 초과하는 것에 기반하여 과부하 위험에 대한 경고 메시지를 생성하고,
상기 과부하 위험과 관련된 메시지는 상기 예비 경고 메시지 및 상기 경고 메시지를 포함하는,
서버.
In paragraph 1,
The above overload risk management department,
Generate a first state vector through data preprocessing of the above traffic information,
The above first state vector includes data traffic volume by order type, maximum allowable data traffic volume, total number of users and user access frequency, values for traffic volatility, and the proportion of users transacting more than the daily average standard transaction amount.
By inputting the first state vector into the first risk management model, risk information on the data traffic volume is determined,
The above risk information includes risk thresholds and overload times,
Determine a preliminary threshold based on the above risk threshold, the above overload time, and the number of users currently connected to the above server,
The above first risk management model is learned based on a plurality of first state vectors and a plurality of correct risk vectors,
Generate a preliminary warning message for overload risk based on the total data traffic of the above server exceeding the preliminary threshold,
Generate a warning message about overload risk based on whether the total data traffic volume of the above server exceeds the above risk threshold,
The above overload risk related message includes the above preliminary warning message and the above warning message.
Server.
제 2항에 있어서,
상기 거래 위험 관리부는,
상기 감시 지표 정보 및 상기 위험 정보에 대한 데이터 전처리를 통해 제2 상태 벡터를 생성하고,
상기 제2 상태 벡터는 상기 위험 임계 값, 상기 과부하 시간, 호가 변동 비율에 대한 값, 가격 변동 비율에 대한 값, 체결량 변동 비율에 대한 값, 지역 최대값과 지역 최소값 및 가격 분포에 대한 값을 포함하고,
상기 제2 상태 벡터를 상기 제2 위험 관리 모델에 입력시킴으로써, 상기 복수의 이상 거래 유형 각각에 대한 발생 확률을 결정하고,
상기 복수의 이상 거래 유형은 허위 주문에 따른 제1 이상 거래 유형, 가장 매매 주문에 따른 제2 이상 거래 유형 및 예상가관여 주문에 따른 제3 이상 거래 유형을 포함하고,
상기 제2 위험 관리 모델은 복수의 제2 상태 벡터, 복수의 이상 상태 벡터 및 복수의 정답 이상 거래 유형별 발생 확률을 기반으로 학습되고,
상기 복수의 이상 거래 유형 중에서 상기 발생 확률이 사전 설정된 기준 확률 이상인 적어도 하나의 이상 거래 유형을 결정하고,
상기 적어도 하나의 이상 거래 유형에 대응하는 거래 경고 메시지를 생성하고,
상기 거래 위험과 관련된 메시지는 상기 복수의 이상 거래 유형 각각에 대응하는 거래 경고 메시지를 포함하는,
서버.
In the second paragraph,
The above transaction risk management department,
Generate a second state vector through data preprocessing of the above surveillance indicator information and the above risk information,
The second state vector includes values for the risk threshold, the overload time, the bid/ask spread ratio, the price spread ratio, the transaction volume spread ratio, the local maximum and local minimum, and the price distribution.
By inputting the second state vector into the second risk management model, the occurrence probability for each of the plurality of abnormal transaction types is determined,
The above multiple abnormal transaction types include the first abnormal transaction type based on a false order, the second abnormal transaction type based on a most traded order, and the third abnormal transaction type based on an expected price involvement order.
The above second risk management model is learned based on multiple second state vectors, multiple abnormal state vectors, and multiple correct abnormal transaction type occurrence probabilities.
Among the above multiple abnormal transaction types, at least one abnormal transaction type is determined whose occurrence probability is greater than or equal to a preset standard probability,
Generate a transaction warning message corresponding to at least one of the above abnormal transaction types,
The above transaction risk related message includes a transaction warning message corresponding to each of the above multiple abnormal transaction types.
Server.
KR1020240154175A 2024-11-04 2024-11-04 System and method for managing risks based on abnormal signs by determining abnormal signs based on financial data using artificial intelligence KR102756688B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240154175A KR102756688B1 (en) 2024-11-04 2024-11-04 System and method for managing risks based on abnormal signs by determining abnormal signs based on financial data using artificial intelligence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020240154175A KR102756688B1 (en) 2024-11-04 2024-11-04 System and method for managing risks based on abnormal signs by determining abnormal signs based on financial data using artificial intelligence

Publications (1)

Publication Number Publication Date
KR102756688B1 true KR102756688B1 (en) 2025-01-21

Family

ID=94389533

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020240154175A KR102756688B1 (en) 2024-11-04 2024-11-04 System and method for managing risks based on abnormal signs by determining abnormal signs based on financial data using artificial intelligence

Country Status (1)

Country Link
KR (1) KR102756688B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060118830A (en) * 2005-05-17 2006-11-24 엘지노텔 주식회사 Signal packet control device and method using traffic monitoring in asynchronous mobile communication network
KR20100010327A (en) * 2008-07-22 2010-02-01 주식회사 케이티 Method and system for processing messaging service traffic overload control, and apparatus for providing messaging services using the same
US20110178918A1 (en) * 2006-06-19 2011-07-21 Exegy Incorporated High Speed Processing of Financial Information Using FPGA Devices
WO2016177404A1 (en) * 2015-05-05 2016-11-10 Telefonaktiebolaget Lm Ericsson (Publ) Reducing traffic overload in software defined network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060118830A (en) * 2005-05-17 2006-11-24 엘지노텔 주식회사 Signal packet control device and method using traffic monitoring in asynchronous mobile communication network
US20110178918A1 (en) * 2006-06-19 2011-07-21 Exegy Incorporated High Speed Processing of Financial Information Using FPGA Devices
KR20100010327A (en) * 2008-07-22 2010-02-01 주식회사 케이티 Method and system for processing messaging service traffic overload control, and apparatus for providing messaging services using the same
WO2016177404A1 (en) * 2015-05-05 2016-11-10 Telefonaktiebolaget Lm Ericsson (Publ) Reducing traffic overload in software defined network

Similar Documents

Publication Publication Date Title
KR102360727B1 (en) Method and apparatus for garmet suggestion using neural networks
KR102594697B1 (en) Method and apparatus for rebalancing a portfolio for virtual assets according to a state of the virtual asset market using a neural network
KR20230007988A (en) Blockchain-based device and method for virtual asset management
KR102743946B1 (en) Method and apparatus for transmitting a raw material request message according to predicted order quantity data reflecting the priority of items and raw materials using a plurality of neural networks
KR102529607B1 (en) Artificial intelligence-based business transaction platform system
KR102491357B1 (en) Method and apparatus for providing information on the management status of a medical facility to a terminal using a neural network
KR102642567B1 (en) Method and device for performing pricing using neural networks
KR102626872B1 (en) Method and apparatus for managing delivery products based on a blockchain network using neural networks
KR102593396B1 (en) Method and apparatus for matching fabric supplier terminals and fabric buyer terminals using a plurality of neural network
KR102756688B1 (en) System and method for managing risks based on abnormal signs by determining abnormal signs based on financial data using artificial intelligence
KR102536674B1 (en) Method and apparatus for providing a recommendation list for wholesale products to a seller terminal using a neural network
KR102504950B1 (en) Method and apparatus for providing predicted product sales to a user terminal using a neural network
KR102482533B1 (en) Blockchain-based device and method for virtual asset management
KR102422153B1 (en) Method and apparatus for suggestion of consultation guide information using neural networks
KR102594696B1 (en) Method and apparatus for rebalancing according to a rebalancing reference value for a portfolio of virtual assets using a neural network
KR102584487B1 (en) Method and apparatus for multiple rebalancing on specific data using a neural network
KR102657690B1 (en) Method for verifying the validity of quotes submitted in the exchange
KR102619380B1 (en) Devices and methods for supplying liquidity to cryptocurrency market
KR102619379B1 (en) Method for supplying liquidity to the virtual asset exchange
KR102465106B1 (en) Method and apparatus for analyzing stock item using neural networks
KR102724203B1 (en) Method and system for providing membership online shopping mall service using multiple rebate plans
KR102557257B1 (en) Method and apparatus for transmitting information for food ingredients based on predicted sales using a neural network
KR102602241B1 (en) Blockchain-based artificial intelligence healthcare platform system
KR102718310B1 (en) Method and device for providing content related to marketing according to a marketing strategy using neural networks
KR102501056B1 (en) Method and apparatus for suggestion of consultation guide information using neural networks

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20241104

PA0201 Request for examination

Patent event code: PA02011R01I

Patent event date: 20241104

Comment text: Patent Application

PA0302 Request for accelerated examination

Patent event date: 20241106

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250106

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20250114

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20250114

End annual number: 3

Start annual number: 1

PG1601 Publication of registration