Information processing method, information processing device, and program
Patent Information
- Application Number
- JP2025039729
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-03-12
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2045-03-12
AI Technical Summary
【0010】 本発明によれば、(1)金融商品の価格の急変に対応できるようにすること、(2)特定の価格帯に集中して約定済未決済資産が形成されることを抑制できるようにすること、(3)金融商品の価格の急変に応じて次々と取引が成立して処理を行うシステムに大きな負荷がかかることを抑制できるようにすること、のうち少なくとも1つ以上を実現できる。
Smart Images

Figure 0007943689000001 
Figure 0007943689000002 
Figure 0007943689000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing method, an information processing apparatus, and a program.
Background Art
[0002] As trading methods for financial products such as foreign exchange margin trading (Foreign Exchange) (hereinafter referred to as "FX"), for example, trap-type trading, if-done trading, and repeat-type if-done trading are known. Trap-type trading involves dividing new limit orders into small portions within a range, and arranging a plurality of them at equal intervals like a trap (for example, Patent Document 1). If-done trading is a method in which a settlement order for the new order is reserved at the same time as the new order is placed. Repeat-type if-done trading adds a repeat function to if-done trading, and repeats (repeats) the if-done order consisting of a new limit order and a settlement limit order many times triggered by the execution of the settlement limit order (for example, Patent Document 2). Furthermore, a combination of trap-type trading and a repeat-type if-done trading method is also known. This combined trading method divides if-done orders consisting of new limit orders and settlement limit orders into small portions within a range, arranges a plurality of them at equal intervals like a trap, and repeats the if-done trading many times (repeats) triggered by the execution of the settlement limit order (for example, Patent Document 3). According to this combined trading method, a customer can also continuously make profits as long as the price of the financial product repeatedly fluctuates up and down within a certain price range (forming a range-bound market).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Patent Document 2
Patent Document 3
[0004] In trap-type trading, or trading that combines trap-type trading with repeat-type if-then trading, sudden changes in the price of financial instruments can trigger a rapid succession of transactions, placing a heavy load on the processing system. Furthermore, in trap-type trading, or trading that combines trap-type trading with repeat-type if-then trading, sudden changes in the price of financial instruments can result in substantial unrealized losses. For example, let's assume a customer has placed 10 new limit orders (buy) of 0.1 Lot (1000 dollars) at 10-sen intervals from an exchange rate of 1 dollar = 160 yen, with leverage of 25 times. "Leverage" is a mechanism that allows trading of an amount larger than the funds deposited as margin (investment amount). Now, let's assume that a sudden price fluctuation occurs and the exchange rate moves from over 1 dollar = 160 yen to 155 yen, in which case all of the above new limit orders will be executed. Also, because the leverage is 25 times, the required margin itself is 63,820 yen, but the total execution price is 1,595,500 yen, and the market value is calculated to be 1,550,000 yen. As a result, the customer will have an unrealized loss of 45,500 yen (about 70% of the investment amount). Subsequently, if the exchange rate changes sharply again, reaching 1 dollar = 153 yen, the customer's unrealized loss will reach 65,500 yen, resulting in an unrealized loss exceeding their initial investment. In response to this, customers can take measures such as canceling orders if they are concerned about the price of a financial product moving outside its range, but they may not be able to react immediately if the price of a financial product changes suddenly, for example, if they are traveling. In this regard, FX brokers are taking measures such as issuing advance warnings to customers when there is concern about sudden changes in the price of financial products, such as during holiday seasons. However, trap-type trades, or trades combining trap-type trades with repeat-type if-then trades, can behave unexpectedly when discontinuous changes in the price of financial instruments occur (hereinafter sometimes referred to as "gap openings"). In such cases, an even greater load may be placed on the processing system. To address these problems with conventional technology, there has been a need for the development of a trading method that can (1) respond to sudden changes in the price of financial instruments, (2) suppress the formation of settled assets concentrated in specific price ranges, and (3) suppress the heavy load placed on the processing system when trades are executed one after another in response to sudden changes in the price of financial instruments.
[0005] This invention has been made in view of the above circumstances, and aims to achieve at least one of the following, preferably all of the above (1) to (3): (1) to be able to respond to sudden changes in the price of financial instruments, (2) to be able to suppress the formation of settled but unsettled assets concentrated in a specific price range, and (3) to be able to suppress the heavy load placed on the system that processes transactions as they are executed one after another in response to sudden changes in the price of financial instruments. [Means for solving the problem]
[0006] To achieve the above objective, one aspect of the present invention is: An information processing device having a financial instrument price acquisition means for acquiring the price of a financial instrument and a new order execution means for executing a new order when the price of the financial instrument meets predetermined conditions, is an information processing method executed based on instructions from a computer program, A step of limiting the number of new orders executed simultaneously to one, A step of limiting the number of new orders executed within a specified time to one, A step of limiting the number of new orders executed at the same price and / or the same price range to one; This is an information processing method that includes at least one of the following.
[0007] Furthermore, in order to achieve the above objective, one aspect of the present invention is: An information processing device having a means for acquiring the price of a financial instrument and a means for executing a new order when the price of the financial instrument meets predetermined conditions, is an information processing method in which, based on instructions from a computer program, the placement of new orders is repeated one after another even if settlement orders are not executed. A step of limiting the number of new orders executed simultaneously to one, A step of limiting the number of new orders executed within a specified time to one, A step of limiting the number of new orders executed at the same price and / or the same price range to one; This is an information processing method that includes at least one of the following.
[0008] Furthermore, in order to achieve the above objective, one aspect of the present invention is: An information processing device having a means for acquiring the price of a financial instrument and a means for executing a new order when the price of the financial instrument meets predetermined conditions, and an information processing method which, based on instructions from a computer program, repeatedly executes the order for a new order one after another, even if a settlement order has not been executed, thereby forming multiple settled open assets, A step of limiting the number of new orders executed simultaneously to one, A step of limiting the number of new orders executed within a specified time to one, A step of limiting the number of new orders executed at the same price and / or the same price range to one; This is an information processing method that includes at least one of the following.
[0009] An information processing device and program corresponding to the above-mentioned information processing method according to one aspect of the present invention are also provided as an information processing device and program corresponding to the information processing method according to one aspect of the present invention. [Effects of the Invention]
[0010] According to the present invention, at least one of the following can be achieved: (1) enabling response to sudden price changes of financial products, (2) suppressing the formation of concentrated executed unsettled assets in a specific price range, and (3) suppressing a heavy load being imposed on a system that performs processing by sequentially concluding transactions in response to sudden price changes of financial products. [Brief Description of the Drawings]
[0011] [Figure 1] It is a diagram illustrating an example of the overall configuration of an information processing system according to an embodiment of the present invention. [Figure 2] (A) and (B) are diagrams for explaining discretionary transactions and repeat-type orders. [Figure 3] It is a block diagram illustrating an example of the hardware configuration of a management server constituting the information processing system of Figure 1. [Figure 4] It is a functional block diagram illustrating an example of the functional configuration of the management server. [Figure 5] It is a flowchart illustrating an example of the processing flow of the management server. [Figure 6] It is a flowchart illustrating an example of the processing flow of the management server. [Mode for Carrying Out the Invention]
[0012] Hereinafter, the present embodiment will be described with reference to the drawings. <Information Processing System S> Figure 1 is a diagram illustrating an example of the overall configuration of the information processing system S according to an embodiment of the present invention. Figures 2(A) and (B) are diagrams for explaining discretionary transactions and repeat-type orders. As shown in Figure 1, the information processing system S is an information processing system configured to include a management server 1 and customer terminals 2-1 to 2-n (n is an integer value of 1 or more) connected via a network N. The network N is, for example, the Internet, a LAN (Local Area Network), a VPN (Virtual Private Network), or the like. Hereinafter, when there is no need to individually describe each of the customer terminals 2-1 to 2-n, these are collectively referred to as "customer terminal 2".
[0013] The information processing system S is a system that can provide a service for supporting transactions of financial products (hereinafter referred to as "the present service"). The information processing system S is managed by an administrator (not shown) that provides the present service, and is used by customers who are the recipients of the present service. In the present embodiment, among the transactions of financial products supported by the present service, FX will be described as an example. The present service includes a service that suppresses the number of new orders executed at the same time, a service that suppresses the number of new orders executed in a short period of time, and a service that allows only one or zero new order prices to be set for each of the side higher than the current price of the financial product and / or the side lower than the current price of the financial product.
[0014] In the following, "trading" means "selling" or "buying". In addition, "new transaction" means "new selling transaction" or "new buying transaction". Furthermore, "new order" refers to a "new selling order" or a "new buying order". "New orders" are broadly classified into "new (forward) limit orders", "new (reverse) limit orders", and "new market orders". Among these, a "new (forward) limit order" refers to placing a new buying order at a price equal to or lower than the price specified by the customer (hereinafter referred to as "limit price"), or placing a new selling order at a price equal to or higher than the limit price. In addition, a "new (reverse) limit order" refers to placing a new buying order at a price equal to or higher than the limit price, or placing a new selling order at a price equal to or lower than the limit price. When a new order is executed, the customer will hold "executed unsettled assets" corresponding to the executed amount.
[0015] Furthermore, in the following, "settlement order" refers to an order to realize profits or losses by executing an offsetting trade (hereinafter referred to as "closing") of a settled but unsettled asset that has been executed as a result of a new order. "Settled but unsettled asset" refers to the total number of assets of unsettled contracts after a transaction has been completed. "Settlement orders" are broadly classified into "settlement (forward) limit orders," "settlement (reverse) limit orders," and "settlement market orders." Of these, a "settlement (forward) limit order" refers to closing a buy position at or below the limit price, or closing a sell position at or above the limit price. A "settlement (reverse) limit order" refers to closing a buy position at or above the limit price, or closing a sell position at or below the limit price.
[0016] New orders and settlement orders are placed, for example, through "discretionary trading" at the customer's discretion, and "repeat orders" that automatically repeat buying and selling under specific conditions. Figures 2(A) and (B) show graphs with time on the horizontal axis and price on the vertical axis, respectively. Figure 2(A) shows discretionary trading, and Figure 2(B) shows repeat orders. In discretionary trading, as shown in Figure 2(A), a profit of 1 yen (101 yen - 100 yen = 1 yen) can be obtained by buying at 100 yen (100.00) and selling at 101 yen (101.00). However, this opportunity is only available once. In contrast, with repeat orders, for example, as shown in Figure 2(B), by placing an order in advance to "buy every 50 sen (0.50) and sell when each executed outstanding asset has increased in value by 50 sen (0.50)", multiple profit opportunities can be obtained with a single order.
[0017] [Management Server 1] Returning to Figure 1, the management server 1, which constitutes the information processing system S, is an information processing device that acts as a server managing the entire information processing system S. The management server 1 is capable of executing predetermined application programs that make the information processing system S available for use. The management server 1 is capable of transmitting various types of information to customer terminals 2 and external sources, and executing various processes. In addition, the management server 1 is capable of acquiring various types of information transmitted from customer terminals 2 and external sources, and executing various processes.
[0018] For example, management server 1 enables the acquisition of the prices of financial instruments, such as exchange rates, which fluctuate moment by moment. Hereinafter, this acquisition process step will be referred to as the "financial instrument price acquisition step." For example, the US dollar / yen exchange rate changes at an irregular frequency of several to more than ten times per second, depending on the time of day. Therefore, in the financial instrument price acquisition step, the price of a financial instrument may be acquired at predetermined time intervals (for example, every second), or the price of a financial instrument may be acquired at predetermined timings, such as whenever the price of a financial instrument is updated.
[0019] Furthermore, the management server 1 is enabled to obtain the prices of executed but unsettled assets. Hereinafter, the step in which the management server 1 obtains the prices of executed but unsettled assets will be referred to as the "executed but unsettled asset price acquisition step."
[0020] Furthermore, the management server 1 enables the execution of new orders. Hereinafter, the step in which the management server 1 places and executes a new order will be referred to as the "new order placement step." In the new order placement step, the management server 1 enables the placement and execution of new orders at limit prices (including stop-limit orders) or market prices. Comparing the case of placing and executing a new order at a limit price with the case of placing and executing a new order at a market price, placing and executing a new order at a market price is preferable because it allows the new order to be executed at a price that responds to sudden changes in the price of the financial instrument.
[0021] Furthermore, the management server 1 is enabled to immediately place new orders upon the generation of a buy / sell signal. Here, the buy / sell signal is the signal that triggers the placement of a new order. The new order may be placed immediately upon the generation of the buy / sell signal, or it may be placed after a judgment or processing step based on certain conditions has been performed. In other words, the management server 1 is enabled to place new orders after a predetermined time has elapsed after the generation of the buy / sell signal. For example, the management server 1 may generate a buy / sell signal for a new buy order at an exchange rate of 1 dollar = 150 yen, wait for 3 seconds, and then place the new order on the condition that the exchange rate is 1 dollar = 150 yen or less. By having the new order placed after a predetermined time has elapsed after the generation of the buy / sell signal, the new order can be executed at a price that responds to sudden changes in the price of the financial instrument. In this case, the management server 1 may reconfirm the buy / sell signal. This prevents the new order from being executed at an undesirable price. It also prevents the system from reacting to every sudden price change, such as when the price returns to its original level immediately after the generation of the buy / sell signal.
[0022] Furthermore, the management server 1 is enabled to place new orders only within the upper and / or lower price range predetermined by the FX broker. In addition, the management server 1 is enabled to place new orders only within the price range predetermined by the FX broker, within the maximum order quantity predetermined by the FX broker, and / or within the maximum order quantity specified by the customer. In this case, the management server 1 may obtain the price (exchange rate) of financial instruments using an Expert Advisor (EA), which is a computer program that runs on a predetermined automated trading platform.
[0023] An Expert Advisor (EA) is a computer program that automatically buys and sells on behalf of a trader. In an EA, an event-driven function called "OnTick" is executed when the exchange rate is updated. By programming the EA to retrieve the price of a financial instrument when this function is executed, the price of the financial instrument (exchange rate) can be obtained every time the exchange rate is updated. Examples of automated trading platforms on which EAs operate include software such as MT (MetaTrader) 5. For example, an EA that runs on MT (MetaTrader) 5 is created using a dedicated programming language called MQL (MetaQuotes Language) 5, which has a syntax similar to the C language.
[0024] Management Server 1 performs a process to restrict the repetition of new orders within a predetermined time in the new order placement step. (1) For example, as a process to restrict the repetition of new orders within a predetermined time, Management Server 1 waits for a predetermined time from the occurrence of a buy / sell signal before placing a new order (e.g., pauses processing). (2) Also, as a process to restrict the repetition of new orders within a predetermined time, Management Server 1 waits for the occurrence of a buy / sell signal until the next candlestick (e.g., a 1-minute candlestick) begins (e.g., pauses processing). A "candlestick" is a representation of price movements (open price, close price, high price, low price) during a predetermined trading period (e.g., 1 minute) using the shape of a single candle. The shape of the candlestick allows for a rough understanding of the day's price movement. Large intraday price movements result in long candlesticks, while small intraday price movements result in short candlesticks.
[0025] (3) Furthermore, as a process to restrict the repetition of new orders within a predetermined time, the management server 1 suppresses the placement of new orders for a predetermined time from the time the previous new order was placed, even if a buy / sell signal is generated. (4) Furthermore, as a process to restrict the repetition of new orders within a predetermined time, the management server 1 suppresses the placement of new orders from the time the previous new order was placed until the next candlestick begins, even if a buy / sell signal is generated. (5) Furthermore, as a process to restrict the repetition of new orders within a predetermined time, the management server 1 suppresses the placement of new orders for a predetermined time from the time the previous new order was executed, even if a buy / sell signal is generated. (6) Furthermore, as a process to restrict the repetition of new orders within a predetermined time, the management server 1 suppresses the placement of new orders from the time the previous new order was executed until the next candlestick begins, even if a buy / sell signal is generated.
[0026] (7) In addition, as a process to restrict the repetition of new orders within a predetermined time, the management server 1 pauses processing for a predetermined time after the execution of a new order. (8) In addition, as a process to restrict the repetition of new orders within a predetermined time, the management server 1 pauses processing from the execution of a new order until the start of the next candlestick. (9) In addition, as a process to restrict the repetition of new orders within a predetermined time, the management server 1 pauses processing from the execution of a new order until the start of the candlestick after the next one.
[0027] As described above, the management server 1 can perform processing to restrict the repeated placement of new orders within a predetermined time period, for example, limiting the number of new orders executed within a predetermined time period to one. As a result, it is possible to suppress the rapid and large fluctuations in the price of financial instruments that lead to a continuous stream of new orders being placed and executed, thereby preventing the information processing system S from being overloaded multiple times within a predetermined time period.
[0028] The processes described in (1) to (9) above, which restrict the repetition of new orders within a predetermined time, all share the common purpose of limiting the number of new orders executed within that time to one, but each has a different meaning. Specifically, (1) and (2) above are understood as means of delaying the placement of new orders in response to buy / sell signals, as they do not immediately place new orders even when a buy / sell signal is generated (regardless of the timing of preceding new orders). This means has a different effect compared to the means described in (3) to (9) above. Specifically, (1) and (2) above reduce the possibility of repeated new orders within a predetermined time, while increasing the possibility of appropriately dealing with sudden price changes. For example, suppose the exchange rate suddenly changes from 1 dollar = 150 yen to 145 yen due to a change in the policy interest rate. In this case, with (3) to (9) above, a buy order would be executed immediately (e.g., at 149 yen 50 sen), resulting in an unrealized loss equivalent to 4 yen 50 sen. In contrast, (1) and (2) above can suppress unrealized losses compared to cases (3) to (9) above, because buy orders are executed at the price after the sudden change (or at least at the price during the sudden change). Furthermore, (1), (2) and (7) to (9) above produce different effects compared to (3) to (6) above. That is, (1), (2) and (7) to (9) above can reduce the load on the information processing system because they pause processing (e.g., sleep mode, do not perform buy / sell signal determination).
[0029] Furthermore, in the new order placement step, the management server 1 performs a process to limit the number of new orders executed simultaneously to one. For example, as a process to limit the number of new orders executed simultaneously to one, the management server 1 places only one limit order. Alternatively, as a process to limit the number of new orders executed simultaneously to one, the management server 1 sets, cancels, or modifies the limit prices of new orders so that there is only one limit order for both the price higher and the price lower than the price of the financial instrument.
[0030] Furthermore, as a process to limit the number of new orders executed simultaneously to one, management server 1 limits the number of new orders placed in response to the generation of a buy / sell signal to one. Furthermore, as a process to limit the number of new orders executed simultaneously to one, management server 1 sets only one price for the new order that serves as the criterion for determining the buy / sell signal. Furthermore, as a process to limit the number of new orders executed simultaneously to one, management server 1 does not set a price for the new order that serves as the criterion for determining the buy / sell signal. Furthermore, as a process to limit the number of new orders executed simultaneously to one, management server 1 sets, cancels, or modifies the price of the new order that serves as the criterion for determining the buy / sell signal so that there is only one higher and one lower than the price of the financial instrument, or so that there is no such price.
[0031] Furthermore, in the new order placement step, the management server 1 performs a process to restrict new orders so that the number of unsettled settlement orders does not exceed a predetermined number. That is, in the new order placement step, the management server 1 performs a process to restrict the number of settled but unsettled assets so that it does not exceed a predetermined number. For example, as a process to restrict new orders so that the number of settled but unsettled assets does not exceed a predetermined number, the management server 1 sets up new orders only if the number of settled but unsettled assets does not exceed the predetermined number. Also, if the number of settled but unsettled assets exceeds the predetermined number, the management server 1 does not set up new orders.
[0032] As described above, the management server 1 limits the number of new orders executed simultaneously to one, thereby suppressing the sudden occurrence of large unrealized losses due to rapid changes in the price of financial instruments, and reducing the load on the information processing system S. As a result, it is possible to suppress the formation of one large executed open asset at the same price, or the formation of executed open assets concentrated in the same price range, so that executed open assets can be formed in a wider price range with the same funds compared to conventional trap-type trading or trading that combines trap-type trading with repeat-type if-then trading. It should be understood that "simultaneous" does not mean that the time is exactly the same, but rather that it refers to "simultaneity" in terms of information processing in financial instrument transactions. Buying and selling is carried out by a series of information processing steps: obtaining the price of a financial instrument, determining whether a buy or sell signal has been generated, and placing a new order if a buy or sell signal has been generated. In this invention, "simultaneous" refers to one instance of this series of information processing, and "simultaneous" is understood to mean "one instance." In other words, "limiting the number of new orders executed simultaneously to one" means "limiting the number of new orders executed in one acquisition of the price of a financial instrument to one," or "limiting the number of new orders executed in one occurrence of a buy or sell signal to one."
[0033] In other words, in trap-type trades, or trades that combine trap-type trades with repeat-type if-then trades, a large number of executed open assets are formed within a predetermined price range called a range. On the other hand, the management server 1 can set a predetermined range and restrict trades outside of it in order to avoid executions at abnormally high or low prices that can only be settled in rare cases. This prevents the concentration of executed open assets in the same price range, making it possible to trade in a wider price range.
[0034] The process by management server 1 that limits the number of new orders executed simultaneously to one is particularly effective for stop-loss orders. That is, even if a gap occurs immediately after the start of trading on Monday, only one new order and one closing order will be executed. Furthermore, if the new order is a market order, only one new order will be executed, and the closing order will not be executed immediately.
[0035] Furthermore, after the settlement order placement step, the management server 1 performs a stop-loss (stop-loss) process for executed open assets that are far from the current price of the financial instrument. "Stop-loss (stop-loss)" means closing an executed open asset that is holding a loss due to the exchange rate being different from the forecast, thereby realizing the loss. There are various ways to place a settlement order, such as using a market order, a stop-limit order, or automatic stop-loss when a certain maintenance margin is exceeded. This helps to prevent losses exceeding the principal. For example, the management server 1 can perform a stop-loss (stop-loss) process when the difference between the current price of the financial instrument and the price of the executed open asset exceeds a predetermined value in the direction of loss.
[0036] Management Server 1 enables the determination of the price of a new order. Hereinafter, this execution process step will be referred to as the "new order price determination step." In the new order price determination step, Management Server 1 enables the determination of the order placement price for the new order. Management Server 1 also enables the determination of the price that triggers the placement of the new order (hereinafter referred to as the "new order trigger price"). Furthermore, if the new order is to be placed at a limit price, Management Server 1 enables the determination of the limit price.
[0037] Furthermore, when placing a new order at market price, the management server 1 can determine the trigger price for the new order. Once the management server 1 has determined the trigger price for the new order, it compares it with the price of the financial instrument. For example, the management server 1 compares the determined trigger price for the new order with the exchange rate at that time, which represents the price of the financial instrument. In this case, the management server 1 places a new order when the trigger price for the new order matches the price of the financial instrument. The management server 1 also places a new order when the price of the financial instrument crosses the trigger price for the new order.
[0038] The price of a new order determined by the management server 1 may be determined by any method as long as it is possible to compare it with the price of a financial instrument, but for example, it may be determined by the following methods: The management server 1 may (1) determine the price of a new order to be a price predetermined by some calculation method. The management server 1 may (2) determine the price of a new order to be a price obtained by adding or subtracting a predetermined price range from the price of the previous new order. The management server 1 may (3) determine the price of a new order to be a price obtained by adding or subtracting a predetermined percentage (for example, 1%) from the price of the previous new order. The management server 1 may (4) determine the price of a new order to be a price obtained by adding or subtracting a predetermined price range from the execution price of the new order. The management server 1 may (5) determine the price of a new order to be a price obtained by adding or subtracting a predetermined percentage from the execution price of the new order.
[0039] Furthermore, the management server 1 may (6) determine the price of a new order by adding or subtracting a predetermined price range from the price of a financial instrument at a certain point in time. In this case, "a certain point in time" is, for example, the time after a predetermined pause following the execution of a new order. Furthermore, the management server 1 may (7) determine the price of a new order by adding or subtracting a predetermined percentage from the price of a financial instrument at a certain point in time. Furthermore, the management server 1 may (8) determine the price of a new order by adding or subtracting a predetermined price range from the execution price of a settlement order. Furthermore, the management server 1 may (9) determine the price of a new order by adding or subtracting a predetermined percentage from the execution price of a settlement order. In order to achieve the objectives of the present invention, it is preferable that the management server 1 determines the price of a new order using any of the above methods (4) to (9) when determining the price of a new order.
[0040] Furthermore, the management server 1 is capable of generating buy / sell signals that trigger the placement of new orders. Hereinafter, the step in which the management server 1 generates buy / sell signals will be referred to as the "buy / sell signal generation step." Note that the buy / sell signal generation step is not a mandatory configuration when the management server 1 places a new order at a limit price.
[0041] Management Server 1 enables the generation of buy / sell signals in the buy / sell signal generation step when predetermined trigger conditions are met. For example, Management Server 1 enables the generation of buy / sell signals using the comparison result between the current price of a financial instrument and the new order trigger price as the trigger condition. Furthermore, Management Server 1 enables the determination of the new order trigger price by checking the customer's account balance and determining whether the margin is sufficient. In addition, Management Server 1 enables the generation of buy / sell signals in the buy / sell signal generation step by checking the customer's account balance and determining whether the margin is sufficient before generating the buy / sell signal.
[0042] Furthermore, the management server 1 can generate buy and sell signals in the buy / sell signal generation step using multiple technical indicators, economic indicators, other financial instrument prices, etc., as trigger conditions. In this case, the management server 1 may generate buy / sell signals using, for example, the RSI (Relative Strength Index) of USD / JPY being 75% or higher, the 4-hour moving average being 140 yen or higher, the yield on 10-year US Treasury bonds being 3.6% or higher, and the EUR / USD exchange rate being 1.11630 or higher as trigger conditions. RSI is a technical indicator that shows whether an exchange rate is oversold or overbought.
[0043] Furthermore, the management server 1 may generate a buy / sell signal in the buy / sell signal generation step when any of the multiple trigger conditions are met. Alternatively, the management server 1 may generate a buy / sell signal in the buy / sell signal generation step when a predetermined number of the multiple trigger conditions are met. Furthermore, the management server 1 may generate a buy / sell signal in the buy / sell signal generation step when a predetermined number of the first or highest-priority trigger conditions are met. Additionally, the management server 1 may generate a buy / sell signal in the buy / sell signal generation step using the method described later in (Modification Example 1).
[0044] Furthermore, the management server 1 is capable of obtaining the execution price of new orders. Hereinafter, the step in which the management server 1 obtains the execution price of new orders will be referred to as the "new order execution price acquisition step." In this case, the management server 1 can obtain the execution price of new orders when the function (OnTick) is executed in the EA during the new order execution price acquisition step. The management server 1 can utilize the obtained execution price of new orders for various purposes, such as determining the price of the next new order, triggering the generation of buy / sell signals, determining the settlement price, and triggering the generation of settlement signals.
[0045] Furthermore, the management server 1 enables the determination of the settlement price. Hereinafter, the step in which the management server 1 determines the settlement price will be referred to as the "settlement price determination step." Note that the settlement price determination step is not a mandatory configuration. For example, the management server 1 can place a settlement order without going through the settlement price determination step by using the method described later (Modification 2).
[0046] Management Server 1 enables the determination of the order price for settlement orders during the settlement price determination step. Management Server 1 also enables the determination of the price that triggers the order to be placed (hereinafter referred to as the "settlement order trigger price") during the settlement price determination step. Furthermore, if the settlement order is to be placed at a limit price, Management Server 1 enables the determination of the limit price during the settlement price determination step.
[0047] Furthermore, when placing a settlement order at market price, the management server 1 enables the determination of a settlement order trigger price during the settlement price determination step. In this case, the management server 1 compares the settlement order trigger price with the price of the financial instrument. For example, the management server 1 compares the determined settlement order trigger price with the exchange rate at that time, which represents the price of the financial instrument. If the comparison results in the settlement order trigger price matching the price of the financial instrument, the management server 1 places a settlement order. The management server 1 also places a settlement order if the price of the financial instrument crosses the settlement order trigger price.
[0048] The price of a settlement order determined by the management server 1 may be determined by any method as long as it is possible to compare it with the price of a financial instrument, but for example, it may be determined by the following methods: That is, the management server 1 may (1) determine the price of the settlement order to be a price predetermined by some calculation method. Alternatively, the management server 1 may (2) determine the price of the settlement order to be a price obtained by changing (adding or subtracting) the price of the new order by a predetermined amount in the direction of profit. Alternatively, the management server 1 may (3) determine the price of the settlement order to be a price obtained by changing the price of the new order by a predetermined percentage (for example, 1%) in the direction of profit.
[0049] Furthermore, the management server 1 may (4) determine the settlement order price by changing the execution price of the new order by a predetermined price range in the direction of profit. Furthermore, the management server 1 may (5) determine the settlement order price by changing the execution price of the new order by a predetermined percentage in the direction of profit. Furthermore, the management server 1 may (6) determine the settlement order price by changing the average value of the new order price and the execution price of the new order by a predetermined price range in the direction of profit. Furthermore, the management server 1 may (7) determine the settlement order price by changing the average value of the new order price and the execution price of the new order by a predetermined percentage in the direction of profit.
[0050] Furthermore, in order to increase the likelihood of a settlement order being executed, it is preferable for the management server 1 to determine the settlement order price using method (4) or (5), which is expected to be close to the current price of the financial instrument, among the methods used above when determining the settlement order price. For example, with methods (1) to (3), there is a risk that the settlement order price will be set far from the current price of the financial instrument when the price of the financial instrument changes suddenly. However, if the suddenly changed price quickly returns to its original level, a large profit margin can be obtained by adopting methods (1) to (3) or method (6) or (7) among the methods used above when the management server 1 determines the settlement order price. For this reason, for example, the settlement order price may first be determined using method (1) to (3) among the methods above, with the expectation that the price of the suddenly changed financial instrument will return to its original level, and then the settlement order price may be changed using methods (6), (7), or (4), (5).
[0051] Furthermore, the management server 1 is capable of generating a settlement signal, which triggers the placement of a settlement order. Hereinafter, the step in which the management server 1 generates a settlement signal will be referred to as the "settlement signal generation step." Note that the settlement signal generation step is not a mandatory configuration when the management server 1 places a settlement order at a limit price.
[0052] The management server 1 enables the generation of a settlement signal in the settlement signal generation step when predetermined trigger conditions are met. For example, the management server 1 enables the generation of a settlement signal using the comparison result between the price of a financial instrument and a trigger price as the trigger condition. The management server 1 also enables the generation of a settlement signal in the settlement signal generation step using multiple technical indicators, economic indicators, the prices of other financial instruments, etc. as trigger conditions. Furthermore, the management server 1 may generate a settlement signal in the settlement signal generation step using the method described later in (Modification 2).
[0053] Furthermore, the management server 1 enables the placement of settlement orders. Hereinafter, the step in which the management server 1 places a settlement order will be referred to as the "settlement order placement step." In the settlement order placement step, the management server 1 enables the placement of settlement orders at limit prices or market prices. However, when placing a settlement order at market price, there is a risk that the desired profit margin may not be obtained.
[0054] Furthermore, the management server 1 is capable of obtaining the execution price of settlement orders. Hereinafter, the step in which the management server 1 obtains the execution price of settlement orders will be referred to as the "settlement order execution price acquisition step." In this case, the management server 1 can obtain the execution price of settlement orders when a function (OnTick) is executed in the EA during the settlement order execution price acquisition step. The management server 1 can use the obtained settlement order execution price, for example, to determine the price of a new order. Here, the settlement order execution price obtained by the management server 1 when a settlement order is executed is the price of the current financial instrument (for example, the exchange rate). The management server 1 is capable of setting two prices, determined by adding and subtracting a predetermined price range or predetermined percentage to the settlement order execution price, as the price of a new order. This can increase the probability of new orders being executed. The functional configuration and processing flow of the management server 1 will be described later.
[0055] (Variation 1) As described above, the management server 1 can generate a buy / sell signal in the buy / sell signal generation step if predetermined trigger conditions are met. In this case, the trigger conditions are, for example, the result of comparing a predetermined new order trigger price with the current price of a financial instrument. In contrast, as a modified example 1, the management server 1 can also generate a buy / sell signal in the buy / sell signal generation step even if there are zero predetermined new order trigger prices (none).
[0056] For example, the management server 1 can generate buy / sell signals based on a comparison between the price of a settled, unsettled asset and the current price of a financial instrument. In this case, the management server 1 may generate a buy / sell signal in the buy / sell signal generation step if the price of the settled, unsettled asset and the current price of the financial instrument are the same. A buy / sell signal generated in such a case can be used, for example, when increasing the trading volume (when buying more).
[0057] Furthermore, for example, in the buy / sell signal generation step, the management server 1 can generate a buy / sell signal if the current price of a financial instrument is in a price range with no outstanding trades. A "price range with no outstanding trades" means that the number of outstanding trades in that price range is small compared to the number of outstanding trades in other price ranges, preferably one or less, and preferably zero. A buy / sell signal generated in such a case is used when there are outstanding trades in a new price range.
[0058] Specifically, for example, regarding the USD / JPY exchange rate, if the closing price on Friday was around 158 yen per dollar, and the opening price on Monday, a weekday after the weekend (Saturday and Sunday) when no trading takes place, is discontinuously around 152 yen per dollar, then a gap in the price range becomes around 155 yen per dollar. In this case, trading begins at an opening price that is discontinuous from the closing price of the previous Friday (i.e., a gap occurs), and in the case of trap-type trading, multiple new orders may be executed all at once. Also, in trading that combines trap-type trading and repeat-type if-then trading, if stop-loss orders are placed, multiple settlement orders may also be executed all at once following multiple new orders. In response to this, management server 1 enables execution in the new gap price range of around 155 yen per dollar. The width of the gap price range may be dynamically changed based on, for example, volatility, a technical indicator that shows the instability of the exchange rate. This also applies to significant slippage caused by rapid price fluctuations, not only when opening a price over the weekend, but also when a system maintenance is completed or when unexpected news breaks.
[0059] Furthermore, for example, the management server 1 can generate a buy / sell signal in the buy / sell signal generation step if there are no executed open assets within a predetermined range from the current price of the financial instrument. Also, for example, the management server 1 can generate a buy / sell signal in the buy / sell signal generation step if there are no executed open assets formed by the EA within a predetermined range from the current price of the financial instrument. In this case, whether or not an executed open asset was formed by the EA can be distinguished by a predetermined identification number (for example, the magic number used in MT5).
[0060] Furthermore, for example, in the buy / sell signal generation step, the management server 1 can generate a buy / sell signal if the customer does not hold any settled assets within a predetermined range from the current price of the financial instrument. The width of the predetermined range may be dynamically changed based on technical indicators such as volatility.
[0061] In Modification 1, the management server 1 is enabled to successively form executed open assets by repeating the buy / sell signal generation step and the new order placement step. According to Modification 1, since it is not necessary to determine or manage the new order price, data management becomes simpler even when transactions that form multiple executed open assets are performed. In addition, since executed open assets are not concentrated in a specific price range, it becomes possible to have executed open assets evenly distributed across a wider price range. Furthermore, Modification 1 includes an executed open asset concentration suppression step that suppresses the concentration of executed open assets at the same price and / or the same price range by limiting the number of new orders that are executed at the same price and / or the same price range unintentionally to one.
[0062] Furthermore, in Modification 1, the management server 1 is capable of restricting trading by taking into account price ranges in which trading is prohibited (hereinafter referred to as "prohibited price ranges") predetermined by the FX broker. The prohibited price ranges are in place to prevent trading from taking place when the exchange rate is clearly in an excessively high price range and / or when the exchange rate is clearly in an excessively low price range.
[0063] (Modification 2) As described above, the management server 1 can generate a settlement signal in the settlement signal generation step if predetermined trigger conditions are met. In this case, the trigger conditions are, for example, the result of comparing a predetermined new order trigger price with the current price of a financial instrument. In contrast, as Modification 2, the management server 1 can also generate a settlement signal in the settlement signal generation step even if there are zero predetermined new order trigger prices (none). Note that Modification 2 does not involve trap orders or if-then orders, nor does it involve repeatedly placing trap orders or if-then orders. In Modification 2, new orders and settlement orders are placed sequentially according to the relationship between the exchange rate and the settled unsettled assets.
[0064] For example, the management server 1 can generate a settlement signal based on a comparison between the price of a settled but unsettled asset and the current price of a financial instrument. In this case, the management server 1 may generate a settlement signal in the buy / sell signal generation step if there is a settled but unsettled asset that is moved by a predetermined percentage (or predetermined profit margin) or more from the current price of the financial instrument in a direction that will yield a profit. A settlement signal generated in such a case can be used, for example, when taking profits.
[0065] Furthermore, for example, in the settlement signal generation step, the management server 1 may generate a settlement signal if there are any closed, unsettled assets that are located more than a predetermined percentage (or predetermined profit / loss range) away from the current price of the financial instrument in the direction where a profit or loss will occur. The settlement signal generated in such a case is used, for example, when cutting losses (stop-loss). Also, for example, in the settlement signal generation step, the management server 1 may generate a settlement signal for all closed, unsettled assets that are located more than a predetermined percentage (or predetermined profit range) away from the current price of the financial instrument in the direction where a profit can be obtained. In this case, the management server 1 can dynamically change the predetermined percentage or suspend trading based on technical indicators such as volatility or trading hours in which a sudden change in the exchange rate is expected.
[0066] This allows management server 1 to take advantage of sudden changes in exchange rates to aim for large profits by taking a larger predetermined percentage when volatility is high and refraining from settlement transactions at the start of the market. In addition, since there is no need to set or manage settlement prices, data management becomes simpler even when transactions that create multiple settled open assets are performed. Furthermore, even in the event of sudden changes in the price of financial instruments or when gaps occur, settled open assets can be settled efficiently, and large profit margins can be obtained.
[0067] Each of the modified examples 1 and 2 may include a step to reduce the simultaneous information processing load by limiting the number of new orders executed at the same time to one. It may also include a step to reduce the information processing load within a predetermined time by limiting the number of new orders executed within a predetermined time to one. Furthermore, to the extent that they do not contradict each other, they may be combined with other configurations mentioned in the description of the present invention. For example, as described in the description of the new order placement step, a new order may be placed after a predetermined time (e.g., 3 seconds) has elapsed, followed by a reconfirmation of the buy / sell signal.
[0068] [Customer Terminal 2] Customer Terminal 2 is an information processing device operated by the customer to use this service. Customer Terminal 2 consists of a smartphone, tablet, personal computer, etc. Customer Terminal 2 is capable of executing a predetermined application program that enables the use of Information Processing System S. Customer Terminal 2 is capable of performing various processes based on various information transmitted from Management Server 1 and external sources, as well as various information entered by the customer. In addition, Customer Terminal 2 is capable of transmitting various information to Management Server 1 and external sources.
[0069] For example, customer terminal 2 displays a user interface on its screen that enables the use of this service. Customer terminal 2 also transmits various information entered into the displayed user interface to management server 1. For example, customer terminal 2 transmits information entered to place a sell order, a buy order, or a combined buy and sell order to management server 1. For example, customer terminal 2 transmits entered limit prices, maximum order quantities, etc., to management server 1. For example, customer terminal 2 transmits various entered setting information to management server 1. The processing flow of customer terminal 2 will be described later.
[0070] The processing performed by the management server 1 and customer terminal 2, which constitute the information processing system S, is merely an example. For example, the management server 1 may be a single personal computer, or it may be composed of multiple servers. Furthermore, a part of it may be built on the cloud. In other words, the information processing system S only needs to have the functionality to implement the processing described above as a whole system, and some or all of the functionality to implement the processing described above may be shared or collaborated within the information processing system S.
[0071] For example, some or all of the functions of the management server 1 may be assigned to other information processing devices within the information processing system S. Alternatively, some or all of the functions of other information processing devices within the information processing system S may be assigned to the management server 1. Furthermore, some or all of the functions of the management server 1 may be transferred to other servers, etc., not shown in the diagram. This facilitates processing within the entire information processing system S and allows for complementary processing.
[0072] <Hardware Configuration> [Hardware configuration of management server 1] Figure 3 is a block diagram showing an example of the hardware configuration of the management server 1 that constitutes the information processing system S shown in Figure 1. The management server 1 comprises a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a bus 14, an input / output interface 15, an output unit 16, an input unit 17, a storage unit 18, a communication unit 19, and a drive 20.
[0073] The CPU 11 executes various processes according to the program stored in the ROM 12 or the program loaded from the storage unit 18 into the RAM 13. The RAM 13 also stores data necessary for the CPU 11 to execute various processes. The CPU 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output interface 15 is also connected to this bus 14.
[0074] The input / output interface 15 is connected to an output unit 16, an input unit 17, a storage unit 18, a communication unit 19, and a drive 20. The output unit 16 consists of a display, speaker, etc., and outputs various information as images, sounds, etc. The input unit 17 consists of a keyboard, mouse, touch panel, etc., and accepts input of various information. The storage unit 18 consists of a hard disk, DRAM (Dynamic Random Access Memory), etc., and stores various data. The communication unit 19 communicates with other devices via the aforementioned network N, which is configured as the Internet, etc.
[0075] The drive 20 is appropriately equipped with removable media 21, such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory. Programs read from the removable media 21 by the drive 20 are installed in the storage unit 18 as needed. The removable media 21 can also store various types of data stored in the storage unit 18, just like the storage unit 18.
[0076] [Hardware configuration of customer terminal 2] Customer terminal 2 has a hardware configuration similar to that of management server 1 shown in Figure 3. That is, customer terminal 2 has a CPU, ROM, RAM, bus, input / output interface, output unit, input unit, storage unit, communication unit, drive, and removable media, corresponding to the CPU 11, ROM 12, RAM 13, bus 14, input / output interface 15, output unit 16, input unit 17, storage unit 18, communication unit 19, drive 20, and removable media 21 in Figure 3.
[0077] <Functional Configuration of Management Server 1> Figure 4 is a functional block diagram showing an example of the functional configuration of the management server 1. In the CPU 11 of the management server 1, the acquisition unit 31, data management unit 32, price determination unit 33, order placement unit 34, limiting unit 35, load reduction unit 36, stop-loss unit 37, signal generation unit 38, and transmission control unit 39 all function during operation.
[0078] Furthermore, the storage unit 18 of the management server 1 is equipped with various databases for storing various types of information. For example, there is a first exchange rate DB 41 for storing interbank market exchange rates, a second exchange rate DB 42 for storing the results of exchange rate calculations, a price DB 43 for storing the prices of financial instruments, the execution prices of new orders, the execution prices of settlement orders, and the prices of executed but unsettled assets, and a customer-specified DB 44 for storing various setting information specified by the customer.
[0079] The acquisition unit 31 acquires various types of information. For example, the acquisition unit 31 functions as a means of acquiring financial instrument prices, thereby acquiring the prices of financial instruments such as exchange rates, which fluctuate moment by moment. In other words, the acquisition unit 31 performs the processing of the financial instrument price acquisition step described above. When the acquisition unit 31 acquires exchange rates as the price of financial instruments, it may, for example, use an API (Application Programming Interface) provided by a securities company or a financial data provider, or it may automatically acquire the data from the website of a securities company or the like through scraping.
[0080] Furthermore, for example, the acquisition unit 31 acquires the execution price of a new order. That is, the acquisition unit 31 performs the process of acquiring the execution price of a new order as described above. Furthermore, for example, the acquisition unit 31 acquires the execution price of a settlement order. That is, the acquisition unit 31 performs the process of acquiring the execution price of a settlement order as described above. Furthermore, for example, the acquisition unit 31 acquires the price of an executed but unsettled asset. That is, the acquisition unit 31 performs the process of acquiring the price of an executed but unsettled asset as described above.
[0081] Furthermore, for example, the acquisition unit 31 acquires various types of information transmitted from the customer terminal 2 to the management server 1. Specifically, for example, the acquisition unit 31 acquires various types of input information transmitted from the customer terminal 2. Such input information includes, for example, limit prices, maximum order quantities, and various other setting information.
[0082] The data management unit 32 stores and manages various types of data in various databases provided in the storage unit 18. For example, the data management unit 32 stores and manages the interbank market exchange rates acquired by the acquisition unit 31 in the first exchange rate DB 41. The data management unit 32 also stores and manages the calculation results of the exchange rates acquired by the acquisition unit 31 in the second exchange rate DB 42. Furthermore, the data management unit 32 stores and manages the prices of financial instruments, the execution prices of new orders, the execution prices of settlement orders, and the prices of executed but unsettled assets acquired by the acquisition unit 31 in the price DB 43. In addition, for example, the data management unit 32 stores and manages various setting information specified by the customer from the input information acquired by the acquisition unit 31 in the customer-specified DB 44.
[0083] The price determination unit 33 determines various prices. For example, the price determination unit 33 determines the price of a new order by functioning as a new order price determination means. That is, the price determination unit 33 performs the processing of the new order price determination step described above. Also, for example, the price determination unit 33 determines the new order trigger price. Also, for example, the price determination unit 33 determines the settlement price. That is, the price determination unit 33 performs the processing of the settlement price determination step described above.
[0084] The order placement unit 34 functions as a means of executing new orders, placing and executing new orders at limit or market prices. In other words, the order placement unit 34 performs the processing of the new order placement step described above. The order placement unit 34 also places settlement orders at limit or market prices. In other words, the order placement unit 34 performs the processing of the settlement order placement step described above.
[0085] The restriction unit 35 restricts trading. Specifically, the restriction unit 35 performs processing in the new order placement step described above to restrict the repetition of new orders within a predetermined time. The restriction unit 35 also sets a predetermined range and performs processing to restrict trades outside of that range. Furthermore, the restriction unit 35 performs processing to limit the number of new orders that are unintentionally executed at the same price and / or the same price range to one. In other words, the restriction unit 35 performs the processing of the step described above to suppress the concentration of executed unsettled assets.
[0086] The load reduction unit 36 performs various processes to reduce the load on the information processing system S by functioning as a means to reduce the simultaneous information processing load, a means to reduce the information processing load within a predetermined time, and a means to suppress the concentration of settled but unsettled assets. Specifically, the load reduction unit 36 performs the processing of the simultaneous information processing load reduction step and the processing of the information processing load reduction step within a predetermined time as described above.
[0087] The stop-loss unit 37 performs the stop-loss (loss cut) process. Specifically, the stop-loss unit 37 performs the process of cutting losses on closed, unsettled assets that are far from the price of the financial instrument, as part of the new order placement step described above.
[0088] The signal generation unit 38 generates buy / sell signals. The signal generation unit 38 also generates settlement signals. In other words, the signal generation unit 38 performs the processing of the buy / sell signal generation step and the settlement signal generation step described above.
[0089] The transmission control unit 39 controls the communication unit 19 (see Figure 3) to transmit various types of information to the customer terminal 2 and to external sources. For example, the transmission control unit 39 controls the transmission of information to be displayed on the user interface of the customer terminal 2 to the customer terminal 2.
[0090] <Processing flow of Management Server 1> Figures 5 and 6 are flowcharts showing an example of the processing flow of the management server 1. The following processing flow is just one example and may include initial setup, exception handling, etc. Furthermore, if the EA is used to obtain the price (exchange rate) of financial instruments, it will be necessary to adapt the process to trigger changes in the exchange rate.
[0091] In the flowchart shown in Figure 5, the management server 1 performs the new order price determination step (step S1). The management server 1 determines only one price as the first new order trigger price, which is the current price of the financial instrument plus a predetermined price range. The management server 1 also determines only one price as the second new order trigger price, which is the current price of the financial instrument minus a predetermined price range. As a result, the new order price reset flag is set to "FALSE".
[0092] If the new order price reset flag is set to "TRUE" (YES in step S2), the management server 1 returns to step S1. Conversely, if the new order price reset flag is set to "FALSE" (NO in step S2), the management server 1 executes the process for obtaining the financial instrument price (step S3) and proceeds to step S4.
[0093] The management server 1 executes the trading signal determination step (step S4). Specifically, it determines whether the current price of the financial instrument has crossed the first new order trigger price or the second new order trigger price. The determination of whether a cross has occurred is made based on whether the current price of the financial instrument is higher than the first new order trigger price, or whether the current price of the financial instrument is lower than the second new order trigger price. The determination of whether a cross has occurred is performed twice, including confirmation, after waiting for a predetermined time from the generation of a trading signal to place a new order, as a process to restrict the repetition of new orders within a predetermined time. If the management server 1 confirms that a cross has occurred twice in a row (YES in step S5), it proceeds to step S6. On the other hand, if a cross has not occurred twice in a row (NO in step S5), the management server 1 returns to the decision process in step S2.
[0094] Management server 1 executes the new order execution step (step S6). That is, management server 1 places a new order at market price, executes it, and proceeds to step S7. Management server 1 executes the process for obtaining the new order execution price (step S7), and then proceeds to the process of step S8.
[0095] Management server 1 executes the settlement price determination step (step S8). That is, management server 1 determines the settlement price as the price obtained by changing the execution price of the new order by a predetermined price range in the direction that will generate profit, and proceeds to step S9. Management Server 1 executes the settlement order placement step (step S9), that is, Management Server 1 places a limit settlement order with the settlement price as the limit price, and returns to the process of step S1. Here, Management Server 1 executes an event-driven step triggered by the execution of the limit settlement order. In this case, the new order price reset flag is set to "TRUE" when the limit settlement order is executed. Note that MT4 EAs do not have an event-driven function that operates when a limit settlement order is executed. Therefore, Management Server 1 will, for example, check for the disappearance of settled open assets each time an OnTick event occurs, and if the disappearance of settled open assets is confirmed, it will perform processing such as setting the new order price reset flag to "TRUE".
[0096] In the example shown in Figure 5, the new order execution step is a market order. Therefore, when the price of a financial instrument changes sharply, the new order will be executed at a price corresponding to the sharp change. In addition, in the new order price determination step, one new order price is set as the new order trigger price, one at the higher end of the current price of the financial instrument and one at the lower end of the current price. As a result, even if the price of the financial instrument changes sharply in the upward or downward direction, only one new order will be executed.
[0097] In the flowchart shown in Figure 6, the management server 1 initiates the processing of event-driven steps triggered by an update in the price of a financial instrument (e.g., OnTick). Specifically, the management server 1 obtains the prices of all executed open assets formed by the EA (step S11) and proceeds to the processing in step S12.
[0098] Management server 1 executes the process for obtaining the price of a financial instrument (step S12). That is, management server 1 obtains the price of the current financial instrument and proceeds to step S13. The management server 1 compares the current price of the financial instrument with the price of the settled open assets (step S13). Based on the comparison, the management server 1 places settlement orders for settled open assets that are a predetermined percentage or more away from the current price of the financial instrument in a direction that will yield a profit (for example, for settled open assets that will yield a profit of 2% or more) (step S14), and proceeds to step S15.
[0099] Management Server 1 compares the current price of the financial instrument with the price of the outstanding assets that have been traded (step S15). Based on the results of the comparison, if there are no outstanding assets that have been traded within a predetermined range from the current price of the financial instrument (for example, if there are no outstanding assets that have been traded within 1%) (YES in step S16), Management Server 1 places a new market order (step S17). On the other hand, if there are outstanding assets that have been traded within a predetermined range from the current price of the financial instrument (NO in step S16), Management Server 1 terminates the process without placing a new order (END).
[0100] In the example shown in Figure 6, the new order execution step is a market order. Therefore, when the price of a financial instrument changes sharply, the new order will be executed at a price corresponding to the sharp change. In the example shown in Figure 6, since only one new order is placed, only one new order is executed. In the example shown in Figure 6, the new order is placed in the price range where there is no outstanding executed assets, so executed executed assets do not concentrate in a particular price range.
[0101] <Advantageous effects of this embodiment> According to this embodiment, at least one of the following can be achieved: (1) to be able to respond to sudden changes in the price of financial instruments; (2) to be able to suppress the formation of settled but unsettled assets concentrated in a specific price range; and (3) to be able to suppress the heavy load placed on the system that processes transactions as they are executed one after another in response to sudden changes in the price of financial instruments. Preferably, all of (1) to (3) above can be achieved.
[0102] <Other> Although one embodiment of the present invention has been described above, the present invention is not limited to the above-described embodiment, and any modifications, improvements, etc., that can achieve the objectives of the present invention are included in the present invention. For example, in the above-described embodiment, the present invention is applied to transactions based on exchange rates, but it is not limited thereto, and the present invention can also be applied to transactions based on stock indices, crypto assets, commodity futures, and various CFD transactions. In this case, "exchange rate" above should be read as "stock index," etc.
[0103] Furthermore, the series of processes described above can be executed by hardware or by software. In other words, the functional configuration described above is merely an example and is not particularly limited. That is, it is sufficient for the information processing system to have the functionality to execute the series of processes described above as a whole, and the functional blocks used to realize this functionality are not particularly limited to the examples given above.
[0104] Furthermore, the location of a functional block is not particularly limited and can be arbitrary. For example, a functional block from management server 1 may be transferred to another device, or a functional block from another device may be transferred to a server. Also, a single functional block may consist of hardware alone, software alone, or a combination of both.
[0105] When a series of processes are executed by software, the programs that make up that software are installed on a computer or other device from a network or storage medium. The computer may be a computer built into dedicated hardware. Alternatively, the computer may be a computer capable of performing various functions by installing various programs, such as a server, a general-purpose smartphone, or a personal computer.
[0106] Furthermore, the aforementioned trading methods are not limited to those based on instructions from a computer program, but can also be applied when trading is conducted based on price range, upper limit, and lower limit instructions entered by the customer.
[0107] Such recording media containing programs may consist not only of removable media (not shown) distributed separately from the main device to provide programs to users, but also of recording media provided to users in a state where they are pre-installed in the main device. Since programs can be distributed via a network, the recording media may be installed on or accessible from a computer connected to or capable of connecting to a network.
[0108] In this specification, the step of describing a program to be recorded on a recording medium includes not only processes that are performed chronologically in that order, but also processes that are not necessarily performed chronologically, but are executed in parallel or individually. Furthermore, in this specification, the term "system" refers to an overall system composed of multiple devices, means, etc.
[0109] In other words, the information processing method to which the present invention is applied can take various forms having the following configurations. (1) That is, the information processing method to which the present invention applies is an information processing device (for example, the management server 1 in Figure 1) having financial instrument price acquisition means for acquiring the price of a financial instrument and new order execution means for executing a new order when the price of the financial instrument satisfies predetermined conditions, which executes the information processing method based on the instructions of a computer program, and includes at least one of the following steps: limiting the number of new orders executed simultaneously to one; limiting the number of new orders executed within a predetermined time to one; and limiting the number of new orders executed at the same price and / or within the same price range to one. This makes it possible to achieve at least one of the following: (1) the ability to respond to sudden changes in the price of financial instruments, (2) the ability to suppress the formation of settled but unsettled assets concentrated in specific price ranges, and (3) the ability to suppress the heavy load placed on the system that processes transactions as they are executed one after another in response to sudden changes in the price of financial instruments.
[0110] (2) Furthermore, an information processing method to which the present invention applies is an information processing method in which an information processing device having a financial instrument price acquisition means for acquiring the price of a financial instrument and a new order execution means for executing a new order when the price of the financial instrument satisfies predetermined conditions, repeatedly places new orders one after another based on instructions from a computer program, even if settlement orders are not executed, and includes at least one of the following steps: limiting the number of new orders executed at the same time to one; limiting the number of new orders executed within a predetermined time to one; and limiting the number of new orders executed at the same price and / or within the same price range to one. This makes it possible to achieve at least one of the following: (1) the ability to respond to sudden changes in the price of financial instruments, (2) the ability to suppress the formation of settled but unsettled assets concentrated in specific price ranges, and (3) the ability to suppress the heavy load placed on the system that processes transactions as they are executed one after another in response to sudden changes in the price of financial instruments.
[0111] (3) Furthermore, an information processing method to which the present invention applies is an information processing method in which an information processing device having a financial instrument price acquisition means for acquiring the price of a financial instrument and a new order execution means for executing a new order when the price of the financial instrument satisfies predetermined conditions, repeatedly executes orders for new orders one after another based on instructions from a computer program, even if settlement orders are not executed, thereby forming a plurality of executed unsettled assets, and the method includes at least one of the following steps: limiting the number of new orders executed simultaneously to one; limiting the number of new orders executed within a predetermined time to one; and limiting the number of new orders executed at the same price and / or in the same price range to one. This makes it possible to achieve at least one of the following: (1) the ability to respond to sudden changes in the price of financial instruments, (2) the ability to suppress the formation of settled but unsettled assets concentrated in specific price ranges, and (3) the ability to suppress the heavy load placed on the system that processes transactions as they are executed one after another in response to sudden changes in the price of financial instruments.
[0112] (4) Furthermore, an information processing method to which the present invention applies is an information processing device having financial instrument price acquisition means for acquiring the price of a financial instrument and new order execution means for executing a new order when the price of the financial instrument satisfies predetermined conditions, which, based on instructions from a computer program, repeatedly executes the order of a new order one after another even if a settlement order has not been executed, thereby forming a plurality of executed unsettled assets, and continues to repeat the same new order and settlement order under the same conditions even after a settlement order has been executed, and the information processing method includes at least one of the steps of limiting the number of new orders executed simultaneously to one and limiting the number of new orders executed within a predetermined time to one. This makes it possible to achieve at least one of the following: (1) the ability to respond to sudden changes in the price of financial instruments, (2) the ability to suppress the formation of settled but unsettled assets concentrated in specific price ranges, and (3) the ability to suppress the heavy load placed on the system that processes transactions as they are executed one after another in response to sudden changes in the price of financial instruments.
[0113] (5) The procedure further includes a step of determining whether or not there is a buy or sell signal that triggers the placement of the new order, and the procedure may satisfy either of the following requirements: that the number of prices of the new order that serve as the criteria for determining whether or not there is a buy or sell signal is one or less each on the higher side and one or less side of the price of the financial instrument, or that the total number is one or less.
[0114] (6) The step further includes obtaining the price of the executed open asset, wherein the predetermined condition is that the price of the financial instrument is in the price range of the executed open asset.
[0115] (7) The procedure may further include the step of not executing the new order if the price of the financial instrument meets the predetermined conditions, but the price of the financial instrument falls outside a predetermined price range.
[0116] (8) Furthermore, an information processing device to which the present invention applies is an information processing device having financial instrument price acquisition means (for example, acquisition unit 31 in Figure 4) for acquiring the price of a financial instrument, and new order execution means (for example, order placement unit 34 in Figure 4) for executing a new order when the price of the financial instrument satisfies predetermined conditions, and including at least one of the following: simultaneous information processing load reduction means for limiting the number of new orders executed simultaneously to one, predetermined time information processing load reduction means for limiting the number of new orders executed within a predetermined time to one, and executed unsettled asset concentration suppression means (for example, load reduction unit 36 in Figure 4) for limiting the number of new orders executed at the same price and / or within the same price range to one. This makes it possible to achieve at least one of the following: (1) the ability to respond to sudden changes in the price of financial instruments, (2) the ability to suppress the formation of settled but unsettled assets concentrated in specific price ranges, and (3) the ability to suppress the heavy load placed on the system that processes transactions as they are executed one after another in response to sudden changes in the price of financial instruments.
[0117] (9) Furthermore, the present invention relates to a program which causes an information processing device having a financial instrument price acquisition means for acquiring the price of a financial instrument and a new order execution means for executing a new order when the price of the financial instrument satisfies predetermined conditions to execute a control process which includes at least one of the following steps: limiting the number of new orders executed simultaneously to one; limiting the number of new orders executed within a predetermined time to one; and limiting the number of new orders executed at the same price and / or within the same price range to one. This makes it possible to achieve at least one of the following: (1) the ability to respond to sudden changes in the price of financial instruments, (2) the ability to suppress the formation of settled but unsettled assets concentrated in specific price ranges, and (3) the ability to suppress the heavy load placed on the system that processes transactions as they are executed one after another in response to sudden changes in the price of financial instruments.
[0118] The invention may also be as described below. [Note A] An information processing device having a financial instrument price acquisition means for acquiring the price of a financial instrument and a new order execution means for executing a new order when the price of the financial instrument meets predetermined conditions, is an information processing method executed based on instructions from a computer program, This further includes the step of obtaining the price of the executed but unsettled asset, The aforementioned predetermined condition is that the price of the financial instrument is within the price range of the outstanding assets that have been contracted. Information processing methods.
[0119] [Note B] An information processing device having a financial instrument price acquisition means for acquiring the price of a financial instrument, and a new order execution means for executing only one new order when the price of the financial instrument meets predetermined conditions, is an information processing method executed based on instructions from a computer program, This further includes the step of obtaining the price of the executed but unsettled asset, The aforementioned predetermined condition is that the price of the financial instrument is within the price range of the outstanding assets that have been contracted. Information processing methods. [Explanation of Symbols]
[0120] 1: Management server, 2: Customer terminal, 11: CPU, 16: Output unit, 17: Input unit, 18: Storage unit, 19: Communication unit, 31: Acquisition unit, 32: Data management unit, 33: Price determination unit, 34: Ordering unit, 35: Limiting unit, 36: Load reduction unit, 37: Stop-loss unit, 38: Signal generation unit, 39: Transmission control unit, 41: First exchange rate DB, 42: Second exchange rate DB, 43: Price DB, 44: Customer specification DB, S: Information processing system, N: Network
Claims
1. An information processing device having a financial instrument price acquisition means for acquiring the price of a financial instrument and a new order execution means for executing a new order when the price of the financial instrument meets predetermined conditions, is an information processing method that, based on instructions from a computer program, repeatedly places new orders even if settlement orders are not executed, and when a discontinuous change occurs in the price of the financial instrument, A step of limiting the number of new orders executed simultaneously to one by limiting the number of new orders placed in response to the generation of a buy / sell signal to one; A step of limiting the number of new orders executed within a predetermined time to one by restricting the repetition of new orders within a predetermined time, A step of limiting the number of new orders executed at the same price and / or the same price range to one by generating a buy / sell signal when the price of the financial instrument is in the price range of the outstanding assets that have already been settled. Including at least one of the following: Information processing methods.
2. An information processing device having a financial instrument price acquisition means for acquiring the price of a financial instrument and a new order execution means for executing a new order when the price of the financial instrument meets predetermined conditions, is an information processing method that, based on instructions from a computer program, repeatedly executes the order for a new order even if a settlement order has not been executed, thereby forming multiple executed unsettled assets, wherein when a discontinuous change occurs in the price of the financial instrument, A step of limiting the number of new orders executed simultaneously to one by limiting the number of new orders placed in response to the generation of a buy / sell signal to one; A step of limiting the number of new orders executed within a predetermined time to one by restricting the repetition of new orders within a predetermined time, A step of limiting the number of new orders executed at the same price and / or the same price range to one by generating a buy / sell signal when the price of the financial instrument is in the price range of the outstanding assets that have already been settled. Including at least one of the following: Information processing methods.
3. An information processing device having a financial instrument price acquisition means for acquiring the price of a financial instrument and a new order execution means for executing a new order when the price of the financial instrument meets predetermined conditions, and an information processing method which, based on instructions from a computer program, repeatedly executes new orders one after another even if settlement orders are not executed, thereby forming multiple executed unsettled assets, and continues to repeat the same new orders and settlement orders under the same conditions even after settlement orders have been executed, wherein if a discontinuous change occurs in the price of the financial instrument, The steps include limiting the number of new orders executed simultaneously to one by restricting the number of new orders placed in response to the generation of a buy / sell signal to one, The steps include limiting the number of new orders executed within a predetermined time to one by restricting the repetition of new orders within a predetermined time, Including at least one of the following: Information processing methods.
4. If the price of the financial instrument meets the predetermined conditions, the new order will not be executed if the price of the financial instrument falls outside a predetermined price range, further including the step of: The information processing method according to any one of claims 1 to 3.
5. The steps include limiting the number of new orders so that the number of unexecuted settlement orders does not exceed a predetermined number, including, The information processing method according to any one of claims 1 to 3.
6. An information processing device having a financial instrument price acquisition means for acquiring the price of a financial instrument, and a new order execution means for executing a new order when the price of the financial instrument meets predetermined conditions, wherein when a discontinuous change occurs in the price of the financial instrument, A means for reducing the simultaneous information processing load that limits the number of new orders executed at one by limiting the number of new orders placed in response to the generation of a buy / sell signal to one, A means for reducing the information processing load within a predetermined time period, which limits the number of new orders executed within a predetermined time period to one by restricting the repetition of new orders within that predetermined time period. A means for suppressing the concentration of settled open assets, which generates a buy / sell signal when the price of the financial instrument is in the price range of settled open assets, thereby limiting the number of new orders executed at the same price and / or the same price range to one; An information processing device that includes at least one of the following.
7. In an information processing device having a financial instrument price acquisition means for acquiring the price of a financial instrument and a new order execution means for executing a new order when the price of the financial instrument meets predetermined conditions, if a discontinuous change occurs in the price of the financial instrument, A step of limiting the number of new orders executed simultaneously to one by limiting the number of new orders placed in response to the generation of a buy / sell signal to one; A step of limiting the number of new orders executed within a predetermined time to one by restricting the repetition of new orders within a predetermined time, A step of limiting the number of new orders executed at the same price and / or the same price range to one by generating a buy / sell signal when the price of the financial instrument is in the price range of the outstanding assets that have already been settled. A program that executes a control process that includes at least one of the following.
Citation Information
Patent Citations
Financial product transaction management apparatus and program
JP2008130002A
Financial product transaction management device and program
JP2016197454A
Financial product transaction management device, financial product transaction management system, financial product transaction management method in the financial product transaction management system, and program
JP2017111783A
Financial instruments transaction management device, program
JP4278664B2
Financial instrument trading management device, program
JP4435139B2