In the financial industry, and in particular, the derivative instrument markets, delta is defined as the ratio of a change in the price of an underlying instrument, e.g. a commodity, equity, security, contract, or other asset or combination thereof, referred to as an “underlier” or “underlying asset,” to the change in the price of a derivative instrument, e.g. an options contract, based thereon, such as the ratio of a change in the price of a futures contract to the change in the price of an option contract on that futures contract. A portfolio comprising multiple instruments, derivative or otherwise, also referred to as “positions,” may be characterized by an overall delta based on the deltas of the portfolio's constituent instruments and the parameters thereof. In particular, the portfolio may be characterized as being “delta neutral” when the deltas of the various constituent instruments are offsetting, e.g. some positive and some negative such that the net delta is zero. When the delta of an instrument/position or a portfolio is positive, the position or portfolio may be characterized as being over-hedged and when the delta of an instrument/position or a portfolio is negative, the position or portfolio may be characterized as being under hedged. Either situation may be undesirable or otherwise sub-optimal depending upon the trader's trading strategy as the level of risk offset is either less than what the trader desired or is more than the trader needs, resulting in unnecessary and/or undesired risk and/or cost.
Delta hedging refers to an options strategy that aims to reduce, i.e. hedge, the risk associated with price movements in an underlying asset by offsetting long and short positions therein, i.e. purchases and sales. For example, a long call option position on a stock may be delta hedged by selling the underlying stock. This strategy is based on the change in premium (the price of the option) caused by a change in the price of the underlying security. The change in premium for each basis-point change in the price of the underlying asset is the delta and the relationship between the two movements is the hedge ratio, i.e. the ratio, determined by an option's delta, of futures contracts to options on futures contracts required to establish a riskless position. For example, if a $1/barrel change in the underlying Oil futures price leads to a $0.25/barrel change in the options premium, the hedge ratio is four (four options for each futures contract).
To facilitate delta hedging, or other trading strategies where a trader wishes to manage the delta of their portfolio or otherwise hedge risk in their trading strategy, an Exchange, such as the Chicago Mercantile Exchange, may offer products or mechanisms to allow a trader to make trades which result in a desired delta specified by the trader. This resultant delta, for example, in combination with other positions in their portfolio, may result in an overall delta neutral portfolio or, alternatively, an overall desired delta value for the portfolio.
For example, the Exchange may offer, as a product or service, a “covered trade,” also referred to as a “delta neutral” trade, which is a spread that includes both the option contract, i.e. the derivative, and a futures contract, i.e. the underlier, entered as a single order for the covered option at a delta specified by the user, whereby the Exchange will calculate and provide/assign the appropriate quantity of futures contracts automatically to achieve the specified delta based on the quantity of option contracts specified in the order. For example: if the trader places an order to buy a covered call option or sell a covered put option, the Exchange will assign the trader with an order to sell one or more futures contracts; and if the trader places an order to buy a covered put option or sell a covered call option, the Exchange will assign the trader with an order to buy one or more futures contracts; etc. Note that another trader submitting the matching counter order will be assigned the counter position in the futures contracts as well.
The quantity of futures contracts is computed and the futures contracts are assigned, typically, at the time that the options order is matched with another order counter thereto. The number of futures contracts assigned is based on the quantity of options contracts filled and may be calculated as the quantity of options contracts filled multiplied by the desired delta. For example, if a trader places an order for a covered trade of 100 options at a delta of 0.30 and if the order completely matches with a counter order of the same quantity (for purposes of the discussion herein, the fact that the order “matches” implies that all of the other requisite parameters of the two orders are aligned), then the number of futures contracts assigned to the trade will be 30, i.e. 100×0.30. If the counter order is only for a quantity of 10, then the number of futures contracts assigned to the trade will be 3, i.e. 10×0.30, and the remaining quantity of 90 will remain on the order book “resting” and waiting for another counter order to be received which, at that time, will be assigned additional futures contracts depending upon the quantity filled.
When assigning futures contracts to a trade, as described above, the calculation of the number of futures contracts to assign may result in a fractional number of futures contracts, e.g. an order for 10 options at a delta of 0.25 will result in the assignment of 2.5 futures contracts. As used herein, the terms fraction, decimal fraction, fractional futures contract and fractional number of futures contracts refers to the fractional part of the decimal number, i.e. the digits to the right of the decimal point, in the result of a computation of the futures contract component of a covered trade. For example, where the computed number of futures contracts is 2.25, the fractional number of futures contracts is 0.25.
Exchange rules may prevent the assignment of fractional futures contracts, allowing only transactions in whole number quantities. Accordingly, the computed number of futures contracts assigned to a given trade may be approximated, e.g. rounded up or down to the nearest whole number of futures contracts wherein the threshold for when to round up or down is implementation dependent and may be a static or a dynamic threshold. For example, any value less than x.5 will be rounded down, e.g. to x, and any value greater than or equal to x.5 will be rounded up, e.g. to x+1. Rounding is the process of approximating a quantity, be it for convenience or, as in the case of numerical computations, of necessity. Roundoff error is the difference between an approximation of a number used in computation and its exact (correct) value. In certain types of computations, roundoff error can be magnified as any initial errors are carried through one or more intermediate steps. Herein, roundoff error resulting from the whole number approximation of a computed number of futures contracts, i.e. the difference between the computed number of futures contracts and the whole number approximate thereof, will be referred to as the number or quantity of residual futures contracts and may be a positive or negative number.
In the above example, the trade for 10 options at a delta of 0.25 may result in 3 futures contracts being assigned, i.e. 2.5 rounded up to 3, with 0.5 residual futures contracts. Alternatively, a trade of 5 options at a delta of 0.25 may result in 1 futures contract being assigned, i.e. 1.25 rounded down to 1, with −0.25 (negative 0.25) residual futures contracts. In either case, the trader ends up with a delta greater than or less than the desired delta and is therefore either over- or under-hedged, i.e. used herein a positive residual futures contracts value is indicative of the trader being over-hedged and a negative residual futures contracts value is indicative of the trader being under-hedged.
Since large resting orders may be filled by numerous smaller counter orders, these unallocated residual futures contracts may accumulate. In some cases, the trader submitting the counter order may be assigned no futures contracts, e.g. if a trader submits 100 orders, each for a quantity of 1 which all trade against a resting order for a quantity of 100 at a specified delta of 0.25, each trade will result in 0 futures (0.25 rounded down) and, upon complete fulfillment of the resting order, the trader who submitted the resting order and was expecting 25 futures contracts, i.e. 100×0.25, will end up with none. Accordingly, the trader who placed the order for 100 at delta 0.25 ends up with an unhedged position as no futures contracts were assigned.
Such activity may be intentional, such as by a trader trying to game the market to gain an advantage, or unintentional, such as by a trader unaware of the consequences of their orders or as a result of automated orders submitted by an algorithmic trading system based on some internal formula, and may result in discouraging traders from placing orders for covered trades. For example, a trader may wish to avoid the futures contract component of a covered trade in order to take advantage of a change in the futures contract as compared to the covered options contract, on that futures contract, prices, such as to hedge the options contracts on their own, in particular when the options price in the covered market is attractive and not otherwise available in the outright, i.e. non-covered, market and the transaction costs are the same.
To impart fairness and predictability as well as encourage the use of covered trades, an Exchange could restrict the quantities and/or specified deltas of covered orders to ensure that the computation of the number of futures contracts assigned to a trade always results in a whole number of futures contracts assigned. For example, if the resting covered order is for a quantity 100 at a delta of 0.25, incoming orders counter thereto may be restricted to quantities which are multiples of four. This is referred to as “clip size.” In an alternative implementation, all covered orders, whether matching or not, may be constrained, in some manner, to ensure that a whole number of futures contracts are assigned. However, as will be appreciated, rounding is still occurring but it is being performed by the trader who must adjust their order prior to submission to comply with the restrictions of the Exchange. Accordingly, a trader still may end up with an undesirable or sub-optimal hedge position.
Another alternative method to implement covered trades in a fair manner is to monitor resting covered orders and, as incoming orders, from any trader for less than the resting quantity, are matched against the resting order, residual futures contracts remaining after rounding, up or down, are accumulated until a whole futures contract results. Instructions to cancel or modify the resting order may reset the tracking of accumulated residual futures contracts. Each accumulated whole futures contract is then assigned to, or deducted from, the current incoming matching order, depending on the implementation. However, waiting until a whole futures contract is accumulated, and then re-starting the accumulation thereafter, may result in an unreasonable proportion of futures contract assignments involving traders who unknowingly submit the last incoming order that triggers the assignment, while other traders who know when the accumulation has been re-started can submit an order without being assigned a futures contract. Accordingly, as with the previous method, a particular trader may be unfairly over- or under-hedged as compared to other traders.
In Exchanges which permit matching of incoming covered orders from various traders for quantities less than the quantity of a resting covered order, the disclosed embodiments implement a substantially fair allocation of fractional futures contracts among the various participating traders, which is desirable to minimize the occurrence of any one participating trader being over or under-hedged as a result of their trades as compared to the other participating traders. However: as rounding of assigned futures contracts is generally a requirement of the Exchange; restriction of order quantities and delta values is undesirable; and submission of sufficient matching orders to account for a fractional futures contract result cannot be guaranteed, the occurrence of one trader ending up over- or under-hedged may not be entirely eliminated.
The disclosed systems and methods relate, therefore, to minimizing or otherwise reducing the frequency of an over- or under-fill of a futures contract component of a covered/delta neutral trade, i.e. for accounting for roundoff error and adjusting or correcting the hedge position of a trader to more closely approximate a desired hedge position. In one embodiment, this is accomplished by accumulating or tracking the fractional futures contracts components that are rounded up or down when computing the futures contract component for a covered trade (Δ×quantity=futures contract component). When existing counter-parties enter trades with a resting order, any previously over- or under-hedged futures contract positions are included, either added or deducted, when determining the expected futures contract component of the current trade. In some cases, under- or over-hedged positions will be tracked for each trader. In another embodiment, the fractional futures contract components are accumulated or compiled not for each trader, but for all incoming trades to be matched with a resting order. The sum of all of the fractional futures contract components may be considered a compilation or accumulation because, for example, the sum is not reset or restarted each time that one or more futures contracts are assigned. For each subsequent trade, the determination of the futures contract component is based on the compiled futures contract quantity accumulated from the first incoming trade. In these ways, the disclosed embodiments attempt to be more equitable in the allocation of futures contracts, favoring neither party.
In particular, in an Exchange which assigns only a whole number/integer representation (e.g., approximate) of a computed number of futures contracts to a covered order for one or more option contracts, the disclosed embodiments may factor a fractional or residual number of futures contracts, remaining after fulfillment of an incoming covered order counter to a resting covered order for a quantity of options contracts less than the resting quantity and approximation of the computed number of futures contracts assigned thereto, into the approximation of the computed number of futures contracts assigned to fulfillment of a subsequent order from the same trader counter to the same resting order for less than or equal to the remaining resting quantity of options contracts. These and other embodiments may alternatively or additionally factor a cumulative or otherwise composite number of futures contracts into the approximation of the computed number of futures contracts assigned or allocated to a subsequent order. This may have the effect of increasing or decreasing the number of futures contracts assigned to the subsequent order.
The Exchange 108 provides the functions of matching 110 buy/sell transactions, such as orders to buy or sell covered instruments, clearing 112 those transactions, settling 114 those transactions and managing risk 116 among the market participants 104106 and between the market participants and the Exchange 108, as well as allocating and assigning underlying instruments to covered orders, as is discussed in more detail below.
While the disclosed embodiments relate to the trading of covered options on futures contracts, the mechanisms and methods described herein are not limited thereto and may be applied to any covered product, e.g. any derivative financial product/instrument wherein the order thereofore further includes a specification of a ratio, by the trader, of the ordered quantity of the derivative financial product thereof to a quantity of the underlying financial product, wherein the Exchange computes and assigns the requisite quantity of the underlying financial product.
Typically, the Exchange 108 provides a “clearing house” which is a division of the Exchange 108 through which all trades made must be confirmed, matched and settled each day until offset or delivered. The clearing house is an adjunct to the Exchange 108 responsible for settling trading accounts, clearing trades, collecting and maintaining performance bond funds, regulating delivery and reporting trading data. Essentially mitigating credit. Clearing is the procedure through which the Clearing House becomes buyer to each seller of, for example, a futures contract, and seller to each buyer, also referred to as a “novation,” and assumes responsibility for protecting buyers and sellers from financial loss by assuring performance on each contract. This is effected through the clearing process, whereby transactions are matched. A clearing member is a firm qualified to clear trades through the Clearing House. In the case of the CME's clearing house, all clearing members not specifically designated as Class B members are considered Class A clearing members. In the CME there are three categories of clearing members: 1) CME clearing members, qualified to clear transactions for all commodities; 2) IMM clearing members, qualified to clear trades for only IMM and TOM commodities; and 3) IMM Class B clearing members, solely limited to conducting proprietary arbitrage in foreign currencies between a single Exchange-approved bank and the IMM and who must be guaranteed by one or more Class A non-bank CME or IMM clearing member(s). Note that a “member” is a broker/trader registered with the Exchange. It will be appreciated that such classifications are implementation dependent.
In the presently disclosed embodiments, the Exchange 108 assumes an additional role as an allocation processor for the underlying instruments for a covered order, i.e., the Exchange 108 will compute and assign the requisite quantity of the underlying instrument to achieve the specified delta. As used herein, the term “Exchange” 108 will refer to the centralized clearing and settlement mechanisms, risk management systems, etc., as described below, used for futures contracts, as well as options thereon, trading, including the described enhancements to facilitate covered transactions.
While the disclosed embodiments will be described in reference to the CME, it will be appreciated that these embodiments are applicable to any Exchange 108, including those which trade in equities and other securities. The CME Clearing House clears, settles and guarantees all matched transactions in CME contracts occurring through its facilities. In addition, the CME Clearing House establishes and monitors financial requirements for clearing members and conveys certain clearing privileges in conjunction with the relevant exchange markets.
As an intermediary, the Exchange 108 bears a certain amount of risk in each transaction that takes place. To that end, risk management mechanisms protect the Exchange via the Clearing House. The Clearing House establishes clearing level performance bonds (margins) for all CME products and establishes minimum performance bond requirements for customers of CME products. A performance bond, also referred to as a margin, is the funds that must be deposited by a customer with his or her broker, by a broker with a clearing member or by a clearing member with the Clearing House, for the purpose of insuring the broker or Clearing House against loss on open futures or options contracts. This is not a part payment on a purchase. The performance bond helps to ensure the financial integrity of brokers, clearing members and the Exchange as a whole. The Performance Bond to Clearing House refers to the minimum dollar deposit which is required by the Clearing House from clearing members in accordance with their positions. Maintenance, or maintenance margin, refers to a sum, usually smaller than the initial performance bond, which must remain on deposit in the customer's account for any position at all times. The initial margin is the total amount of margin per contract required by the broker when a futures position is opened. A drop in funds below this level requires a deposit back to the initial margin levels, i.e. a performance bond call. If a customer's equity in any futures position drops to or under the maintenance level because of adverse price action, the broker must issue a performance bond/margin call to restore the customer's equity. A performance bond call, also referred to as a margin call, is a demand for additional funds to bring the customer's account back up to the initial performance bond level whenever adverse price movements cause the account to go below the maintenance.
The accounts of individual members, clearing firms and non-member customers doing business through CME must be carried and guaranteed to the Clearing House by a clearing member. In every matched transaction executed through the Exchange's facilities, the Clearing House is substituted as the buyer to the seller and the seller to the buyer, with a clearing member assuming the opposite side of each transaction. The Clearing House is an operating division of the Exchange 108, and all rights, obligations and/or liabilities of the Clearing House are rights, obligations and/or liabilities of CME. Clearing members assume full financial and performance responsibility for all transactions executed through them and all positions they carry. The Clearing House, dealing exclusively with clearing members, holds each clearing member accountable for every position it carries regardless of whether the position is being carried for the account of an individual member, for the account of a non-member customer, or for the clearing member's own account. Conversely, as the contra-side to every position, the Clearing House is held accountable to the clearing members for the net settlement from all transactions on which it has been substituted as provided in the Rules.
As shown in
In particular,
Generally, in one embodiment, the system operates on orders for covered instruments as they are received by the Exchange 108. In an alternative embodiment, the disclosed algorithms may be applied in batch, such as at the end of the trading day based on the orders placed and matched during a defined time period. Such batch processing may be used in connection with a randomization module described below, the implementation of which may delay or otherwise change the timing of an allocation relative to other incoming orders.
In particular, in one embodiment, when an order is received for a covered instrument, e.g. Product X for a quantity QTYZ and a trader specified delta value of A, from a particular trader 104, e.g. Trader Z, the Exchange 108, via the match engine 110, will determine if the order is counter to an existing order, i.e. a resting order that was previously received but not filled, i.e. not completely satisfied, if at all, by a counter order. Processing of received orders which match against a resting order is described below. Assuming, however, that this received order for Product Z from Trader Z is not counter to an existing order, the Exchange 108 will place the order on the order book to rest, with a resting quantity of QTYZ rest equal to the order quantity QTYZ, and await a subsequent counter order from the same or another trader. The Exchange 108 further notifies the Covered Product Allocation Processor 118 which, for Product X and delta value A, resets the tracked residual quantity values Residualn, described in more detail below, for all traders1-n 104 to 0 in the residual database 210. In an alternative embodiment, residual quantity values for traders1-n 104, or a subset thereof, may be carried forward to be factored into other transactions.
When a subsequent incoming order for Product X, quantity QTYincoming and a specified delta value, is received from another trader 104, e.g. Trader T, the Exchange 108 determines if it is counter to, i.e. matches, the resting order that was previously received, e.g. the subsequent order is for the same product at the same delta value. The trader 104 may be identified, for example, by the Sender-Sub ID field of the trade order request. If the subsequent order does not match, it is treated as described above and placed on the order book to rest. However, where the subsequent order matches the previous order, the quantity of the subsequent order is compared against the resting quantity by the allocation processor 118. It will be appreciated that this process is iterative and that multiple orders may be received from one or more traders and matched against the resting order until the resting quantity is depleted, i.e. the resting order is completely filled.
If the quantity of the incoming order QTYincoming is greater than the resting quantity QTYZ rest, the resting order is filled and the remaining unfilled portion of the incoming order for Product X at delta value Δ from Trader T is placed on the order book to rest with a resting quantity of QTYT rest=QTYincoming−QTYZ rest. Further, the trade is assigned a quantity of futures contracts, as was described above, the quantity ExpFuturesrest being computed as round (QTYZ rest×Δ). In this situation, in one embodiment, any residual fractional quantity of futures contracts resulting from the calculation is discarded. Alternatively, this residual quantity may be stored, i.e. carried forward, in association with either Trader Z, the trader 104 of the resting order, or Trader T, the trader 104 of the incoming order, to be factored into a future computation of assigned futures contracts. The system then returns to a state to await the next order, either counter to the new resting order or for a new Product X and/or specified delta value.
If the quantity of the incoming order QTYincoming is less than or equal to the resting quantity QTYZ rest, the allocation processor computes the quantity of futures contracts that would be assigned based on the resting order quantity QTYZ rest and the quantity of futures contracts that would be assigned based on the incoming order quantity QTYincoming both referred to as the “expected” futures contracts. The quantity of expected futures contracts for the resting order ExpFuturesrest is computed as round (QTYZ rest×A) which is the value that a trade would be assigned if the resting order were completely filled. In one embodiment, the quantity of expected futures contracts for the incoming order ExpFuturesincoming is computed as Round ((QTYincoming×Δ)+ResidualT) where ResidualT is the residual quantity of futures contracts carried forward for Trader T from a prior trade by Trader T for this same product and delta value, described in more detail below. If this is the first trade by Trader T against the resting order, the residual quantity ResidualT will be zero. The residual quantity ResidualT may be a positive or negative value and may result in raising or lowering the quantity of futures contracts assigned to the present trade. The quantity of futures contracts assigned to the present trade will then be the lesser of the quantity of expected futures contract for the resting order, ExpFuturesrest, or the quantity of the expected futures contract for the incoming order, ExpFuturesincoming.
In some embodiments, the allocation processor 118 then computes the residual quantity of futures contracts Residualincoming that were not assigned due to the rounding function as ((QTYincoming×Δ)+ResidualT)−ExpFuturesincoming. Residualincoming may be, as described above, zero, a positive or negative number. This residual quantity is then stored as ResidualT in a database 210 in association with the trader 104, Trader T, of the incoming order to be carried forward, described above, for a subsequent trade by Trader T for the same product/same delta. It will be appreciated that, at any given time, as noted above, multiple traders may have residual quantities stored in the database 210 for the particular Product and delta. Where the incoming order completely fills the resting order, the computation of the residual quantity of futures contracts Residualincoming that were not assigned due to the rounding function may be avoided as, at least in one embodiment, the residual values stored in the database 210 are reset regardless as described below. In other embodiments, a fractional quantity representative of the cumulative expected futures contracts for the incoming orders may be stored in the database 210 in association with the resting order rather than any one particular trader. Further details regarding the computation and use of the fractional quantity of cumulative futures contracts are set forth below.
If the resting order is completely filled, the system returns to the state of awaiting the next order. Since the resting order is no longer on the order book, as described above, subsequent order for the same product at the same delta value will be considered a new order not matched against a resting order and any residual quantity values stored therefore will be reset. However, if the resting order is not completely filled, the system simply awaits the next matching order from the same trader or another trader and applies any carried forward residual quantity, as described above, for the particular trader, or any fractional quantity, as described below. It should be noted that while an order is resting, the trader 104 who submitted that order may modify the resting quantity QTYZ rest. Such modifications do not affect the above calculations as the new quantity is merely factored into the calculations, as described above, at the time a matching order is received.
Referring back to
The underlier component processor 204, which may be implemented as second logic stored in the memory and executable by the processor, is operative to compute a first quantity of the underlying financial product, based on the quantity of the derivative financial product of the first order, to substantially achieve the specified ratio. In one embodiment, the first quantity of the underlying financial product is computed as the quantity of the derivative financial product of the first order multiplied by the specified ratio.
The approximation processor 206, which may be implemented as third logic stored in the memory and executable by the processor, is operative to approximate the first quantity of the underlying financial product to determine a first whole number quantity of the underlying financial product and assign the first whole number quantity of the underlying financial product to the first order when the first order is fulfilled. In one embodiment, the approximation of the first quantity of the underlying financial product further comprises rounding the first quantity of the underlying financial product wherein the residual quantity of the underlying financial product is computed as a difference between the first quantity of the underlying and financial product and the rounded first quantity of the underlying financial product.
The residual processor 208, which may be implemented as fourth logic stored in the memory and executable by the processor, is operative to compute a residual quantity of the underlying financial product remaining after fulfillment of the first order and approximation of the first quantity of the underlying financial product and wherein the residual processor is further operative to store, in a database 210 coupled therewith, the residual quantity of the underlying financial product in association with the trader 104. In one embodiment, the residual quantity may be one of zero, a positive number or a negative number. Further, the database 210 may be the same database 120 in which the Exchange 108 stores account information for the market participants 104106 or may be a separate database 210. The data stored in the database 210 may be in the form of a record associating an identification of the Trader 104, an identification of the particular derivative financial product and the residual quantity. A given Trader1-n 104 may have multiple records, each for a different derivative financial product. Alternatively, the database 210 may include only a single record structure for each Trader1-n 104 which includes an identifier of each traded derivative financial product and the residual quantity associated therewith. It will be appreciated that the structure of the database 210 may be implementation dependent.
The allocation processor 118 is further operative to receive a second order of the plurality of orders subsequent to the first order via the order interface 202, the second order being for a quantity of the derivative financial product not exceeding the quantity of the derivative financial product of the previous order remaining after fulfillment of the first order. In some embodiments, in response to receipt of the second order, the allocation processor is further operative to determine the identity of the trader 104 who submitted the second order and access the database 210 based thereon to retrieve the stored residual quantity of the underlying financial product associated therewith.
The underlier component processor 204 is further operative to compute a second quantity of the underlying financial product based on the quantity of the derivative financial product of the second order and the retrieved stored residual quantity of the underlying financial product to substantially achieve the specified ratio.
The approximation processor 206 is further operative to approximate the second quantity of the underlying financial product to determine a second whole number quantity of the underlying financial product and assign the second whole number quantity of the underlying financial product to the second order when the second order is fulfilled. As described above, the underlier component processor 204 may compute the second quantity of the underlying financial product twice, once based on the remaining quantity of the first order and again based on the quantity of the derivative financial product of the second order and the retrieved stored residual quantity, wherein the approximation processor 206 may assign lesser of the approximated results of the two computations.
As discussed above, the second whole number quantity of the underlying financial product assigned to the second order may be different than an approximation of the second quantity of the underlying financial product not including the stored residual quantity of the underlying financial product.
In one embodiment, wherein the second order is for a quantity of the derivative financial product less than the quantity of the previous order remaining after fulfillment of the first order, the allocation processor 118 may be further operative to receive a third order of the plurality of orders subsequent to the second order via the order interface 202, the third order being for a quantity greater than the quantity of the previous order remaining after fulfillment of the first and second orders. This order may be received from the same trader who submitted the second order or from a different trader. In response thereto, the underlier component processor 204 may be further operative to compute a third quantity of the underlying financial product, based on the quantity of the derivative financial product of the previous order remaining after fulfillment of the first and second orders, to substantially achieve the specified ratio. Further, the approximation processor 206 may be further operative to approximate the third quantity of the underlying financial product to determine a third whole number quantity of the underlying financial product and assigning the third whole number quantity of the underlying financial product to the third order when the third order is fulfilled; and the residual processor 208 may be further operative to reset, in the database 210, any residual quantity of the underlying financial product stored in association with the trader based on trades counter to the previously received order since the remaining quantity of the previous order has now been filled. As discussed, the excess quantity of the third order above the quantity remaining of the previous order may now be placed on the order book to rest, i.e. await a subsequent counter order.
As was described above, the allocation processor 118 may be further operative to receive, subsequent to receipt of the first order and prior to receipt of the second order, a modification to the previous order via the order interface which modifies the quantity of the derivative financial product thereof remaining after fulfillment of the first order. In this case, the modified quantity is used in subsequent calculations.
When the second order is for a quantity of the derivative financial product less than the quantity of the previous order remaining after fulfillment of the first order, the residual processor 208 may be further operative to compute the residual quantity of the underlying financial product remaining after fulfillment of the second order and approximation of the second quantity of the underlying financial product, and store in the database 210 coupled therewith, the residual quantity of the underlying financial product in association with the trader who submitted the second order. Thereby, the residual quantity of the underlying financial product is carried forward to be factored into a subsequent trade by the same trader counter to the resting order, should one be submitted.
In particular,
The operation includes: receiving, by an allocation processor 118, such as via an order interface 102, a first order of the plurality of orders, the first order being for a quantity of the derivative financial product less than the quantity of the derivative financial product of the previously received order (block 302); and computing, by the allocation processor, a first quantity of the underlying financial product, based on the quantity of the derivative financial product of the first order, to substantially achieve the specified ratio (block 304). In one embodiment, the first quantity of the underlying financial product may be computed as the quantity of the derivative financial product of the first order multiplied by the specified ratio.
The operation further includes approximating, by the allocation processor, the first quantity of the underlying financial product to determine a first whole number quantity of the underlying financial product (block 306) and assigning the first whole number quantity of the underlying financial product to the first order when the first order is fulfilled (block 308). In one embodiment, the approximating of the first quantity of the underlying financial product may include rounding the first quantity of the underlying financial product wherein the residual quantity of the underlying financial product is computed as a difference between the first quantity of the underlying and financial product and the rounded first quantity of the underlying financial product.
The operation further includes computing, by the allocation processor, a residual quantity of the underlying financial product remaining after fulfillment of the first order and approximation of the first quantity of the underlying financial product (block 310), wherein, in one embodiment, the residual quantity may be one of zero, a positive number or a negative number.
The operation further includes: storing, by the allocation processor in a database coupled therewith, the residual quantity of the underlying financial product in association with the trader (block 312); receiving, by the allocation processor, a second order of the plurality of orders subsequent to the first order, the second order being for a quantity of the derivative financial product not exceeding the quantity of the derivative financial product of the previous order remaining after fulfillment of the first order (block 314); determining, by the allocation processor, the identity of the trader who submitted the second order (block 316) and accessing the database based thereon to retrieve the stored residual quantity of the underlying financial product associated therewith (block 318); computing, by the allocation processor, a second quantity of the underlying financial product based on the quantity of the derivative financial product of the second order and the retrieved stored residual quantity of the underlying financial product to substantially achieve the specified ratio (block 320); and approximating, by the underlying component processor, the second quantity of the underlying financial product to determine a second whole number quantity of the underlying financial product (block 322) and assigning the second whole number quantity of the underlying financial product to the second order when the second order is fulfilled (block 324). As described above, the second quantity of the underlying financial product may be computed twice, once based on the remaining quantity of the first order and again based on the quantity of the derivative financial product of the second order and the retrieved stored residual quantity, wherein the lesser of the approximated results of the two computations may be assigned. The second whole number quantity of the underlying financial product assigned to the second order may be different than an approximation of the second quantity of the underlying financial product not including the stored residual quantity of the underlying financial product.
In one embodiment, wherein the second order is for a quantity of the derivative financial product less than the quantity of the previous order remaining after fulfillment of the first order, operation of the disclosed system further includes: receiving, by the allocation processor, a third order of the plurality of orders subsequent to the second order, the third order being for a quantity greater than the quantity of the previous order remaining after fulfillment of the first and second orders; computing, by the allocation processor, a third quantity of the underlying financial product, based on the quantity of the derivative financial product of the previous order remaining after fulfillment of the first and second orders, to substantially achieve the specified ratio; approximating, by the allocation processor, the third quantity of the underlying financial product to determine a third whole number quantity of the underlying financial product and assigning the third whole number quantity of the underlying financial product to the third order when the third order is fulfilled; and resetting, by the allocation processor in the database, any residual quantity of the underlying financial product stored in association with the trader based on trades counter to the previously received order.
In one embodiment, wherein the second order is for a quantity of the derivative financial product less than the quantity of the previous order remaining after fulfillment of the first order, operation of the disclosed system further includes: computing, by the allocation processor, the residual quantity of the underlying financial product remaining after fulfillment of the second order and approximation of the second quantity of the underlying financial product; and storing, by the allocation processor in the database, the residual quantity of the underlying financial product in association with the trader.
In a networked deployment, the computer system may operate in the capacity of a server or as a client user computer in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment. The computer system 400 may also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions 424 (sequential or otherwise) that specify actions to be taken by that machine. In a particular embodiment, the computer system 400 may be implemented using electronic devices that provide voice, video or data communication. Further, while a single computer system 400 may be illustrated, the term “system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
By way of example, the disclosed embodiments may operate as follows:
Assume Resting Order Quantity=50 at Delta=0.20
Trade 1:
Trade 2:
Trade 3:
Trade 4:
Totals:
In this embodiment, the allocation processor 18 (
The operation shown in
The operation generally includes two stages. A first stage is directed to generating a composite quantity of the underlying financial product based on the orders received thus far, including the current trade being processed (block 400). As with the embodiments described above, the composite quantity is fractional, or non-rounded. For example, the composite quantity includes any residual quantity not allocated to a previous trade because only whole numbers of the underlying financial product can be assigned. The second stage is directed to determining an allocation quantity of the underlying financial product for the current trade based on the composite quantity (block 402).
The first stage of the operation begins with receiving, by the allocation processor 118, such as via the order interface 102, a subsequent order for a quantity of the derivative financial product less than the quantity of the derivative financial product of the previously received order, e.g., the resting order (block 404). The allocation processor 118 then continues by computing the quantity of the underlying financial product based on the quantity of the derivative financial product of the subsequent order and the specified ratio, e.g., of the resting order (block 406). As described above, the quantity may be computed as the product of the derivative financial product quantity and the specified ratio. The allocation processor 118 may then retrieve a composite quantity stored in, for instance, the database 210 (block 408). The composite quantity may be representative of the cumulative, non-rounded (e.g., fractional) quantity of the derivative financial product allocated thus far. With only the first order processed thus far, the composite quantity equals the fractional (e.g., non-rounded) quantity of the underlying financial product computed for the first order. The operation then includes the allocation processor 118 updating the composite quantity based on the computed fractional quantity of the underlying financial product for the second order and the composite quantity (block 410). The update may include adding the two quantities. The allocation processor 118 may then store the updated composite quantity in, for example, the database 210 (block 412).
The second stage of the operation begins with the allocation processor 118 approximating or otherwise rounding the composite quantity (block 414). For example, the composite quantity may be rounded to the nearest whole number. The rounding threshold may, but need not, be 0.5. The rounded composite quantity is then stored in, for example, the database 210 (block 416). The allocation processor 118 may then determine whether the rounded composite quantity is greater than the total quantity of the underlying financial product allocated or assigned thus far (decision block 418). If not, control passes to block 420, no underlying financial products are allocated or assigned in connection with this trade, and the operation ends. If the rounded composite quantity exceeds the total allocated quantity, then a quantity of the underlying financial product is then allocated or assigned to this trade based on the difference between the rounded composite quantity and the total assigned quantity (block 422). The allocation processor 118 may then update (e.g., compute and store) the total quantity of the underlying financial products allocated or assigned thus far (block 424).
The above-described operation tracks the fractional quantity of the underlying financial product in order to equitably allocate or assign quantities of the underlying financial product as aggressor orders are placed against a resting order. In an example in which futures contracts are the underlying financial product, at least one futures contracts is allocated to a respective aggressor order once the composite or cumulative fractional quantity of futures contracts accumulates to exceed, for example, the halfway point between whole numbers of futures contracts (e.g., 0.5, 1.5, 2.5, etc.). In other words, when the executed quantity of the resting option order results in an accumulated delta of 50 or more, at least one futures contract is allocated to the current aggressor order.
Once a futures contract is allocated according to the above-described procedure, the procedure may be repeated for each subsequent incoming order. The procedure may be implemented sequentially for each incoming order. For example, incoming orders may be processed on a first-in, first-out (FIFO) basis. Alternative embodiments may use other sequencing schemes, including, for instance, a batch scheme that groups a number of incoming orders and processes them in a random order. The allocation processor may be include a randomization module or be configured to implement a randomization block to vary the sequence scheme or order. Such variance may be useful to prevent a trader from timing an order based on knowledge of whether the preceding orders resulted in the allocation of a futures contract.
The cumulative order tracking of the above-described embodiments may be customized in a variety of other ways. The cumulative order tracking may be integrated with any one or more matching procedures to vary the manner in which, for instance, resting orders are introduced or handled. The order in which a resting order is entered may proceed in accordance with a FIFO ordering scheme in a default configuration. To introduce further variance in the operation of the system, the disclosed systems and methods may be implemented with a matching algorithm that implements a different ordering scheme.
The cumulative order tracking of the above-described embodiments may integrated with clip size and quantity requirements. The allocation processor 118 may be configured to reject an order that does not meet a minimum clip size requirement or does not meet a minimum quantity requirement. The minimum quantity requirement may, but need not, be driven by the size of the resting order and the delta value.
By way of example, the embodiment shown in
Assume Resting Order Quantity=42 at Delta=0.15 for a total of 6 expected futures contracts (42*0.15=6.3).
Trade 1:
Trade 2:
Trade 3:
Trade 4:
Trade 5:
Trade 6:
Totals:
As illustrated in
The computer system 400 may include a memory 404 that can communicate via a bus 408. The memory 404 may be a main memory, a static memory, or a dynamic memory. The memory 404 may include, but may not be limited to computer readable storage media such as various types of volatile and non-volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tape or disk, optical media and the like. In one case, the memory 404 may include a cache or random access memory for the processor 402. Alternatively or in addition, the memory 404 may be separate from the processor 402, such as a cache memory of a processor, the system memory, or other memory. The memory 404 may be an external storage device or database for storing data. Examples may include a hard drive, compact disc (“CD”), digital video disc (“DVD”), memory card, memory stick, floppy disc, universal serial bus (“USB”) memory device, or any other device operative to store data. The memory 404 may be operable to store instructions 424 executable by the processor 402. The functions, acts or tasks illustrated in the figures or described herein may be performed by the programmed processor 402 executing the instructions 424 stored in the memory 404. The functions, acts or tasks may be independent of the particular type of instructions set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firm-ware, micro-code and the like, operating alone or in combination. Likewise, processing strategies may include multiprocessing, multitasking, parallel processing and the like.
The computer system 400 may further include a display 414, such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, a cathode ray tube (CRT), a projector, a printer or other now known or later developed display device for outputting determined information. The display 414 may act as an interface for the user to see the functioning of the processor 402, or specifically as an interface with the software stored in the memory 404 or in the drive unit 406.
Additionally, the computer system 400 may include an input device 412 configured to allow a user to interact with any of the components of system 400. The input device 412 may be a number pad, a keyboard, or a cursor control device, such as a mouse, or a joystick, touch screen display, remote control or any other device operative to interact with the system 400.
The computer system 400 may also include a disk or optical drive unit 406. The disk drive unit 406 may include a computer-readable medium 422 in which one or more sets of instructions 424, e.g. software, can be embedded. Further, the instructions 424 may perform one or more of the methods or logic as described herein. The instructions 424 may reside completely, or at least partially, within the memory 404 and/or within the processor 402 during execution by the computer system 400. The memory 404 and the processor 402 also may include computer-readable media as discussed above.
The present disclosure contemplates a computer-readable medium 422 that includes logic, such as in the form of instructions 424 or receives and executes instructions 424 responsive to a propagated signal; so that a device connected to a network 435 may communicate voice, video, audio, images or any other data over the network 435. Further, the instructions 424 may be transmitted or received over the network 435 via a communication interface 418. The communication interface 418 may be a part of the processor 402 or may be a separate component. The communication interface 418 may be created in software or may be a physical connection in hardware. The communication interface 418 may be configured to connect with a network 235, external media, the display 414, or any other components in system 400, or combinations thereof. The connection with the network 435 may be a physical connection, such as a wired Ethernet connection or may be established wirelessly as discussed below. Likewise, the additional connections with other components of the system 400 may be physical connections or may be established wirelessly.
The network 435 may include wired networks, wireless networks, or combinations thereof. The wireless network may be a cellular telephone network, an 802.11, 802.16, 802.20, or WiMax network. Further, the network 435 may be a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols.
The computer-readable medium 422 may be a single medium, or the computer-readable medium 422 may be a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The term “computer-readable medium” may also include any medium that may be capable of storing, encoding or carrying a set of instructions for execution by a processor or that may cause a computer system to perform any one or more of the methods or operations disclosed herein.
The computer-readable medium 422 may include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories. The computer-readable medium 422 also may be a random access memory or other volatile re-writable memory. Additionally, the computer-readable medium 422 may include a magneto-optical or optical medium, such as a disk or tapes or other storage device to capture carrier wave signals such as a signal communicated over a transmission medium. A digital file attachment to an e-mail or other self-contained information archive or set of archives may be considered a distribution medium that may be a tangible storage medium. Accordingly, the disclosure may be considered to include any one or more of a computer-readable medium or a distribution medium and other equivalents and successor media, in which data or instructions may be stored.
Alternatively or in addition, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, may be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various embodiments may broadly include a variety of electronic and computer systems. One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that may be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system may encompass software, firmware, and hardware implementations.
The methods described herein may be implemented by software programs executable by a computer system. Further, implementations may include distributed processing, component/object distributed processing, and parallel processing. Alternatively or in addition, virtual computer system processing may be constructed to implement one or more of the methods or functionality as described herein.
Although components and functions are described that may be implemented in particular embodiments with reference to particular standards and protocols, the components and functions are not limited to such standards and protocols. For example, standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions as those disclosed herein are considered equivalents thereof.
The illustrations described herein are intended to provide a general understanding of the structure of various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus, processors, and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be minimized. Accordingly, the disclosure and the figures are to be regarded as illustrative rather than restrictive.
Although specific embodiments have been illustrated and described herein, it should be appreciated that any subsequent arrangement designed to achieve the same or similar purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, may be apparent to those of skill in the art upon reviewing the description.
The Abstract is provided with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features may be grouped together or described in a single embodiment for the purpose of streamlining the disclosure. This disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may be directed to less than all of the features of any of the disclosed embodiments. Thus, the following claims are incorporated into the Detailed Description, with each claim standing on its own as defining separately claimed subject matter.
The above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the true spirit and scope of the invention. Thus, to the maximum extent allowed by law, the scope is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.
This application is a continuation under 37 C.F.R. §1.53(b) of U.S. patent application Ser. No. 13/185,344, filed Jul. 18, 2011 (Attorney Docket No. 4672/11004B), which is a continuation-in-part under 37 C.F.R. §1.53(b) of U.S. patent application Ser. No. 12/869,866, filed Aug. 27, 2010 (Attorney Docket No. 4672/828) now U.S. Pat. No. 8,554,662, the entire disclosures of which are hereby incorporated by reference. This application is related to application Ser. No. 14/019,805, filed Sep. 6, 2013 (Attorney Docket No. 4672/10828DUS), which is a continuation under 37 C.F.R. §1.53(b) of U.S. patent application Ser. No. 12/869,866, filed Aug. 27, 2010 (Attorney Docket No. 4672/828), now U.S. Pat. No. 8,554,662, the entire disclosure of which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 13185344 | Jul 2011 | US |
Child | 14099448 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12869866 | Aug 2010 | US |
Child | 13185344 | US |