Transaction intermediation methods and transaction intermediation programs
The trading intermediation method and program address the issue of price fluctuations by continuously monitoring and updating quotes, ensuring trades are executed with the best matching prices, thereby reducing transaction failures.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- FUJITSU LTD
- Filing Date
- 2024-11-20
- Publication Date
- 2026-06-01
AI Technical Summary
Existing trading intermediary services face the challenge of trades failing due to fluctuations in bid and ask prices, as there is a time lag between presenting quotes to investors and receiving trade execution requests, leading to mismatches and unsuccessful transactions.
A trading intermediation method and program that continuously monitor and update quotes, allowing for the extraction of the best matching quote among multiple market makers to execute trades, even if initial quotes have changed, thereby reducing the likelihood of transaction failures.
This approach significantly reduces the possibility of securities transactions failing due to price fluctuations by ensuring that trades are executed using the most current and matching quotes, enhancing transaction success rates.
Smart Images

Figure 2026089577000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a transaction mediation method and a transaction mediation program.
Background Art
[0002] In recent years, transactions of securities such as stocks and bonds are often conducted electronically, and various services for such electronic transactions are provided. For example, a transaction mediation service that provides a solicitation / negotiation function for securities transactions using RFQ (Request For Quote) between investors and market makers has been started.
[0003] In addition, the following order forwarding processing system connected to a plurality of electronic trading systems such as PTS (Proprietary Trading System) has been proposed. This order forwarding processing system discriminates an electronic trading system that can process an order under the optimal conditions among each electronic trading system from the real-time price information from each electronic trading system, and forwards the order to that electronic trading system.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] Some of the above-mentioned trading intermediary services have a constraint: when they present market maker quotes to investors and receive a trade execution request from an investor using those quotes, the trade will not be executed unless those quotes match the latest quotes available at that time. Here, while quotes can be updated frequently (for example, every second), there can be a certain time lag between presenting the quotes to investors and receiving a trade execution request from them. Therefore, with the above constraint, it is possible that trades will frequently fail because the quotes have changed by the time a trade execution request is received.
[0006] In one aspect, the present invention aims to provide a trading intermediation method and a trading intermediation program that can reduce the possibility of securities transactions failing due to fluctuations in bid and ask prices. [Means for solving the problem]
[0007] One proposal provides a trading intermediation method in which a computer performs the following processes: The computer presents the best first quote (1) from among the quotes offered by each of several market makers to the investor's trading system. Upon receiving a request from the trading system to execute a trade using the first quote, the computer determines whether the second quote offered by the first market maker at the current time matches the first quote. If the second quote matches the first quote, the computer executes the process to execute a trade using the first quote. If the second quote does not match the first quote, the computer extracts the best third quote from among the quotes offered by each of the several market makers at the current time. If the third quote matches the first quote, the computer executes the process to execute a trade using the third quote. If the third quote does not match the first quote, the computer notifies the trading system that the trade was unsuccessful.
[0008] Another proposal provides a trading intermediary program that instructs a computer to perform the following processes: The computer, in accordance with the trading intermediary program, presents the best first bid price from among the bid prices offered by each of several market makers to the investor's trading system. Upon receiving a request from the trading system to execute a trade using the first bid price, the computer determines whether the second bid price offered at the current time by the first market maker, which provided the first bid price, matches the first bid price. If the second bid price matches the first bid price, the computer executes the process to execute a trade using the first bid price. If the second bid price does not match the first bid price, the computer extracts the best third bid price from among the bid prices offered by each of the several market makers at the current time. If the third bid price matches the first bid price, the computer executes the process to execute a trade using the third bid price. If the third bid price does not match the first bid price, the computer notifies the trading system that the trade was unsuccessful. [Effects of the Invention]
[0009] One aspect of this is that fluctuations in bid and ask prices can reduce the possibility of securities transactions failing to be completed. [Brief explanation of the drawing]
[0010] [Figure 1] This figure shows an example of the configuration and processing of a transaction intermediary device according to the first embodiment. [Figure 2] This figure shows an example of the overall configuration of a securities trading system according to the second embodiment. [Figure 3] This figure shows an example of the hardware configuration of an intermediary server. [Figure 4] This figure shows an example of the configuration of processing functions provided by the intermediary system. [Figure 5] This is an example flowchart showing the processing steps of the quote presentation processing unit. [Figure 6] This figure shows an example of quotient variation. [Figure 7] This diagram shows an example of processing in the transaction request processing unit. [Figure 8] It is a flowchart showing a processing example of a transaction request processing unit. [Figure 9] It is a diagram showing a first processing example of a transaction request processing unit using status. [Figure 10] It is a diagram showing a second processing example of a transaction request processing unit using status. [Figure 11] It is a diagram showing a third processing example of a transaction request processing unit using status. [Figure 12] It is a diagram showing a fourth processing example of a transaction request processing unit using status. [Figure 13] It is a sequence diagram (part 1) showing a first example of transaction execution processing. [Figure 14] It is a sequence diagram (part 2) showing a first example of transaction execution processing. [Figure 15] It is a sequence diagram showing a second example of transaction execution processing.
Embodiments for Carrying Out the Invention
[0011] Hereinafter, embodiments of the present invention will be described with reference to the drawings. 〔First Embodiment〕 FIG. 1 is a diagram showing a configuration example and a processing example of a transaction mediation device according to the first embodiment. The transaction mediation device 1 shown in FIG. 1 mediates securities transactions between an investor 2 and a market maker. For example, the transaction mediation device 1 makes inquiries and conducts negotiations regarding securities transactions between the investor 2 and a plurality of market makers.
[0012] In this embodiment, as an example, the transaction mediation device 1 mediates securities transactions between the investor 2 and market makers 4a (MM#A), 4b (MM#B), and 4c (MM#C). Also, the interaction between the transaction mediation device 1 and the investor 2 is carried out via the transaction system 3.
[0013] The transaction mediation device 1 is a computer (e.g., a server computer) having one or more processors. The processing of the transaction mediation device 1 described below is realized, for example, by a processor included in the transaction mediation device 1 executing a predetermined program. Note that the following processing of the transaction mediation device 1 may be distributedly processed by a plurality of transaction mediation devices.
[0014] In the following description, as an example, a case where investor 2 requests a buy transaction for securities of a specific brand will be described. At a certain time, the transaction mediation device 1 receives indications of indicative prices from market makers 4a to 4c for the securities of the above brand. The indicative price is the desired trading price for the securities of the above brand, and here, the indicative price for selling is presented. The transaction mediation device 1 extracts the best indicative price from the presented indicative prices, and transmits the extracted indicative price to the trading system 3 and presents it to investor 2 (step S1). In the example of FIG. 1, it is assumed that indicative prices of 1003 yen, 1004 yen, and 1005 yen are presented from market makers 4a, 4b, and 4c, respectively, as indicative prices. In this case, 1003 yen presented from market maker 4a (MM#A) is extracted as the best indicative price (the cheapest indicative price in this example) and presented to investor 2.
[0015] Here, it is assumed that investor 2 requests a buy transaction at the presented 1003 yen. In this case, in response to an operation by investor 2, an execution request for the transaction is transmitted from the trading system 3, and the transaction mediation device 1 receives this execution request (step S2).
[0016] By the way, there is a time lag from when the transaction mediation device 1 extracts the best indicative price in step S1 and transmits it to the trading system 3 until it receives an execution request for a transaction using that indicative price in step S2. Also, indicative prices for the securities of the above brand are presented to the transaction mediation device 1 from market makers 4a to 4c at any time. Therefore, there is a possibility that the indicative price presented from market maker 4a is updated between step S1 and step S2.
[0017] On the other hand, in the transaction mediation process by the trading intermediary device 1, there is a constraint that when the trading intermediary device 1 presents a quote price from the market maker to the investor and receives a request from the investor to execute a transaction using that quote price, the transaction will not be executed unless that quote price matches the latest quote price presented at that time. Under this constraint, if the trading intermediary device 1 receives a request to execute a transaction in step S2 and the quote price presented by market maker 4a is 1003 yen, it can execute the process to execute a transaction using this quote price. In other words, in this case, the trading intermediary device 1 can execute the process for an investor 2 to buy the above-mentioned securities from market maker 4a for 1003 yen.
[0018] However, if the bid price offered by market maker 4a at the time the trade execution request is received in step S2 is not 1003 yen, the trade between investor 2 and market maker 4a will not be executed. For example, if the bid price offered by market maker 4a at the time the trade execution request is received in step S2 is higher or lower than 1003 yen, the trade between investor 2 and market maker 4a will not be executed.
[0019] As described above, the bid price offered by market maker 4a is updated as it progresses, so there is a good chance that the bid price offered by market maker 4a will no longer be 1003 yen when the trade execution request is received in step S2. If the trading intermediary device 1 uniformly rejects a trade if the bid price offered by market maker 4a does not match the original bid price when the trade execution request is received, it is possible that trades will frequently fail to be completed.
[0020] To address this problem, the trading intermediary device 1 of this embodiment performs the following processing if the bid price offered by market maker 4a at the time of receiving a trade execution request does not match the original bid price. The trading intermediary device 1 extracts the best bid price from among the bid prices offered by market makers 4a to 4c at the current time (corresponding to step S2). The trading intermediary device 1 determines whether the extracted bid price matches the original bid price (the bid price offered in step S1 for which trade execution was requested). If these bid prices do not match, the trading intermediary device 1 declares the trade unsuccessful and notifies investor 2 of the unsuccessful trade via the trading system 3. On the other hand, if these bid prices do match, the trading intermediary device 1 performs processing to execute a trade using the extracted bid price.
[0021] In the example in Figure 1, assume that at the time the trade execution request is received in step S2, market makers 4a, 4b, and 4c have offered bid prices of 1004 yen, 1005 yen, and 1003 yen, respectively. In this case, the trading intermediary device 1 determines whether the bid price offered by market maker 4a (1004 yen) matches the bid price offered in step S1 (1003 yen) (step S3).
[0022] In the example in Figure 1, these bid and ask prices do not match, so the trading intermediary device 1 then extracts the best bid price from among the bid prices offered by market makers 4a to 4c at step S2 (step S4). In this example, 1003 yen offered by market maker 4c (MM#C) is extracted as the best bid price. The trading intermediary device 1 determines whether the extracted bid price (1003 yen) matches the bid price (1003 yen) offered in step S1 (step S5). In the example in Figure 1, these bid prices match, so the trading intermediary device 1 executes a process to trade using the extracted bid price (1003 yen) (step S6). As such, a process is executed between investor 2 and market maker 4c to trade using the above bid price (1003 yen).
[0023] According to the first embodiment of the trading intermediary device 1 described above, when an order for execution of a trade is received from investor 2, if the bid price from the market maker for the traded asset changes from the original bid price, the trading intermediary device 1 does not uniformly declare the trade unsuccessful. If the best bid price among the bid prices from multiple market makers at that time matches the original bid price, the trading intermediary device 1 executes a process to execute the trade using that bid price. This makes it possible to reduce the possibility that a securities trade will be unsuccessful due to a change in the bid price.
[0024] Furthermore, after receiving a trade execution request in step S2, if it is determined in step S3 that the bid / ask prices match, the process of requesting approval for the trade from the counterparty market maker (market maker 4a in the example in Figure 1) is executed, for example, as a process to execute the trade using those bid / ask prices. Therefore, the latest bid / ask prices from market makers 4a to 4c referenced in steps S3 and S4 may not strictly be the prices at the time the execution request in step S2 is executed, but rather just before the approval process described above is executed.
[0025] Furthermore, the above example described the case where investor 2 requests a buy transaction for securities. However, in another example, if investor 2 requests a sell transaction for securities, market makers 4a to 4c will submit buy bid prices to the trading intermediary device 1. Also, in steps S1 and S4, the highest bid price is extracted as the best bid price from among the bid prices submitted by market makers 4a to 4c.
[0026] [Second Embodiment] Figure 2 is a diagram showing an example of the overall configuration of a securities trading system according to the second embodiment. The securities trading system shown in Figure 2 includes an intermediary system 100, an investor system 210, a trading firm system 220, a market maker (MM) system 230, securities company systems 240, 250, and a stock exchange system 260.
[0027] The brokerage system 100 is a server system operated by a brokerage firm that provides securities trading brokerage services 10. The brokerage service 10 is a service that mediates inquiries and negotiations for buying and selling securities using RFQs between investors 21 and market makers 23, and is sometimes called an "RFQ platform". The brokerage service 10 receives RFQs from investors 21 that specify the securities to be bought and sold and the quantity (number of units or amount). The brokerage service 10 displays the best price among the prices offered by each market maker 23 to the investor 21, enabling the investor 21 to buy or sell those securities.
[0028] The securities (financial instruments) being traded are, for example, ETFs (Exchange Traded Funds). In this case, the investors 21 to whom the intermediary service 10 is provided are institutional investors such as financial institutions and insurance companies.
[0029] The investor system 210 is a computer system for investors 21 who utilize the intermediary service 10. The investor system 210 includes, for example, terminal devices operated by an operator. Furthermore, if the investor 21 is an institutional investor (corporation or organization), the investor system 210 may also include a server computer.
[0030] The trading company system 220 is a server system operated by a trading company that provides securities trading services 22. The trading company system 220 is an example of the trading system 3 in Figure 1. The trading service 22, for example, displays a GUI (Graphical User Interface) screen on the terminal device of the investor system 210 and executes processes related to the buying and selling of securities by receiving operations from an operator on the investor 21 side via the GUI screen. In this embodiment, the trading company system 220 displays a GUI screen for generating an RFQ on the terminal device of the investor system 210, and is capable of generating an RFQ based on the input information to the GUI screen and sending it to the intermediary system 100.
[0031] Furthermore, investors 21 can also use the intermediary service 10 directly without going through the trading service 22. The market maker system 230 is a server system operated by market maker 23. Market maker 23 is a financial company that provides buy and sell quotes for market making. There are multiple market maker 23s, and each market maker 23's market maker system 230 is connected to the intermediary system 100.
[0032] The securities company system 240 is a server system operated by the securities company 24 used by investors 21 (specifically, the securities company 24 where investors 21 have opened a securities account). The securities company system 240 can receive transaction requests from investors 21 via the intermediary system 100 and execute transactions.
[0033] The securities company system 250 is a server system operated by the securities company 25 used by the market maker 23 (specifically, the securities company 25 in which the market maker 23 has opened a securities account). The securities company system 250 can receive trade requests agreed upon by the market maker 23 with the investor 21 via the intermediary system 100 and execute the trades.
[0034] As mentioned above, there are multiple market makers 23, so there is also a separate securities company system 250 for each securities company 25 used by the market maker 23. Since multiple market makers 23 may use the same securities company 25, in practice, it is sufficient for one or more securities company systems 250 to be connected to the intermediary server 110.
[0035] The stock exchange system 260 is a server system operated by the stock exchange 26, which executes securities transactions based on orders from securities companies 24, 25. The stock exchange system 260 provides, for example, electronic trading services for off-exchange transactions.
[0036] In the following explanation, "quote" refers to the asking price (buy / sell price) offered by market maker 23. The quote is included in the quote information transmitted from market maker system 230 used by market maker 23.
[0037] Next, we will describe an example of a computer included in a securities trading system. Figure 3 shows an example of the hardware configuration of the intermediary server. Intermediary server 110 is an example of a server computer included in the intermediary system 100. Intermediary server 110 is also an example of the transaction intermediary device 1 in Figure 1.
[0038] As shown in Figure 3, the intermediary server 110 includes a processor 111, RAM (Random Access Memory) 112, HDD (Hard Disk Drive) 113, GPU (Graphics Processing Unit) 114, input interface (I / F) 115, reading device 116, and communication interface (I / F) 117.
[0039] The processor 111 provides comprehensive control over the entire intermediary server 110. The processor 111 may be, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device). Alternatively, the processor 111 may be a combination of two or more elements from among the CPU, MPU, DSP, ASIC, and PLD.
[0040] The intermediary server 110 may have multiple processors 111. Among the multiple processes performed by the intermediary server 110, the processor that performs one process may be different from the processor that performs a different process. The processors 111 may also be called processor circuitry.
[0041] RAM112 is used as the main memory of the intermediary server 110. At least a portion of the OS (Operating System) program and application programs to be executed by the processor 111 are temporarily stored in RAM112. Additionally, various data necessary for processing by the processor 111 are stored in RAM112.
[0042] HDD113 is used as auxiliary storage for the intermediary server 110. HDD113 stores the OS program, application programs, and various data. Other types of non-volatile storage devices, such as SSDs (Solid State Drives), can also be used as auxiliary storage.
[0043] A display device 121 is connected to the GPU 114. The GPU 114 displays images on the display device 121 according to instructions from the processor 111. The display device 121 can be an LCD display or an OLED (Electro-Luminescence) display, among others.
[0044] An input device 122 is connected to the input interface 115. The input interface 115 transmits signals output from the input device 122 to the processor 111. The input device 122 can be a keyboard or a pointing device. Examples of pointing devices include a mouse, touch panel, tablet, touchpad, and trackball.
[0045] A portable recording medium 123 is attached to and detached from the reading device 116. The reading device 116 reads the data recorded on the portable recording medium 123 and transmits it to the processor 111. The portable recording medium 123 can be an optical disc, a semiconductor memory, or the like.
[0046] The communication interface 117 transmits and receives data with other devices via the network 124. The processing functions of the intermediary server 110 can be realized with the hardware configuration described above. The intermediary system 100 may include multiple computers with the configuration shown in Figure 3. The investor system 210, trading firm system 220, market maker system 230, securities company systems 240, 250, and stock exchange system 260 may also include one or more computers with the configuration shown in Figure 3.
[0047] Figure 4 shows an example of the configuration of processing functions provided by the intermediary system. The intermediary system 100 includes a storage unit 130, a quote presentation processing unit 141, and a transaction request processing unit 142.
[0048] The memory unit 130 is a memory area reserved in the storage device included in the intermediary system 100. The memory unit 130 stores the requester information database (DB) 131, the recipient information database (DB) 132, and the quote database (DB) 133.
[0049] The requester information database 131 contains information about investors 21 who use the intermediary service 10, as well as information about the trading services 22 and securities companies 24 used by investors 21. The recipient information database 132 contains information about market makers 23 who are the recipients of price quotes, as well as information about securities companies 25 used by market makers 23.
[0050] The quote database 133 stores quote information provided by each market maker 23. This quote information includes, for example, a quote ID to identify the quote, information indicating the symbol, a buy / sell type, information indicating the market maker providing the quote, the time the quote was provided, and the quoted price (quote). A status indicating whether the quote information has been updated is added to this quote information before it is registered in the quote database 133.
[0051] The Quote Proposal Processing Unit 141 and the Transaction Request Processing Unit 142 are implemented, for example, by the processor 111 of the broker server 110 included in the broker system 100 executing predetermined processes. The processes of the Quote Proposal Processing Unit 141 and the Transaction Request Processing Unit 142 may be executed by different broker servers 110 included in the broker system 100.
[0052] When the quote offering processing unit 141 receives an RFQ (Request for Quotation) from the investor 21 regarding a particular security, it forwards the RFQ to multiple market makers 23 and requests them to offer quotes. The quote offering processing unit 141 receives quote information from the multiple market makers 23 in response to the RFQ and stores it in the quote database 133. Based on the quote database 133, the quote offering processing unit 141 extracts the best quote from the submitted quotes and presents the extracted best quote to the investor 21.
[0053] When the transaction request processing unit 142 receives a request from investor 21 to execute a trade based on the offered best quote, it sends an order request to the securities company system 240 corresponding to investor 21 and the securities company system 250 corresponding to market maker 23. This causes the transaction request processing unit 142 to execute the trade.
[0054] Figure 5 is an example flowchart showing the processing steps of the quote presentation processing unit. [Step S11] An RFQ requesting a trade is sent from the investor system 210 via the trader system 220, and the quote processing unit 141 receives this RFQ. The RFQ includes information indicating the securities to be traded, the type of trade (buy or sell), etc. The quote processing unit 141 transmits the received RFQ to the market maker systems 230 of the multiple market makers 23.
[0055] [Step S12] The quote notification processing unit 141 monitors the quote information transmitted from the market maker system 230 of each market maker 23 in response to the transmitted RFQ. While the quote notification processing unit 141 has not received any quote information, the process in step S12 is repeated, and when the quote notification processing unit 141 receives any quote information, the process proceeds to step S13.
[0056] [Step S13] The quote presentation processing unit 141 registers the received quote information in the quote database 133 with a status added. The status is set to "Open," indicating that the quote information has not been updated.
[0057] [Step S14] The quote presentation processing unit 141 identifies the most recent quote information from the quote database 133 that was sent and registered by the same market maker 23 in response to the same RFQ. The quote presentation processing unit 141 updates the status attached to the identified quote information to "Overwritten" to indicate that it has been updated.
[0058] [Step S15] The quote presentation processing unit 141 collects quote information from the quote database 133 that corresponds to the same RFQ and has a status of "Open". The quote presentation processing unit 141 extracts quote information containing the best quote (best quote information) from the collected quote information and sends it to the RFQ sender. As a result, the best quote is presented to the investor 21. Note that if the buy / sell type of the RFQ is "buy", the best quote will be the lowest price among the collected quotes, and if the buy / sell type of the RFQ is "sell", the best quote will be the highest price among the collected quotes.
[0059] The process then proceeds to step S12. Note that the process in Figure 5 is terminated, for example, when a transaction execution request is received in response to the best quote offer in step S15.
[0060] Through the above process, quote information provided by market makers 23 is accumulated in the quote database 133. In the quote database 133, among the quote information provided by the same market maker 23 in response to the same RFQ, the status of the most recent quote information becomes "Open," and the status of previously provided quote information becomes "Overwritten." Note that quote information is sent in response to an RFQ, for example, from each of multiple market makers 23 at approximately one second.
[0061] Furthermore, in the above process, each time a new quote is offered by the market maker 23 in response to the transmitted RFQ, the best quote at that time is extracted and presented to the investor 21. The investor 21 can request to execute a trade at the presented best quote at any time. In response to the investor 21's request to execute a trade, a trade execution request is sent from the investor system 210 to the broker system 100 via the broker system 220. The trade execution request specifies the quote ID of the best quote information transmitted in step S15.
[0062] By the way, the above-mentioned intermediary service 10, which is performed by receiving RFQs and trade execution requests from investors 21 via the trading system 220, has a constraint that the price of the quote that is the subject of the trade execution request must match the price of the quote at the time the trade is actually executed. This constraint means that two prices must match: one is the price indicated by the quote presented in step S15 that is the subject of the received trade execution request; and the other is the price indicated by the latest quote presented by the market maker 23 that presented the above quote at the time the trade execution request is received.
[0063] However, there is a time lag between the extraction of the best quote in step S15 and its presentation to the investor 21, and the sending of a trade execution request in response to the investor 21's actions and its reception by the intermediary system 100. On the other hand, as described above, the market maker 23 continuously presents quotes corresponding to the same RFQ, so there is a good chance that the quotes presented by the same market maker 23 will be updated between the presentation of the best quote and the reception of the trade execution request.
[0064] In the following explanation, we will assume, as an example, that investor 21 requests a buy order for a certain stock. Figure 6 shows examples of quote fluctuations. In Figure 6, quotes are presented for the same stock by three market makers, MM1 to MM3. In each of the patterns P1 to P3 in Figure 6, the best quote at the same time is underlined.
[0065] In the example in Figure 6, assume that in any of patterns P1 to P3, at 10:10:10, market makers MM1, MM2, and MM3 offered quotes of 1003 yen, 1004 yen, and 1005 yen, respectively. In this case, the best quote is 1003 yen from MM1, so the intermediary system 100 presents quote information including the quote from MM1 (1003 yen) to investor 21.
[0066] Furthermore, in any of patterns P1 to P3, assume that at 10:10:11, the intermediary system 100 receives a transaction execution request requesting the execution of a transaction based on the said quote information. In pattern P1, assume that at the time the transaction execution request is received, the quote presented by MM1 remains at 1003 yen and has not been updated. In this case, a buy and sell transaction at 1003 yen between investor 21 and MM1 will be completed.
[0067] In Pattern P2, assume that at the time the trade execution request is received, the quote offered by MM1 has been updated to 1002 yen. In this case, the trade between investor 21 and MM1 will not be completed. In Pattern P3, assume that at the time the trade execution request is received, the quote offered by MM1 has been updated to 1004 yen. In this case as well, the trade between investor 21 and MM1 will not be completed. As in Patterns P2 and P3, the trade with MM1 will not be completed whether the quote from MM1 has gone down or up at the time the trade execution request is received.
[0068] Thus, there is a good chance that the quote offered by the same market maker 23 will be updated between the time the best quote (original quote) is offered and the time the trade execution request is received. For this reason, if the intermediary system 100 were to uniformly reject a trade if the quote offered at the time of receiving the trade execution request (the latest quote) does not match the original quote, it is possible that trades would frequently fail to be completed.
[0069] To address this issue, if the original quote and the latest quote do not match, the transaction request processing unit 142 extracts the best quote from the quotes from each market maker 23 for the same RFQ at that time. If the price indicated by the extracted best quote matches the price indicated by the original quote, the transaction request processing unit 142 executes a transaction using the quote information including the extracted best quote. This reduces the possibility of unsuccessful transactions and improves convenience for investors 21.
[0070] Figure 7 shows an example of processing by the transaction request processing unit. Figure 7 shows an example of processing by the transaction request processing unit 142 in the case of pattern P3 in Figure 6. When the transaction request processing unit 142 receives a transaction execution request at 10:10:11, it determines whether the quote offered by market maker MM1 at that time (1004 yen) matches the original quote (1003 yen). In this example, the two do not match, so the transaction based on the original quote is not completed.
[0071] In this case, the transaction request processing unit 142 then extracts the best quote from the quotes offered by market makers MM1 to MM3 at this point. In the example in Figure 7, the quote from market maker MM2 (1003 yen) is extracted as the best quote. The transaction request processing unit 142 then determines whether the extracted best quote (1003 yen) matches the original quote (1003 yen). In this example, the two match, so the transaction request processing unit 142 executes the process to trade between investor 21 and MM2 at a buy / sell price of 1003 yen. This makes it possible to complete a transaction between investor 21 and MM2 at the same price as the original quote.
[0072] Figure 8 is a flowchart showing an example of processing in the transaction request processing unit. [Step S21] The transaction request processing unit 142 receives a transaction execution request that requests the execution of a transaction using the presented quote. The transaction execution request specifies the quote ID of the quote information that includes the presented quote.
[0073] [Step S22] The transaction request processing unit 142 obtains a quote ID from the transaction execution request and identifies the quote information for the obtained quote ID from the quote database 133. The transaction request processing unit 142 obtains the status attached to the identified quote information.
[0074] [Step S23] The transaction request processing unit 142 determines whether the status is "Open". If the status is "Open", the process proceeds to step S24; if the status is "Overwritten", the process proceeds to step S25. In step S23, it is determined that the original quote and the latest quote from the same market maker 23 at the present time are the same amount, based on the status of the quote information including the original quote identified in step S22 being "Open".
[0075] [Step S24] The transaction request processing unit 142 continues processing based on the above quote information. That is, processing is performed between the investor 21 and the market maker 23 that provided this quote information in order to execute a transaction based on the quote information.
[0076] [Step S25] The transaction request processing unit 142 retrieves quote information from the quote database 133 that has a status of "Open" from each market maker 23 regarding the same RFQ.
[0077] [Step S26] The transaction request processing unit 142 extracts the best quote information, including the best quote, from the quote information obtained in step S25. [Step S27] The transaction request processing unit 142 determines whether the quotes in the extracted best quote information are the same amount as the original quotes. If these quotes are the same amount, the process proceeds to step S28; if these quotes are not the same amount, the process proceeds to step S29.
[0078] [Step S28] The transaction request processing unit 142 continues processing based on the extracted best quote information. That is, processing is performed between the investor 21 and the market maker 23 that provided this best quote information in order to execute a transaction based on the best quote information.
[0079] [Step S29] The transaction is unsuccessful. The transaction request processing unit 142 sends notification information to the trading company system 220 informing it that the transaction has been unsuccessful. This notification information is then sent to the investor system 210. As a result, the investor 21 is notified that the transaction has been unsuccessful.
[0080] Next, we will explain an example of processing by the transaction request processing unit 142 using status, using Figures 9 to 12. In Figures 9 to 12, as in Figures 6 and 7, an RFQ requesting a buy transaction for a certain stock is sent from the investor 21, and three market makers MM1 to MM3 offer quotes for that RFQ.
[0081] Furthermore, the quote databases 133a to 133d shown in Figures 9 to 12 are extracted from quote database 133 and display records of quote information for the same RFQ. Each record in quote databases 133a to 133d includes a quote ID that identifies the quote information, status, information indicating the market maker that provided the quote information, the time the quote information was provided, and the offered price (quote). Here, the offered price represents the selling price.
[0082] Figure 9 shows a first example of processing by the transaction request processing unit using status. In the example in Figure 9, at 10:10:10, the best quote price of 1003 yen for quote ID "15" from market maker MM1 is presented to investor 21. A trade execution request is then sent to execute a trade based on this quote information, and the intermediary system 100 receives this trade execution request at 10:10:11.
[0083] Then, the transaction request processing unit 142 of the intermediary system 100 checks the status of the quote information for quote ID "15" indicated by the transaction execution request. In the example in Figure 9, the status of the quote information is "Open," so the transaction request processing unit 142 continues processing to execute the transaction based on that quote information.
[0084] Figure 10 shows a second example of the transaction request processing unit using the status. In the example in Figure 10, similar to Figure 9, at 10:10:10, quote information with quote ID "15" from market maker MM1 is presented to investor 21. Then, at 10:10:11, the intermediary system 100 receives a trade execution request requesting the execution of a trade based on this quote information.
[0085] Then, the transaction request processing unit 142 of the intermediary system 100 checks the status of the quote information for quote ID "15" indicated by the transaction execution request. At this time, market maker MM1 has provided new quote information for quote ID "16", and the status of the quote information for quote ID "15" indicated by the transaction execution request has been updated to "Overwritten". Therefore, the transaction based on the quote information for quote ID "15" will not be completed.
[0086] In this case, the transaction request processing unit 142 extracts quote information with a status of "Open" from the quote database 133b, provided by each of the market makers MM1 to MM3, and then extracts the best quote information from the extracted quote information. In the example in Figure 10, quote information with quote IDs "14", "16", and "17" is extracted, and from these, the quote information with quote ID "17" is selected as the best quote information.
[0087] The transaction request processing unit 142 determines whether the quoted price (quote) of the extracted quote information with quote ID "17" is the same as the quoted price (quote) of the quote information with quote ID "15" indicated by the transaction execution request. In the example in Figure 10, these quoted prices are the same, so the transaction request processing unit 142 continues processing to execute a transaction based on the quote information with quote ID "17". As a result, a transaction is executed between investor 21 and market maker MM2, which is the source of the quote information.
[0088] Figure 11 shows a third example of the transaction request processing unit using status. In the example in Figure 11, similar to Figures 9 and 10, at 10:10:10, quote information with quote ID "15" from market maker MM1 is presented to investor 21. Then, at 10:10:11, the intermediary system 100 receives a trade execution request requesting the execution of a trade based on this quote information.
[0089] Then, the transaction request processing unit 142 of the intermediary system 100 checks the status of the quote information for quote ID "15" indicated by the transaction execution request. At this time, market maker MM1 has provided new quote information for quote ID "16", and the status of the quote information for quote ID "15" indicated by the transaction execution request has been updated to "Overwritten". Therefore, the transaction based on the quote information for quote ID "15" will not be completed.
[0090] In this case, the transaction request processing unit 142 extracts quote information with a status of "Open" from the quote database 133c, provided by each of the market makers MM1 to MM3, and then extracts the best quote information from the extracted quote information. In the example in Figure 11, quote information with quote IDs "14", "16", and "17" is extracted, and from these, the quote information with quote ID "17" is selected as the best quote information.
[0091] The transaction request processing unit 142 determines whether the quoted price (quote) of the extracted quote information for quote ID "17" is the same as the quoted price (quote) of the quote information for quote ID "15" indicated by the transaction execution request. In the example in Figure 11, these quoted prices are not the same, so the transaction is not completed.
[0092] Figure 12 shows a fourth example of the transaction request processing unit using the status. In the example shown in Figure 12, similar to Figures 9 to 11, at 10:10:10, quote information with quote ID "15" from market maker MM1 is presented to investor 21. Then, at 10:10:11, the intermediary system 100 receives a trade execution request requesting the execution of a trade based on this quote information.
[0093] Then, the transaction request processing unit 142 of the intermediary system 100 checks the status of the quote information for quote ID "15" indicated by the transaction execution request. At this time, market maker MM1 has provided new quote information for quote ID "16", and the status of the quote information for quote ID "15" indicated by the transaction execution request has been updated to "Overwritten". Therefore, the transaction based on the quote information for quote ID "15" will not be completed.
[0094] In this case, the transaction request processing unit 142 extracts quote information with a status of "Open" from the quote database 133d, provided by each of the market makers MM1 to MM3, and then extracts the best quote information from the extracted quote information. In the example in Figure 12, quote information with quote IDs "14", "16", and "17" is extracted, and from these, the quote information with quote ID "16" is selected as the best quote information.
[0095] The transaction request processing unit 142 determines whether the quoted price (quote) of the extracted quote information for quote ID "16" is the same as the quoted price (quote) of the quote information for quote ID "15" indicated by the transaction execution request. In the example in Figure 12, these quoted prices are not the same, so the transaction is not completed. In this example in Figure 12, even though the best quote has moved to a better price for investor 21, the transaction is not completed according to the aforementioned transaction constraints.
[0096] Next, we will explain an example of the overall process for executing a transaction using Figures 13 to 15. In Figures 13 to 15, as in Figures 9 to 12, an RFQ (Request for Quote) is sent from investor 21 requesting a buy transaction for a certain security, and three market makers MM1 to MM3 offer quotes for that RFQ.
[0097] Figures 13 and 14 are sequence diagrams showing a first example of the transaction execution process. [Step S31] The quote presentation processing unit 141 of the intermediary system 100 extracts the best quote information from the quote information presented by market makers MM1 to MM3 in response to the RFQ from the investor system 210 (illustration omitted). In the example in Figure 13, it is assumed that the quote information presented by market maker MM1 was extracted as the best quote information. The quote presentation processing unit 141 transmits the extracted best quote information to the trading company system 220. As a result, the best quote is presented to investor 21 via the investor system 210.
[0098] [Step S32] In response to the actions of investor 21, the investor system 210 requests the broker system 220 to execute a trade using the presented best quote. The broker system 220 sends a trade execution request requesting the execution of a trade based on the best quote information received in step S31, and the intermediary system 100 receives this trade execution request.
[0099] [Step S33] The transaction request processing unit 142 of the intermediary system 100 obtains a quote ID from the transaction execution request and identifies the quote information (original quote information) of the obtained quote ID from the quote database 133. The transaction request processing unit 142 obtains the status attached to the identified quote information and determines whether the status is "Open" or "Overwritten".
[0100] [Step S34] Assume that in step S33, the status was determined to be "Overwritten". In this case, the transaction with market maker MM1 using the original quote information will not be completed. The transaction request processing unit 142 then retrieves quote information from the quote database 133 from each market maker 23 for the same RFQ, where the status is "Open". The transaction request processing unit 142 extracts the best quote information, which includes the best quote, from the retrieved quote information.
[0101] [Step S35] Assume that in step S34, quote information from market maker MM3 was extracted as best quote information. The transaction request processing unit 142 determines whether the offered price (quote) included in the extracted best quote information matches the offered price (quote) included in the original quote information.
[0102] [Step S36] Assume that in step S35, it was determined that the offered prices match. In this case, the transaction request processing unit 142 uses the best quote information extracted in step S34 to start processing for a transaction with market maker MM3, the source of this best quote information. First, the transaction request processing unit 142 sends an approval request for a transaction (in this case, a sell transaction) based on the best quote information to the market maker system 230c corresponding to market maker MM3.
[0103] [Step S37] The market maker system 230c notifies the intermediary system 100 of the approval result indicating that the transaction is approved. [Step S38a] The transaction request processing unit 142 generates order information for placing a buy order at the quoted price included in the best quote information above, and transmits the order request information, including the generated order information, to the securities company system 240 corresponding to the investor 21.
[0104] [Step S38b] The transaction request processing unit 142 generates order information for placing a sell order at the quoted price included in the best quote information above, and transmits the order request information, including the generated order information, to the securities company system 250 corresponding to the market maker MM3.
[0105] Note that the processing order of steps S38a and S38b may be reversed. [Step S39a] The securities company system 240 receives the order request information sent in step S38a and, based on this order request information, sends order information to the securities exchange system 260 to place a buy order at the above-mentioned price, thereby placing a buy order.
[0106] [Step S39b] The securities company system 250 receives the order request information sent in step S38b and, based on this order request information, sends order information to the securities exchange system 260 to place a sell order at the above-mentioned price, thereby placing a sell order.
[0107] The stock exchange system 260 executes trades based on the order information transmitted in steps S39a and S39b. When a trade is completed (concluded), the securities company systems 240 and 250 are notified accordingly.
[0108] [Step S40a] The securities company system 240 notifies the intermediary system 100 of the transaction result indicating that a buy transaction has been completed. [Step S40b] The securities company system 250 notifies the intermediary system 100 of the transaction result indicating that a sell transaction has been completed.
[0109] [Step S41] The transaction request processing unit 142 of the intermediary system 100 notifies the investor system 210 via the trading agent system 220 of the transaction result indicating that the transaction has been completed.
[0110] Figure 15 is a sequence diagram showing a second example of the transaction execution process. [Step S51] Similar to step S31 in Figure 13, the best quote information is extracted from the quote information provided by market makers MM1 to MM3, and the extracted best quote information is sent to the trading system 220. As a result, the best quote is presented to investor 21 via the investor system 210. Here, similar to Figure 13, it is assumed that the quote information provided by market maker MM1 is extracted as the best quote information.
[0111] [Step S52] Similar to step S32 in Figure 13, a transaction execution request is sent to the intermediary system 100 requesting the execution of a transaction based on the transmitted best quote information, and the intermediary system 100 receives it.
[0112] [Step S53] Similar to step S33 in Figure 13, the transaction request processing unit 142 of the intermediary system 100 obtains a quote ID from the transaction execution request and identifies the quote information (original quote information) of the obtained quote ID from the quote database 133. The transaction request processing unit 142 obtains the status attached to the identified quote information and determines whether the status is "Open" or "Overwritten".
[0113] [Step S54] Assume that in step S53, the status was determined to be "Open". In this case, it is possible to execute a transaction with market maker MM1 using the original quote information. The transaction request processing unit 142 starts processing to execute a transaction with market maker MM1 using the best quote information described above. First, the transaction request processing unit 142 sends an approval request for a transaction (in this case, a sell transaction) based on the best quote information to the market maker system 230a corresponding to market maker MM1.
[0114] [Step S55] The market maker system 230a notifies the intermediary system 100 of the approval result indicating that the transaction is approved. Although not shown in the diagram, the same process as steps S38a to S40a in Figure 14 is executed between the intermediary system 100 and the securities company system 240. Simultaneously, the same process as steps S38b to S40b in Figure 14 is executed between the intermediary system 100 and the securities company system 250 corresponding to market maker MM1. This executes the transaction using the best quote information described above. When the intermediary system 100 is notified that the transaction has been completed, the transaction result indicating that the transaction has been completed is notified from the intermediary system 100 to the investor system 210 via the trading company system 220, similar to step S41 in Figure 14.
[0115] In the second embodiment described above, when the intermediary system 100 receives a transaction execution request corresponding to the quoted price, it determines whether the quote offered at that time by the market maker 23 that offered the quote matches the original quote. If they do not match, the intermediary system 100 extracts the best quote from among the quotes offered at that time by multiple market makers 23. If the extracted best quote and the original quote are the same amount, the intermediary system 100 executes a process to execute a transaction using the extracted best quote. This reduces the possibility of a transaction failing due to quote fluctuations and improves convenience for the investor 21.
[0116] In the description of the second embodiment above, the case in which investor 21 requests a buy transaction was mainly explained, but it is also possible to apply the processing of the second embodiment when investor 21 requests a sell transaction. In this case, for example, in step S15 in Figure 5 and step S26 in Figure 8, quote information including the highest bid quote is extracted as best quote information.
[0117] Furthermore, the processing functions of the devices (e.g., trading intermediary device 1, intermediary server 110) and systems (e.g., trading system 3, intermediary system 100, investor system 210, trading company system 220, market maker system 230, securities company systems 240, 250, stock exchange system 260) shown in each of the above embodiments can be implemented by a computer. In this case, a program describing the processing content of the functions that each device should have is provided, and by executing that program on a computer, the above processing functions are implemented on the computer. The program describing the processing content can be recorded on a computer-readable recording medium. Computer-readable recording media include magnetic storage devices, optical discs, and semiconductor memory. Magnetic storage devices include hard disk drives (HDDs) and magnetic tapes. Optical discs include CDs (Compact Discs), DVDs (Digital Versatile Discs), and Blu-ray Discs (BD, registered trademark).
[0118] When distributing a program, portable recording media such as DVDs and CDs containing the program are sold. Alternatively, the program can be stored in the storage device of a server computer and transferred from the server computer to other computers via a network.
[0119] A computer executing a program stores programs, for example, those recorded on a portable storage medium or transferred from a server computer, in its own memory. The computer then reads the program from its memory and executes the processing according to the program. Alternatively, the computer can directly read the program from the portable storage medium and execute the processing according to that program. Furthermore, the computer can sequentially execute the processing according to the programs received from a server computer connected via a network, each time a program is transferred. [Explanation of Symbols]
[0120] 1. Transaction intermediary device 2 Investor 3. Trading System 4a-4c Market Makers S1-S6 Steps
Claims
1. Computers From the bid and ask prices offered by multiple market makers, the best first bid price is presented to the investor's trading system. When the trading system receives a request to execute a trade using the first bid price, it determines whether the second bid price offered at the current time by the first market maker, which is the source of the first bid price, matches the first bid price. If the second quote price matches the first quote price, the process for trading using the first quote price is executed. If the second bid price does not match the first bid price, the best third bid price is extracted from among the bid prices offered by each of the multiple market makers at the current time. If the third quote price matches the first quote price, the process for trading using the third quote price is executed. If the third bid price does not match the first bid price, the trading system is notified that the transaction has not been completed. Transaction intermediary methods.
2. In determining whether the second bid price matches the first bid price, it is determined whether the first bid price was updated by the first market maker between the presentation of the first bid price and the receipt of the execution request, and if it is determined that the first bid price was updated, it is determined that the second bid price does not match the first bid price. The transaction mediation method according to claim 1.
3. If the second bid price matches the first bid price, the process for trading between the investor and the first market maker using the first bid price is executed. If the third bid price matches the first bid price, the system executes a process to trade using the third bid price between the investor and the second market maker, which is the source of the third bid price. The transaction mediation method according to claim 1.
4. If the second bid price matches the first bid price, the first market maker is requested to approve a transaction using the first bid price. If the third bid price matches the first bid price, the second market maker, which is the source of the third bid price, is requested to approve the transaction using the third bid price. The transaction mediation method according to claim 1.
5. On the computer, From the bid and ask prices offered by multiple market makers, the best first bid price is presented to the investor's trading system. When the trading system receives a request to execute a trade using the first bid price, it determines whether the second bid price offered at the current time by the first market maker, which is the source of the first bid price, matches the first bid price. If the second quote price matches the first quote price, the process for trading using the first quote price is executed. If the second bid price does not match the first bid price, the best third bid price is extracted from among the bid prices offered by each of the multiple market makers at the current time. If the third quote price matches the first quote price, the process for trading using the third quote price is executed. If the third bid price does not match the first bid price, the trading system is notified that the transaction has not been completed. A transaction intermediary program that executes the transaction.