IP Library › Granted Patent US 11,830,015
Granted Patent B2
US 11,830,015 · App. 17/527,363 · Granted Nov 28, 2023

Detection and mitigation of effects of high velocity value changes based upon match event outcomes

Inventors: Neil A. Lustyk (Lisle, IL); John Scheerer (Frankfort, IL); James Bailey (Hanover Park, IL); Paul Millhuff (Tinley Park, IL)
Assignee: Chicago Mercantile Exchange Inc.
G06Q30/0201G06Q40/04G06Q40/00G06Q40/03
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,830,015
App. No.
17/527,363
Granted
Nov 28, 2023
Kind
B2
Abstract

A processing module may be centralized and coupled to multiple inputs from customers, and behave deterministically, e.g., programmed to depend on state, inputs and outputs. The rapid speed of automated trading systems implementing such a centralized, deterministic module, where all users can access a central limit order object, can quickly result in an object state that does not reflect a true consensus or desirable state. Accordingly the resulting problem is a problem arising in computer systems due in part to the high speeds of computer systems. The solutions disclosed herein are, in one embodiment, implemented as automatic responses and actions by a computing system.

Claims (37)

1. A computer implemented method comprising:

controlling a data transaction processing system which maintains a data structure which stores data indicative of a state which characterizes the data transaction processing system, the data transaction processing system operative to automatically process electronic data transaction requests as they are received against previously received electronic data transaction requests, the processing of which results in at least one change to the data indicative of the state, the controlling further comprising:

determining, automatically by the processor based on a current state of the data transaction processing system, an extent to which a received electronic data transaction request can be processed by the data transaction processing system and thereby change the data indicative of the state of the data transaction processing system, and based on whether the received electronic data transaction request cannot be processed, can only be partially processed or can be entirely processed, assigning a comparison value;

identifying, by the processor, a first comparative value after an elapse of a first duration of time and a second comparative value after an elapse of a second duration of time subsequent to the first duration of time; and

determining, by the processor, whether a first difference between the assigned comparison value and the first comparative value deviates from a first threshold value, and where the first difference does not deviate from the first threshold value, determining, by the processor, that a second difference between the assigned comparison value and the second comparative value deviates from a second threshold value; and

halting, automatically by the processor, processing of electronic data transaction requests received by the data transaction processing system based on the determination that one of the first or second difference deviates from the first or second threshold values so as to prevent a subsequent change in the data indicative of the state of the data transaction processing system caused by processing subsequently received electronic data transaction requests.

2. The computer implemented method of claim 1 , wherein the comparison value is based on only the received electronic data transaction request when the received electronic data transaction request cannot be processed, based on the received electronic data transaction request and all previously received electronic data transaction requests against which the received electronic data transaction request can transact when the received electronic data transaction request can only be partially processed, and based on only all previously received electronic data transaction requests against which the received electronic data transaction request can transact when the received electronic data transaction request can be entirely processed.

3. The computer implemented method of claim 1 , further comprises resuming processing of electronic data transaction requests received by the data transaction processing system when a pre-determined condition is satisfied.

4. The computer implemented method of claim 3 , wherein the pre-determined condition is a passage of a pre-determined amount of time after receiving the electronic data transaction request message.

5. The computer implemented method of claim 3 , wherein the pre-determined condition is receiving a pre-determined number of subsequent electronic data transaction request messages to perform transactions after receiving the electronic data transaction request message.

6. The computer implemented method of claim 1 , wherein the first and second durations of time are different.

7. The computer implemented method of claim 1 , wherein the first and second threshold values are different.

8. The computer implemented method of claim 1 , wherein identifying the first or second comparative values comprises determining one or more of: a minimum value of a data object over the first or second durations of time, respectively; a maximum value of the data object over the first or second durations of time, respectively; or an average of the value of the data object over the first or second durations of time, respectively.

9. The computer implemented method of claim 1 , wherein the data transaction processing system is an exchange computing system, and wherein the electronic data transaction requests comprise requests to transact a data object which represents a financial instrument traded in the exchange computing system.

10. The computer implemented method of claim 9 , wherein the comparative value comprises a bid price of the financial instrument, an ask price of the financial instrument, a last traded price of the financial instrument, a last traded quantity of the financial instrument, a volatility of the financial instrument, a market attribute, or a combination thereof.

11. A system comprising:

a computer processor coupled with a memory, the computer processor specifically configured to:

control a data transaction processing system which maintains a data structure which stores data indicative of a state which characterizes the data transaction processing system, the data transaction processing system operative to automatically process electronic data transaction requests as they are received against previously received electronic data transaction requests, the processing of which results in at least one change to the data indicative of the state, the computer processor being further configured to:

determine, automatically based on a current state of the data transaction processing system, an extent to which a received electronic data transaction request can be processed by the data transaction processing system and thereby change the data indicative of the state of the data transaction processing system, and based on whether the received electronic data transaction request cannot be processed, can only be partially processed or can be entirely processed, assigning a comparison value;

identify a first comparative value after an elapse of a first duration of time and a second comparative value after an elapse of a second duration of time subsequent to the first duration of time; and

determine whether a first difference between the assigned comparison value and the first comparative value deviates from a first threshold value, and where the first difference does not deviate from the first threshold value, determine that a second difference between the assigned comparison value and the second comparative value deviates from a second threshold value; and

halt, automatically, processing of electronic data transaction requests received by the data transaction processing system based on the determination that one of the first or second difference deviates from the first or second threshold values so as to prevent a subsequent change in the data indicative of the state of the data transaction processing system caused by processing subsequently received electronic data transaction requests.

12. The system of claim 11 , wherein the comparison value is based on only the received electronic data transaction request when the received electronic data transaction request cannot be processed, based on the received electronic data transaction request and all previously received electronic data transaction requests against which the received electronic data transaction request can transact when the received electronic data transaction request can only be partially processed, and based on only all previously received electronic data transaction requests against which the received electronic data transaction request can transact when the received electronic data transaction request can be entirely processed.

13. The system of claim 11 , wherein the computer processor is further configured to resume processing of electronic data transaction requests received by the data transaction processing system when a pre-determined condition is satisfied.

14. The system of claim 13 , wherein the pre-determined condition is a passage of a pre-determined amount of time after receiving the electronic data transaction request message.

15. The system of claim 13 , wherein the pre-determined condition is receiving a pre-determined number of subsequent electronic data transaction request messages to perform transactions after receiving the electronic data transaction request message.

16. The system of claim 11 , wherein the first and second durations of time are different.

17. The system of claim 11 , wherein the first and second threshold values are different.

18. The system of claim 11 , wherein identification of the first or second comparative values comprises a determination of one or more of: a minimum value of a data object over the first or second durations of time, respectively; a maximum value of the data object over the first or second durations of time, respectively; or an average of the value of the data object over the first or second durations of time, respectively.

19. The system of claim 11 , wherein the data transaction processing system is an exchange computing system, and wherein the electronic data transaction requests comprise requests to transact a data object which represents a financial instrument traded in the exchange computing system.

20. The system of claim 19 , wherein the comparative value comprises a bid price of the financial instrument, an ask price of the financial instrument, a last traded price of the financial instrument, a last traded quantity of the financial instrument, a volatility of the financial instrument, a market attribute, or a combination thereof.

21. A system comprising:

means for controlling a data transaction processing system which maintains a data structure which stores data indicative of a state which characterizes the data transaction processing system, the data transaction processing system operative to automatically process electronic data transaction requests as they are received against previously received electronic data transaction requests, the processing of which results in at least one change to the data indicative of the state, the means for controlling further comprising:

means for determining, automatically based on a current state of the data transaction processing system, an extent to which a received electronic data transaction request can be processed by the data transaction processing system and thereby change the data indicative of the state of the data transaction processing system, and based on whether the received electronic data transaction request cannot be processed, can only be partially processed or can be entirely processed, assigning a comparison value;

means for identifying a first comparative value after an elapse of a first duration of time and a second comparative value after an elapse of a second duration of time subsequent to the first duration of time; and

means for determining whether a first difference between the assigned comparison value and the first comparative value deviates from a first threshold value, and where the first difference does not deviate from the first threshold value, determining, by the processor, that a second difference between the assigned comparison value and the second comparative value deviates from a second threshold value; and

means for halting, automatically, processing of electronic data transaction requests received by the data transaction processing system based on the determination that one of the first or second difference deviates from the first or second threshold values so as to prevent a subsequent change in the data indicative of the state of the data transaction processing system caused by processing subsequently received electronic data transaction requests.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2021
From: LUSTYK, NEIL A.; SCHEERER, JOHN; BAILEY, JAMES; MILLHUFF, PAUL
To: CHICAGO MERCANTILE EXCHANGE INC.
Reel/Frame 058137/0951 →
Continuity (3)
Continuation 16992577 · Aug 13, 2020
Continuation 15091626 · Apr 6, 2016
Related Publication 20220076280A1 · Mar 10, 2022