US8645269B2 - Methods and apparatus for optimizing the distribution of trading executions - Google Patents
Methods and apparatus for optimizing the distribution of trading executions Download PDFInfo
- Publication number
- US8645269B2 US8645269B2 US13/591,878 US201213591878A US8645269B2 US 8645269 B2 US8645269 B2 US 8645269B2 US 201213591878 A US201213591878 A US 201213591878A US 8645269 B2 US8645269 B2 US 8645269B2
- Authority
- US
- United States
- Prior art keywords
- executed
- prices
- accounts
- allocation
- order
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Definitions
- the present invention relates to electronic trading of securities.
- a primary function of brokerage firms is to conduct trades on behalf of clients. From an information flow perspective, trading at a brokerage firm includes steps of collecting orders from clients to buy or sell various financial products and placing these orders on a specified stock exchange. Each client may have multiple brokerage accounts open at a brokerage firm so the trading must specify which account a trade is associated with. Once an order is placed, it may be executed (e.g., by the selected stock exchange's matching engine). The executions are captured, by the brokerage firm's trading system and the executed quantities from each financial product must fee allocated fairly on the client's accounts. That is, they mast be allocated based on the ordered quantity per account (as specified by the client at the time of placing the order).
- Some orders may be fully executed, while others may he partially executed or not executed at all. If the entire ordered quantity it is executed (fully or partially) at a unique price, then allocation is staightforward—the executed quantity will be allocated on the client's accounts proportionate to the quantity demanded by the client in each of its accounts.
- an optimization algorithm is provided to achieve an average price per account as close as possible to each other (and to the overall weighted average price), with respect to the initial demanded quantity per account.
- FIG. 1 is a block diagram of a system consistent with the present invention.
- FIG. 2 is a flow diagram consistent with some embodiments.
- FIG. 3 is a flow diagram consistent with some embodiments
- FIG. 4 is block diagram of a portion of a system consistent with some embodiments.
- Applicant has recognized that there is a need for an improved system, method, apparatus, computer program code, and means for allocating an executed order among a plurality of customer accounts.
- the present invention relates to methods and apparatus for optimizing the distribution of trading executions in investor accounts.
- an integer allocation algorithm is provided.
- client For the purposes of describing features of embodiments of the present invention, a number of terms are used herein.
- client customer
- investment are generally used interchangeably to refer to an individual or entity that has provided instructions to execute a trade on its behalf.
- the term “optimization algorithm” is used to refer to a numerical method or algorithm for finding a value x such that ⁇ (x) is as small (or as large) as possible, for a given function ⁇ , possibly with some constraints on x.
- the term “Tabu search” refers to a mathematical optimization method that generally enhances the performance of a local search method by using memory structures.
- simulated annealing is used to refer to a global optimization, technique which traverses the search space by generating neighbouring solutions of the current solution.
- customer orders are allocated among customer accounts pursuant to embodiments of the present invention as follows.
- a customer who has multiple accounts at a brokerage firm places a trade order.
- the executed quantities are fairly allocated on the customer's accounts pursuant to allocation instructions provided by the customer.
- an allocation problem arises.
- Embodiments of the present invention address the allocation problem by first determining the quantity of the orders that are to be allocated to each account. In some embodiments, this is done on a pro-rata basis.
- Embodiments then arrange execution price data associated with the executed orders into separate lists or subsets.
- price data is sorted into two lists or subsets, although those skilled in the art will appreciate that different numbers (so long as there are at least two) may be used.
- the solution is improved iteratively so that the executed prices are sorted in the best fashion possible.
- embodiments efficiently and accurately allocate executed prices across different accounts. Further, embodiments allow this efficient and accurate allocation to be done programmatically; something that prior approaches were unable to do effectively because there is generally no polynomial algorithm for such integer linear programming problems.
- a system, method, means, and computer program code for generating an initial optimization include distributing two lists of executed prices, including a first list of executed prices under an overall weight prices, and a second list of executed prices above the overall weight price, and distributing the prices over the customers accounts such that at each iteration the executed prices that is the closest distance between the average price of a given account and the overall average is selected.
- trading network 100 includes a number of different components which cooperatively operate to process, route and execute securities trading orders pursuant to some embodiments of the present invention.
- features of some embodiments may be implemented in a trading environment such as the trading environment shown in FIG. 1 .
- features of some embodiments may be used to allocate executed orders across a number of accounts held by a customer such as customer 104 a.
- trading network 100 includes a trading system 102 in communication with one or more customer(s) 104 , a plurality of order destinations 106 , a source 108 of order destination data, and one or more operator devices 109 (only one shown).
- Trading system 102 includes additional components (not shown), such as an execution core, order routing functions, storage capabilities, etc.
- the execution core may be any trading execution software, systems and/or devices which are configured to receive customer orders and process them to execute orders on behalf of customers.
- the execution core may function to timestamp orders when received and to assign an order identifier or sequence number to each order.
- trading system 102 includes, or has access to, a plurality of trading accounts associated with customers 104 .
- any number of trading systems may be included in trading network 100 .
- any number of data sources 108 , customer devices 104 , order destinations 106 , operator devices ox any other device described, herein may be included in the trading network 100 according to embodiments of the present invention.
- Each of the devices of trading network 100 may he formed of components or other devices capable of performing the various functions described herein.
- a customer device 104 may be a computing device such as a Personal Computer (PC), a laptop, a telephone, or other device associated with a customer.
- PC Personal Computer
- the term “customer” may refer to, fat example, an individual or other entity that buys and sells securities (and pursuant to some embodiments of the present invention, options; for purposes of this disclosure and the appended claims “securities” will be understood to include options).
- a customer operating a customer device may be a broker or other entity desiring to purchase or sell securities using features of embodiments of the present invention. The broker or other entity may be operating on behalf of the ultimate purchaser or seller of the securities.
- An order destination 106 may include any computing device(s) operated by or on behalf of one or more order destinations. Each of the order destinations may be in communication with other devices described herein, such as the data, source 108 , using techniques known in the art. In general, the data source 108 may receive information from the order destinations 106 upon the occasion of each order received by the order destinations and/or after the completion of each trading transaction. Each order destination 106 may include one or more operator terminals allowing specialists or traders at the order destination to respond to orders received and to complete execution of an order pursuant to its terms.
- Operator device 109 may, for example, be constituted by a computer terminal or by a computing device such as a PC or a laptop in communication with the trading system 102 .
- devices may communicate, for example, via one or more communication networks.
- IP Internet Protocol
- some or all of the devices may be in communication via an Internet Protocol (IP) network such as the Internet.
- IP Internet Protocol
- Some or all of the devices may be in communication via other types of networks such as an intranet, a Local Area Network (LAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), a proprietary network, a Public Switched Telephone Network (PSTN), and/or a wireless network.
- IP Internet Protocol
- LAN Local Area Network
- MAN Metropolitan Area Network
- WAN Wide Area Network
- PSTN Public Switched Telephone Network
- communication between some or ail of the devices of trading network 100 may be via temporary computer communication channel (e.g., a logic path through which information can be exchanged).
- temporary computer communication channel e.g., a logic path through which information can be exchanged.
- the communication channel between various devices may be established and discontinued as appropriate.
- trading system 102 may exchange information with one of the order destinations 106 only when communication is necessary to transmit an order for execution by the order destination 106 or to receive confirmation from the order destination 106 that the order was executed.
- some or all of the devices may communicate with other devices via a public computer communication network. That is, at least a portion of the communication network may be accessed by devices other than the devices depicted in FIG, 1 . Note, however, that the information exchanged between trading system 102 and other devices in FIG. 1 may be encrypted or otherwise protected to prevent a third party from accessing, manipulating, understanding and/or misusing the information. In some embodiments, some or all of the devices may communicate over a private network.
- the devices of FIG. 1 are connected differently than as shown.
- some or all of the devices may be connected indirectly to one another (e.g., via the Internet).
- embodiments of the invention may include devices that are different torn those shown.
- the devices are shown in communication with each other, the devices need not be constantly exchanging data. Rather, communication may be established when necessary and severed at other times or always available but rarely used to transmit data.
- the illustrated communication links appear dedicated, it should he noted that each of the links may fee shared by other devices.
- Features of some embodiments may be used to allocate executed orders across a number of accounts held by a customer such as customer 104 a.
- the allocation is performed programmatically using, for example, a computing device associated with or in communication with trading system 102 .
- the allocation may be performed on a real-time basis (e.g., upon completion of a trade requiring allocation), or on a batch or daily basis. Further details of such a computing device will be provided below in conjunction with a description of FIG, 4 .
- FIG. 2 where a process 200 is shown for trade processing.
- the flow chart in FIG. 2 and the flow charts in other figures described herein do not imply a fixed order to the steps, and embodiments of the present invention can be practiced in any order that is practicable.
- Some or all of the steps of the process shown in FIG. 2 may be performed, for example, by a trading system such as the trading system 102 of FIG. 1 .
- some of the steps of the process are performed by an allocation system such as the system 400 of FIG. 4 .
- Process 200 begins at 202 where a trade order is received.
- the trade order may be received at trading system 102 in any of a number ways commonly known in the art.
- the trade order may he received from a customer having a number of accounts at, for example, a brokerage.
- the customer may also provide allocation instructions associated with the execution of the order. For example, if the customer has four accounts, the customer may indicate that the executed quantities be allocated in a certain way across those four accounts.
- Price breakdowns are identified, for example, during or after the execution (or attempted execution) of an order. As discussed above, price breakdown occurs when the total ordered quantity is fully or partially executed at multiple prices. Pursuant to some embodiments, this price breakdown may be identified by the trading system (such as trading system 102 ) or after processing by a system such as the allocation system 400 of FIG. 4 .
- embodiments utilize a multi-step process that includes an iterative improvement to a distribution. Further details of the multi-step process will he provided below in conjunction with FIG. 3 .
- the distribution is performed.
- the distribution maybe performed by a trading system such as the trading system 102 of FIG. 1 .
- the distribution may also be performed by a brokerage computing system or some other system or device. The end result is an efficient and accurate allocation and distribution of executed orders among various accounts.
- Formula (1) describes the order (where Q is the total ordered quantity), and the accounts and allocation is shown by Formula (2) (also referred to as the breakdown scheme or allocation instructions).
- the total ordered quantity may be executed in multiple portions (tranches or blocks) at different prices as show in Formula (3):
- pairs (p i , e i ) are the pair of the executed quantity (e i ) and the executed price (p i ) and where m is the number of executions received from the market for the corresponding order.
- E is the total executed quantity. That is, as described above, an order may be fully executed, partially executed or not executed at all.
- a solution is provided for the integer allocation problem of finding the appropriate distribution D of the executed quantities in the investors' accounts, based on the investor's allocation instructions.
- the solution provides—for each account—the closest average price to the overall average. Put another way, the solution minimizes the function shown in Formula (5):
- FIG. 3 where a process 300 is shown for trade allocation processing.
- Some or all of the steps of the process shown in FIG. 3 may be performed, for example, by, a system such as the allocation system 400 of FIG. 4 .
- some or all of the steps of the process may be performed by a trading system such as the trading system 102 of FIG. 1 .
- Allocation processing may begin once a price breakdown has been associated with an order (e.g., in real rime, or in a batch process at the end of day). Allocation processing begins at 302 where the total executed quantity of a trade order is allocated proportionally on accounts based on the customer's allocation instructions. For example, the total executed quantity is allocated proportionally on the customer's accounts on a pro-rata basis. In one embodiment, processing at 302 includes determining a pro-rata coefficient for each customer account. Formula (9) illustrates one embodiment of such a determination.
- the coefficients represent the proportional number of executed orders or lots that have to be allocated per account from each execution, according to the customer's allocation instructions.
- processing at 302 includes the calculation of a pro-rata allocation as follows in Formulas (14)-(21):
- processing of 302 is complete, and a quantity to he allocated to each account has been determined.
- processing continues at 304 where an initial distribution is constructed by distributing the executed prices in at least two lists. Put another way, the data is arranged based on a strategy consistent with the objective function.
- , i 1 ,m . (22)
- the prices are sorted, is some embodiments, two subsets of prices are created: (1) those that are less or equal than the overall average p , and (2) those that are greater than the average.
- Processing at 306 includes iteratively improving the distribution to improve the objective function, which is shown as Formulas (31) and (32):
- the algorithm is to identify a pair of accounts between which one lot size can be swapped, at different prices, so that the value of the objective function drives the searching toward the optimal solution or toward a close vicinity of the optimal, as shown in Formulas (33)-(36) (where Formula (36) is a series of formulas):
- the algorithm allows relaxation, for escaping from the trap of local optimums, and for redirecting the search, within the space of the solutions, toward the global optimum proximity.
- allowing relaxation opens the possibility of cycling.
- the search acquires a short-term memory, which prevents going back down the paths that have been already explored.
- the Tabu List stores a triad of data, including: account FROM, account TO, and price AT.
- a procedure of the algorithm is to determine between which accounts, and at what prices a swap can be made at a given point.
- Min-Max strategy is employed. At each iteration we attempt to swap one lot size between the account which has the lowest average price and the account which has highest one (this is the Max part of the strategy). The Min part of the strategy comes in place when the executed prices at which the swap is to be made are selected. That is, the system performs some fine tuning and looks for the pair of prices for which the swap will have the least impact on the average price of the pair of accounts concerned. This is shown in Formula (37):
- a system, method, means and computer program code for determining a pair of accounts between which one lot size has to be swapped includes operating a Tabu search in the space of solutions, performing a simulated annealing technique in conjunction with the Tabu Search, and combining the two techniques to solve an integer allocation problem.
- processing at 308 may include transmitting an allocation message to a trading system (e.g., such as the system of FIG. 1 ), or to an entity managing the customer's brokerage accounts so that the allocation can be deployed.
- a trading system e.g., such as the system of FIG. 1
- an entity managing the customer's brokerage accounts so that the allocation can be deployed.
- allocation system 400 may be operated in conjunction with, or be a part of, trading system 100 of FIG. 1 .
- allocation system 400 includes a computer processor 405 operatively coupled to a communication, device 410 , a storage device 415 , an input device 420 and an output device 425 .
- Communication device 410 may be used to facilitate communication with, for example, other devices (such devices in trading system 100 , etc.).
- Input device 420 may comprise, for example, a keyboard, a keypad, a mouse or other pointing device, a microphone, knob or a switch, an infra-red (IR) port, a docking station, and/or a touch screen. Input device 420 may be used, for example, to enter information (e.g., information regarding routing rules or the like). Output device 425 may comprise, for example, a display (e.g., a display screen), a speaker, and/or a printer.
- a display e.g., a display screen
- Storage device 415 may comprise any appropriate information storage device, including combinations of magnetic storage devices (e.g., magnetic tape and hard disk drives), optical storage devices, and/or semiconductor memory devices such as Random Access Memory (RAM) devices and Read Only Memory (ROM) devices.
- magnetic storage devices e.g., magnetic tape and hard disk drives
- optical storage devices e.g., optical storage devices
- semiconductor memory devices such as Random Access Memory (RAM) devices and Read Only Memory (ROM) devices.
- Storage device 415 stores cue or more programs 430 for controlling processor 405 .
- Processor 405 performs instructions of program 430 , and thereby operates in accordance with the present invention.
- program 430 may be a rule-based engine that the allocation scheme described above in conjunction with FIG. 3 .
- program 430 may be configured as a neural-network or other type of program using techniques known to those skilled in the art to achieve the functionality described herein.
- Storage device 415 also stores databases, including, for example, a database 435 storing allocation instructions (received from customers), a database 440 storing trade data (including order data received from trading system 100 ), and a database 445 storing execution data (from trading system 100 ).
- the data from these datastores are used in conjunction with the program to perform the processing of FIG. 3 .
- Other databases and configurations may also be provided.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
Where |(
and is the average price per account, and
is the overall (weighted) average price, as shown in Formula (8), below:
The remaining or residual quantity per account is then shown by Formula (11):
r j =q j − c j , j=
And the total remaining quantity to be allocated is expressed by Formula (12):
In addition, each account may be assigned a certain priority tj j=
The tableau shown as Formula (13) describes the above-mentioned correspondences:
Put another way, processing at 302 includes the calculation of a pro-rata allocation as follows in Formulas (14)-(21):
Where Formula (14) results in a determination of the coefficient, Formula (15) distributes the total executed amount proportionally, Formula (16) determines the percentage the demanded quantity has been satisfied, and Formulas (18)-(20) determine the account that will receive one of the remaining lots based on certain criteria.
Once the prices are sorted, is some embodiments, two subsets of prices are created: (1) those that are less or equal than the overall average
U=(p k :p k≦
V=(p k′ :p k′>
The strategy, in some embodiments, is to allocate the closest prices to the overall average to the accounts that have the least demand, while the accounts with a greater demand will have a higher probability to receive prices that will compensate each other. If there are multiple accounts with the same demanded quantity, they will receive one lot size at a time from the same executed price till the corresponding executed quantity is exhausted. The general algorithm is described below algorithm is described below by Formulas (23)-(30):
Where Formulas (23)-(27) are reiterated from j←1 to n and result in an initialization of the current local average price for which there is an executed quantity available, and search for the price which provides the least impact on the local average (in both subsets U and V). At this point, processing 304 is complete and a solution for the larger integer allocation problem has been found. This solution is used as an initial base for the optimization of 306.
and |Δj| is the absolute value of Δj.
Note that at each step the value of the objective function does not need necessarily to be less than at the previous step (that would be a simple Greedy or Steepest Ascent strategy). Using a Simulating Annealing approach, the algorithm allows relaxation, for escaping from the trap of local optimums, and for redirecting the search, within the space of the solutions, toward the global optimum proximity.
However, allowing relaxation opens the possibility of cycling. Introducing a Tabu List, the search acquires a short-term memory, which prevents going back down the paths that have been already explored. In some embodiments, the Tabu List stores a triad of data, including: account FROM, account TO, and price AT.
If Formula (37) is satisfied, then processing stops and the best solution has been found. As with the majority of the heuristic algorithms, the reach of the optimum is not necessarily guaranteed. Nevertheless, Applicant's testing have showed significant and consistent improvements processing at 306 is completed (as compared to the results provided at the end of processing at 304). In this manner, pursuant to some embodiments, a system, method, means and computer program code for determining a pair of accounts between which one lot size has to be swapped, includes operating a Tabu search in the space of solutions, performing a simulated annealing technique in conjunction with the Tabu Search, and combining the two techniques to solve an integer allocation problem.
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/591,878 US8645269B2 (en) | 2005-04-01 | 2012-08-22 | Methods and apparatus for optimizing the distribution of trading executions |
US14/167,540 US20140149274A1 (en) | 2005-04-01 | 2014-01-29 | Methods and apparatus for optimizing the distribution of trading executions |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US66747405P | 2005-04-01 | 2005-04-01 | |
US11/394,854 US8255321B2 (en) | 2005-04-01 | 2006-03-30 | Methods and apparatus for optimizing the distribution of trading executions |
US13/591,878 US8645269B2 (en) | 2005-04-01 | 2012-08-22 | Methods and apparatus for optimizing the distribution of trading executions |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/394,854 Continuation US8255321B2 (en) | 2005-04-01 | 2006-03-30 | Methods and apparatus for optimizing the distribution of trading executions |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/167,540 Continuation US20140149274A1 (en) | 2005-04-01 | 2014-01-29 | Methods and apparatus for optimizing the distribution of trading executions |
Publications (2)
Publication Number | Publication Date |
---|---|
US20120317012A1 US20120317012A1 (en) | 2012-12-13 |
US8645269B2 true US8645269B2 (en) | 2014-02-04 |
Family
ID=37071745
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/394,854 Active 2026-08-20 US8255321B2 (en) | 2005-04-01 | 2006-03-30 | Methods and apparatus for optimizing the distribution of trading executions |
US13/591,878 Active US8645269B2 (en) | 2005-04-01 | 2012-08-22 | Methods and apparatus for optimizing the distribution of trading executions |
US14/167,540 Abandoned US20140149274A1 (en) | 2005-04-01 | 2014-01-29 | Methods and apparatus for optimizing the distribution of trading executions |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/394,854 Active 2026-08-20 US8255321B2 (en) | 2005-04-01 | 2006-03-30 | Methods and apparatus for optimizing the distribution of trading executions |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/167,540 Abandoned US20140149274A1 (en) | 2005-04-01 | 2014-01-29 | Methods and apparatus for optimizing the distribution of trading executions |
Country Status (1)
Country | Link |
---|---|
US (3) | US8255321B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7827092B2 (en) * | 2005-04-13 | 2010-11-02 | Interactive Brokers Llc | System and method for trading financial instruments using multiple accounts |
US7689500B2 (en) * | 2006-10-02 | 2010-03-30 | Liffe Administration And Management | System and method for facilitating trading in an electronic market |
CN111747010B (en) * | 2019-11-06 | 2022-06-07 | 北京京东乾石科技有限公司 | Item sorting method and device, electronic device and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6321212B1 (en) * | 1999-07-21 | 2001-11-20 | Longitude, Inc. | Financial products having a demand-based, adjustable return, and trading exchange therefor |
US20030055614A1 (en) * | 2001-01-18 | 2003-03-20 | The Board Of Trustees Of The University Of Illinois | Method for optimizing a solution set |
US20030115090A1 (en) * | 2001-12-17 | 2003-06-19 | Shahid Mujtaba | Method to define an optimal integrated action plan for procurement, manufacturing, and marketing |
US20030236738A1 (en) * | 1999-07-21 | 2003-12-25 | Jeffrey Lange | Replicated derivatives having demand-based, adjustable returns, and trading exchange therefor |
US6850907B2 (en) * | 1996-12-13 | 2005-02-01 | Cantor Fitzgerald, L.P. | Automated price improvement protocol processor |
US20060069635A1 (en) * | 2002-09-12 | 2006-03-30 | Pranil Ram | Method of buying or selling items and a user interface to facilitate the same |
US7024387B1 (en) * | 1999-07-23 | 2006-04-04 | Robert Scott Nieboer | Automated system for conditional order transactions in securities or other items in commerce |
-
2006
- 2006-03-30 US US11/394,854 patent/US8255321B2/en active Active
-
2012
- 2012-08-22 US US13/591,878 patent/US8645269B2/en active Active
-
2014
- 2014-01-29 US US14/167,540 patent/US20140149274A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850907B2 (en) * | 1996-12-13 | 2005-02-01 | Cantor Fitzgerald, L.P. | Automated price improvement protocol processor |
US6321212B1 (en) * | 1999-07-21 | 2001-11-20 | Longitude, Inc. | Financial products having a demand-based, adjustable return, and trading exchange therefor |
US20030236738A1 (en) * | 1999-07-21 | 2003-12-25 | Jeffrey Lange | Replicated derivatives having demand-based, adjustable returns, and trading exchange therefor |
US7024387B1 (en) * | 1999-07-23 | 2006-04-04 | Robert Scott Nieboer | Automated system for conditional order transactions in securities or other items in commerce |
US20030055614A1 (en) * | 2001-01-18 | 2003-03-20 | The Board Of Trustees Of The University Of Illinois | Method for optimizing a solution set |
US20030115090A1 (en) * | 2001-12-17 | 2003-06-19 | Shahid Mujtaba | Method to define an optimal integrated action plan for procurement, manufacturing, and marketing |
US20060069635A1 (en) * | 2002-09-12 | 2006-03-30 | Pranil Ram | Method of buying or selling items and a user interface to facilitate the same |
Also Published As
Publication number | Publication date |
---|---|
US20140149274A1 (en) | 2014-05-29 |
US8255321B2 (en) | 2012-08-28 |
US20120317012A1 (en) | 2012-12-13 |
US20060224495A1 (en) | 2006-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8335738B2 (en) | System and method for a hybrid clock and proxy auction | |
US8768811B2 (en) | Class-based distributed evolutionary algorithm for asset management and trading | |
US8918349B2 (en) | Distributed network for performing complex algorithms | |
US20150073966A1 (en) | Method And Apparatus For Processing And Routing Transactions | |
US8583544B2 (en) | Systems and methods for facilitating electronic securities transactions | |
US8521627B2 (en) | Systems and methods for facilitating electronic securities transactions | |
MacKie-Mason et al. | Automated markets and trading agents | |
Borjigin et al. | In broker we trust: A double-auction approach for resource allocation in NFV markets | |
US7606763B2 (en) | Systems and methods for improving auction liquidity | |
Liagkouras et al. | Efficient portfolio construction with the use of multiobjective evolutionary algorithms: Best practices and performance metrics | |
US20140258175A1 (en) | Generating Personalized Investment Recommendations | |
US20180218449A1 (en) | Bundles for an efficient auction design | |
US20040059655A1 (en) | Optimization method and system | |
US20060085319A1 (en) | Methods and apparatus for routing options orders | |
US11354742B2 (en) | Fee/rebate contingent order matching system and method | |
US20060036532A1 (en) | Methods and apparatus for executing small size orders | |
US8645269B2 (en) | Methods and apparatus for optimizing the distribution of trading executions | |
US20070150397A1 (en) | Search engine for stock investment strategies | |
CN104321800B (en) | Price target maker | |
Streltchenko et al. | Multi-agent simulation of financial markets | |
Goldstein et al. | Manipulation, the allocational role of prices and production externalities | |
US20240211974A1 (en) | System and Method for Collecting, Organizing, And Curating Customer Engagements Across Multiple Domains to Provide Contextual Nurturing and Alignment of Customer Journeys to Business Objectives | |
EP4343666A1 (en) | System, method and apparatus for optimization of financing programs | |
US20140172613A1 (en) | System and method for a hybrid clock and proxy auction | |
Meister | An Investigation of Conversational Artificial Intelligence Platforms (CAIP) in the Banking/Finance Industry-Practical and Innovative Future Recommendations in the Form of Artificial Intelligence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOLDMAN, SACHS & CO., NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VINTE, CLAUDIU;REEL/FRAME:031558/0841 Effective date: 20060401 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: GOLDMAN SACHS & CO. LLC, NEW YORK Free format text: CHANGE OF NAME;ASSIGNOR:GOLDMAN, SACHS & CO.;REEL/FRAME:043177/0001 Effective date: 20170428 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |