The disclosure is generally related to limiting unwanted price movement of a financial instrument.
Sharp price movements (either on the buy side or sell side) of financial instruments over relatively short periods of time can adversely affect financial markets, and even cause a market to crash. Accordingly, there is a need for a system and method of recognizing and limiting such unwanted price movements, all without unduly hindering trading activities.
Systems and methods of limiting price movement of a financial instrument include establishing, via an exchange server comprising at least one matching engine module, an interval price limit (IPL) period that defines a predetermined length of time commencing at a start time, and an IPL amount that defines a permissible increase or decrease in an anchor price of a financial instrument during the IPL period. Buy and sell orders received for the financial instrument during the IPL period are matched to generating at least one matched trade having a trade price. The trade price is then compared to the anchor price, and if the trade price is within the IPL amount of the anchor price, the matching engine module executes the at least one matched trade. Otherwise, if it is not, the matching engine module is prevented from executing the matched trade.
The foregoing summary and the following detailed description are better understood when read in conjunction with the appended drawings. Exemplary embodiments are shown in the drawings, however, it is understood that the embodiments are not limited to the specific methods and instrumentalities depicted herein. In the drawings:
The present disclosure relates generally to systems, methods, and apparatus for preventing unwanted short term price movement in financial markets, while at the same time enabling trading participants to continue trading in the affected financial markets. The following definitions and descriptions are provided, and may be useful to better understand the concepts described herein:
“anchor price” refers to a benchmark or a current market value or price level of a given financial instrument;
“financial instrument” refers to a tradable asset of any kind, including cash; evidence of an ownership interest in an entity; or a contractual right to receive, or deliver, cash or another financial instrument. Examples of financial instruments include, without limit, securities, stocks, stock options, loans, commercial paper, bonds, derivative instruments (e.g., forwards, futures, options, swaps, etc.), etc.
“IPL” shall mean interval price limit:
With the near instantaneous execution of orders in electronic trading systems, it is possible for prices to move sharply in very short periods of time. Such drastic and rapid price movements can adversely affect financial markets, and even cause a market to crash. The present disclosure addresses this problem by providing a novel interval price limit scheme and system for preventing such rapid and drastic price movements.
In a most general sense, the substance of the present disclosure may be envisioned as a virtual circuit-breaker that imposes time-based “reasonability limits” on trading activities, particularly those that affect the speed and extent of price movement. These reasonability limits may include, for example, a predetermined price range within which all trading is permitted. Attempts to initiate or execute trades that violate the reasonability limits, however, will ‘trip’ the circuit breaker, thereby preventing the unwanted trading activity. Contrary to conventional ‘circuit breakers,’ however, the present disclosure does not completely turn-off or prevent all trading activities. Instead, the present disclosure only suppresses those activities that violate the reasonability limits imposed by the novel scheme and system provided herein, while at the same time permitting trading activities that remain within the reasonability limits to continue.
The novel concepts and features described herein may be better understood with reference to
Further, although the steps of the exemplary method 100 are shown in a particular sequence, such steps are not limited thereto. In fact, many of the steps may occur in parallel.
Returning now to
As indicated above, the anchor price refers to a benchmark or a current market value or price level of the particular financial instrument. This anchor price may be determined or established (130) in any number of ways. For example, the anchor price may be established by determining a most recent trade price for the particular financial instrument. Alternatively, the anchor price may be determined based on a current market price (for example, at the start of an IPL period) for the particular financial instrument. The anchor price may also be determined based on a spread differential (in price) of the financial instrument over two specific time periods. For example, assume that a July contract is the prompt month for a particular futures contract, that its current anchor price is $25.50, that the spread between the July and October contracts is −30 points (that is, July is 30 points over October), and that the spread difference between the July and March contracts is −70 points (that is, July is 70 points over March). In this example, the anchor price for the October contract would be $25.20 (the July anchor price of $25.50 minus 30 points) and the anchor price for the March contract would be $24.80 (the July anchor price of $25.50 minus 70 points).
Notably, determining or establishing the anchor price (130) may occur before, after and/or concurrently with establishment of any of the IPL period (110) and the IPL amount (120). Further, any of the IPL period, the IPL amount and the anchor price may be established (and/or adjusted) at any time, including at random times, at predetermined time periods, as desired on an ad hoc basis, or upon the occurrence of one or more predefined events.
An optional hold time (140) may also be established to define a specific length of time during which certain trading activities involving prices that are outside of the IPL range are temporarily suspended. This optional hold time may also be established before, after or concurrently with any of the other parameters discussed above, and it may also be established (and/or adjusted) at any time, including at random times, at predetermined time periods, as desired on an ad hoc basis, or upon the occurrence of one or more predefined events.
Notably, any of the foregoing parameters may be established and/or determined based on instructions stored in a server memory, and/or based on instructions or commands received from one or more computing terminals in communication with the server. Once established, each of these parameters may be stored in memory for future use.
Before, concurrently with, or after the IPL period (110), IPL amount (120) and anchor price (130) are determined and/or established, one or more orders (e.g., buy and sell orders) for the particular financial instrument, each having a trade price, are received at the matching engine module(s) (150) following the IPL period start time. Such orders may be of any order type, including (without limit) market orders, stop orders, limit orders, stop-limit orders, etc. In addition, these orders may be received from one or more computing terminals (e.g., one or more computers (desk top or laptop), servers, smartphones, tablets, hand-held communication devices, kiosks, and/or any other suitable computing/communication devices) in communication with the server.
Complimentary orders (e.g., buy and sell orders with corresponding terms and prices) received for the financial instrument during the IPL period are then matched by the matching engine module(s) to generate at least one matched trade (150). The trade price of this matched trade is then compared to the anchor price (160) to determine whether the trade price is within the IPL amount of the anchor price. If the trade price is within the IPL amount of the anchor price (i.e., within the IPL range), the matching engine module(s) proceed to execute the matched trade (170). Otherwise, if the trade price is not within the IPL amount of the anchor price, the matching engine module(s) is prevented from executing the matched trade (180).
As an option, if at least one of the orders received at (150) is a stop order having a limit price that is not within the IPL amount of the anchor price (i.e., the limit price is outside of the IPL range), the limit price may temporarily be adjusted to a price that is within the IPL range, and then additional attempts to match the stop order (at the adjusted limit price) may be initiated. If the stop order is not matched within a predetermined period of time, the adjusted limit price may be reverted back to its original value. If, however, the original limit price is within the IPL range, no change is made to the order terms and it remains executable at its limit price.
As another option, if it is determined that the trade price of a matched trade is not within the IPL amount of the anchor price, the server may initiate a hold period (not shown) that will last for the hold time established at (140). During this hold period, the server embodying the matching engine module(s) may be configured to prevent the matching engine module(s) from executing matched trades for financial instruments having a trade price that is beyond the IPL amount of the anchor price (i.e., outside of the IPL range) (170), while at the same time executing matched trades for financial instruments having a trade price within the IPL amount of the anchor price (i.e., within the IPL range) (180). For example, if the price of a particular financial instrument drops too quickly, such that its price (as determined by received bids and offers) falls below the lower price limit of the IPL range, a hold period will prevent selling of the financial instrument at prices below the IPL range, while at the same time permitting buyers to buy the financial instrument at prices above the upper price limit of the IPL range. As an option, a hold notification may be generated and transmitted to trading participant devices or terminals.
Other features and operations that may optionally be available during the hold period include (without limit) canceling, amending, or making inactive one or more orders for the financial instrument. These features and operations may be initiated, for example, via one or more computing/communication devices (e.g., trading terminals) that are in communication with the server embodying the matching engine module(s) via, for example, a wired or wireless network. In addition, new orders (having a price within the IPL range) may also be received, matched, and executed by the matching engine module(s) during the hold period. Resting orders existing at the initiation of the hold period may also remain active during the hold period.
Features and operations that may optionally be prevented during the hold period include (without limit) entry of new orders that would result in a matched trade having a trade price beyond the IPL amount of the anchor price, and amendment of existing orders (i.e., orders received by the matching engine module(s) prior to commencement of the hold period) that would result in a matched trade having a trade price beyond the IPL amount of the anchor price. In addition, unfilled market orders that exist at the start of the hold period (or that actually trigger the hold period) may optionally be cancelled at the start of the hold period.
At the conclusion of the IPL period established at (110), one or more of the anchor price, the IPL period duration, the IPL amount, the optional hold time or any other parameter may be adjusted, for example, to reflect current market conditions (e.g., current price of the financial instrument). In addition, a subsequent IPL period (having the same or an adjusted duration as the IPL period established at 110) may commence, during which trades may be generated, matched and executed. As with the IPL period established at 110, matched trades having trade prices that are not within the IPL range (i.e., within the IPL amount of the anchor price) pertaining to this subsequent IPL period will be prevented from executing. In addition, a subsequent optional hold period may be triggered if attempts are made to violate IPL range.
As indicated above, matched trades having trade prices that are outside of an IPL range may trigger or initiate a hold period. Other actions that may initiate a hold period include (without limit) a bid attempt, either to rest or transact on a resting offer, above the upper price limit of an IPL range; or an offer attempt to rest or transact on a resting bid below the lower price limit of the IPL range. Such bid and offer attempts may be provided as market orders, limit orders, elected stop orders, etc.
Turning now to
Included in the system (200) are one or more computing devices (210) comprising one or more processors (215) configured to execute computer executable instructions (220) stored in memory (230). Such computing devices (210) may include, without limit, one or more computers (desk top or laptop), servers, smartphones, tablets, hand-held communication devices, kiosks, or any other suitable computing/communication devices. In addition, the computing devices (210) may include one or more stand-alone devices, such as a stand-alone server, or they may be a part of a larger system or network, such as (for example) an electronic exchange system. The one or more computing devices (210) may further be configured to include one or more matching engine modules (240) generated, for example, by the one or more processors (215) executing instructions (220) stored in memory (230). These matching engine module(s) (240) are optionally configured to match orders (e.g., buy and sell orders) received via one or more computing terminals (250) in communication with the one or more computing devices (210) via, for example, a wired or wireless communications network (260). The matching engine module(s) (240) may also be configured to execute trades based on the matched orders. For purposes of this illustration, the one or more computing devices (210) shall collectively be referred to as a server, such as an exchange server, for example.
The one or more computing terminals (250) may include (without limit) one or more computers (desk top or laptop), servers, smartphones, tablets, hand-held communication devices, kiosks, and/or any other suitable computing/communication devices. Collectively, the one or more computing terminals shall simply be referred to as a terminal or terminals (250).
In operation, the server (210) is configured to establish and/or determine an IPL period that commences at a start time, an IPL amount, an anchor price. As indicated above, the anchor price may be determined or established in any number of ways, including based on a most recent trade price of a particular financial instrument, on a current market price for the particular financial instrument, or on a spread differential of the financial instrument over two specific time periods.
The server (210) may also be configured to establish a hold time that defines a specific length of time during which certain trading activities involving prices that are outside of an IPL range (which is defined based in the IPL amount and the anchor price) are temporarily suspended.
Notably, any of the IPL period, IPL amount, anchor price and optional hold time may be established or determined based on instructions (220) stored in the memory (230), and/or based on instructions or commands received from one or more of the terminals (250) in communication with the server (210). Once established, each of these parameters may be stored in memory (230) for future use and/or adjustment. In addition, these parameters may be determined or established before, after and/or concurrently with establishment of any other of these parameters. Further, the IPL period, the IPL amount, the anchor price and the hold time may be established (and/or adjusted) at any time, including at random times, at predetermined time periods, as desired on an ad hoc basis, or upon the occurrence of one or more predefined events.
Following the IPL period start time, one or more orders (e.g., buy and sell orders) for a particular financial instrument, each having a trade price, may be received at the matching engine module(s) (240) via the server (210). Such orders may be of any order type, including (without limit) market orders, stop orders, limit orders, stop-limit orders, etc. In addition, these orders may be received from the one or more terminals (250) in communication with the server (210).
Upon receiving the orders, the matching engine module(s) (240) is configured to process and identify complimentary orders (e.g., buy and sell orders having matching terms/prices) and generate matched trades. The trade price of each matched trade is then compared to the anchor price to determine whether the trade price is within the IPL amount of the anchor price. If the trade price of a matched trade is within the IPL amount of the anchor price (i.e., within the IPL range), the matching engine module(s) (240) proceed to execute the matched trade. Otherwise, if the trade price of a matched trade is not within the IPL amount of the anchor price, the matching engine module(s) (240) is prevented from executing the matched trade.
As an option, if at least one of the orders received by the matching engine module(s) (240) is a stop order having a limit price that is not within the IPL amount of the anchor price (i.e., the limit price is outside of the IPL range), the server (210) may be configured to temporarily adjust the limit price to a price that is within the IPL range, and then additional attempts (by the matching engine module(s) (240)) to match the stop order (at the adjusted limit price) may be initiated. If the stop order is not matched within a predetermined period of time, the adjusted limit price may be reverted back to its original value.
As another option, if it is determined that the trade price of a matched trade is not within the IPL amount of the anchor price, the server (210) may initiate a hold period that will last for the pre-established hold time. During this hold period, the matching engine module(s) are presented (240) from executing matched trades for financial instruments having a trade price that is beyond the IPL amount of the anchor price (i.e., outside of the IPL range), while at the same time continuing to execute matched trades for financial instruments having a trade price within the IPL amount of the anchor price (i.e., within the IPL range). As an option, a hold notification may be generated and transmitted by the server (210) to the one or more terminals (250).
If a hold period is initiated, the server (210) may be configured to maintain certain features and operations available during the hold period. Such features and options include (without limit): receiving and implementing commands for canceling, amending, or making inactive one or more orders for the financial instrument. These features and operations may be initiated, for example, via the terminals (250) that are in communication with the server (210). In addition, new orders (having a price within the IPL range) may also be received, matched, and executed by the matching engine module(s) (240) during the hold period. Resting orders existing at the initiation of the hold period may remain active and/or be cancelled.
Additional features and operations that may optionally be prevented during the hold period may include (without limit) entry of new orders (via, for example, the terminals (150)) that would result in a matched trade having a trade price beyond the IPL amount of the anchor price, and amendment of existing orders (i.e., orders received by the matching engine module(s) (240) prior to commencement of the hold period) that would result in a matched trade having a trade price beyond the IPL amount of the anchor price. In addition, unfilled market orders that exist at the start of the hold period (or that actually trigger the hold period) may optionally be cancelled by the server (210)/matching engine module(s) (240) at the start of the hold period.
At the conclusion of an IPL period, one or more of the anchor price, the IPL period duration, the IPL amount, the optional hold time or any other parameter may be adjusted, for example, to reflect current market conditions (e.g., current price of the financial instrument). These adjustments may be initiated, for example, via instructions (220) stored in memory (230) and/or by instructions or commands received from the terminals (250).
In addition, the server (210) may be configured to commence a subsequent IPL period (having the same or an adjusted duration as the initial IPL period), during which trades may be generated, matched and executed by the matching engine module(s) (240). As with the initial IPL period, matched trades having trade prices that are not within the IPL range (i.e., within the IPL amount of the anchor price) pertaining to this subsequent IPL period will be prevented from executing.
Attempts to violate the IPL range (i.e., attempts to trade at prices beyond the IPL range) may cause the server (210) to trigger an optional hold period. Other actions that may cause the server (210) to initiate a hold period include receiving a bid, either to rest or transact on a resting offer, above the upper price limit of an IPL range; or receiving an offer to rest or transact on a resting bid below the lower price limit of the IPL range. Such bid and offer attempts may be provided as market orders, limit orders, elected stop orders, etc.
The better understand the concepts and features described herein, the following example is provided. The financial instrument involved in this example shall be a futures contract that is trading at a price of $25.25 at the start of a new IPL period. For purposes of this example, the start time of this new IPL period is assumed to be 11:00:00 with a duration of fifteen (15) seconds. This means that the IPL period will end at 11:00:15.
It is also assumed that anchor price of the futures contract is set to reflect the current trading price of $25.25 and that the IPL amount is set to fifty (50) points (i.e., $0.50). As a result, the IPL range (i.e., the range of prices at which the futures contract will be permitted to trade) is between $24.75 (anchor price−IPL amount) and $25.75 (anchor price+IPL amount).
Lastly, it is assumed that that the optional IPL hold period time is set to thirty (30) seconds. Thus, if certain impermissible trading activity triggers a hold period, the hold period will last for 30 seconds.
Scenario 1—In this first scenario, it is assumed that during the IPL period, orders received for the futures contract include prices that remain within the IPL range. It is also assumed that the market price for the futures contract at the end of the IPL period (i.e., 11:00:15) is $25.10. In this scenario, since the price of the futures contract does not reach the upper or lower end of the IPL range, no hold period is triggered. Thus, at the conclusion of the initial IPL period, a new IPL period will begin at time 11:00:15 and run until 11:00:30.
Since the market price of the futures contract has changed (from $25.25 to $25.10), the anchor price for this new IPL period is adjusted to reflect the current market price (i.e., $25.10). This change in anchor price affects a change in the IPL range, which is now between $24.60 and $25.60 (calculated by adding the IPL amount to and subtracting it from the anchor price at the start of this new IPL Period).
Scenario 2—During the new IPL period commenced at the end of Scenario 1, it is assumed that the futures contract is trading at increasingly higher prices, and that it has been determined that a next trade for the futures contract, occurring at time 11:00:20, will be at a price that is beyond the upper limit of the IPL range (e.g., at a price that is $25.61 or higher). Based on this determination, an IPL hold period is triggered at time 11:00:20 to prevent trades at prices beyond the IPL range. This IPL hold period will last for 30 seconds (until time 11:00:50) based on the pre-established hold time. During the IPL hold period, the trade price for the futures contract remains subject to the 25.60 to 24.60 IPL range set at the start of this new IPL period. At the end of the IPL hold period (i.e., 11:00:50) a third IPL Period begins and the IPL range for this third IPL period may be calculated based on a new anchor price (e.g., the trading price of the futures contract at the end of the IPL hold period) plus/minus the 50 point IPL amount.
The foregoing examples are provided merely for the purpose of explanation and are in no way to be construed as limiting. While reference to various embodiments are shown, the words used herein are words of description and illustration, rather than words of limitation. Further, although reference to particular means, materials, and embodiments are shown, there is no limitation to the particulars disclosed herein. Rather, the embodiments extend to all functionally equivalent structures, methods, and uses, such as are within the scope of the appended claims.
This Application claims priority to U.S. Provisional Patent Application No. 61/539,610 filed Sep. 27, 2011, the contents of which are incorporated herein in its entirety.
Number | Date | Country | |
---|---|---|---|
61539610 | Sep 2011 | US |