Patent Publication Number: US-8112335-B2

Title: Systems and methods for processing pricing data

Description:
PRIORITY APPLICATION 
     This application claims the benefit of U.S. Provisional Patent Application No. 60/918,186, filed Mar. 14, 2007, titled Systems And Methods For Processing Pricing Data. The entire contents of that application are incorporated herein by reference. 
    
    
     INTRODUCTION 
     Banks and other entities offer their customers the opportunity to trade in financial instruments, such as currencies, (also known as foreign exchange, ForEx, or FX). In general, for a typical transaction, a bank displays or otherwise provides to a customer a list of instruments for a customer to select. In such a scenario, a price is associated by the bank for each instrument. 
     In general, prices for an instrument are provided as a price quote. In the example of foreign exchange transactions, if a customer buys currency, an exchange rate, usually provided as a quote of a base currency/quote currency, specifies how much the customer must pay in the quote currency to obtain one unit of the base currency. If the customer is selling currency, the exchange rate specifies how much the customer would get in the quote currency when selling one unit of the base currency. 
     A currency exchange rate is typically given as a pair of prices: a bid price and an ask price. The ask price applies when a customer is buying a currency pair, and represents what has to be paid in the quote currency to obtain one unit of the base currency. The bid price applies when a customer is selling a currency pair, and represents what will be obtained in the quote currency when selling one unit of the base currency. The bid price is usually lower than the ask price and the difference between the ask price and the bid price is known as a spread. 
     When banks provide prices for instruments to customers, the banks typically obtain price information from a variety of sources. Typical sources include market sources, for example prices from Reuters or other news sources, prices from an inter-dealer broker, such as EBS, or other sources, or trading/pricing models. 
     Price information can be used with one or more models for pricing an instrument. For example, different criteria (for example, market liquidity, volatility, stability) may be used to decide whether to use, for example, a market price source, a model price source, a conservative price source, a historically accurate price source, or which of each market/model price to use. There is a need for a system and method that allows banking systems to change price sources used in their instrument trading systems. 
     Conventional systems packaged instrument price source at configuration or initialization of the application. Such systems designated instrument price sources only at initialization and could not reconfigure source changes. In order to change price sources, such systems would have to be reloaded each time a price source changes. This process can be cumbersome. Embodiments of the invention described herein overcome such shortcomings and allows trading systems to easily change designated price sources for instruments. 
     An embodiment of the invention is directed to a method comprising receiving first data associating a first price source, a first market condition, and an instrument; receiving second data from at least one of a plurality of price sources, said second data comprising a first price quote for said instrument; determining that said at least one of said plurality of price sources matches said first price source; and generating a second price quote for said instrument based on said second data. It is understood that embodiments of the invention may also be implemented in software. 
     Variations of embodiments of the invention include, for example: receiving time data for synchronizing said first data and said second data, and that said instrument comprises a currency pair. Other embodiments of the invention contemplate changing said first price source to a second price source; and generating a third price quote for said instrument based on said second price source, and generating said third quote for said instrument based on said second price source comprises using cached data received from said second price source. Another variation of the invention includes changing said first market condition to a second market condition; and generating a fourth price quote for said instrument based on a third price source associated with said second market condition, and generating said fourth price quote for said instrument based on said third price source associated with said second market condition comprises using cached data received from said third price source. 
     Another embodiment of the invention is directed to a system comprising: a processor communicatively coupled to a storage device and a server; wherein said storage device is configured to receive first data associating a first price source, a first market condition, and an instrument; wherein said server is configured to communicate to said processor second data received from one of a plurality of price sources, said second data comprising a first price quote for said instrument; and wherein said processor is configured to: determine that said at least one of said plurality of price sources matches said first price source, and generate a second price quote for said instrument based on said second data. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  depicts a flow diagram for processing pricing data according to an embodiment of the invention. 
         FIG. 2  depicts a system for processing pricing data according to an embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION 
     Methods and systems are described herein for processing pricing data in a trading system in which price information is received from a plurality of price sources for a plurality of instruments. Embodiments of the invention facilitate generating a price quote based on certain price information from price sources. Embodiments of the invention are described in connection with financial instruments, which include at least the following: Currency Pairs in Foreign Exchange transactions, U.S. Treasuries, Credit Default Swap Indices (CDX), Interest Rate Swaps, other bonds (government, agency, or corporate), any non-structured derivative (e.g., forwards, futures, swaps, options), equities, or other financial instrument. It is understood that concepts described herein are equally applicable to any instrument that has a price source. 
     Embodiments of the invention contemplate generating a price quote for an instrument based on price source data. In general, a price quote may be generated automatically on a periodic basis, upon change of an association of a price source and instrument, further described herein, upon change of a market condition, or other time. Embodiments of the invention improve upon conventional pricing systems by facilitating price quote generation based on dynamic changes to price sources for an instrument. 
     One embodiment of the invention is described with reference to  FIG. 1 . As shown, data is received that indicates an association of a price source and an instrument, step  100 . For example, data may be received indicating an association of a first price source, such as from Reuters, other news source, an interbroker dealer, or other source for a first market condition. Market conditions can include, for example, volatile, stable, stale, or other market characteristic which may impact a price source and/or price quote. Market conditions may be determined automatically based on market data or other market indicator, or manually set based on user inputs. Market conditions may be a general condition that may affect all instruments, a condition that affects only one instrument, a condition that affects on market segment, etc. 
     Associations of price sources and market conditions may indicate, for example, that Reuters is a relatively stable price source, or that EBS provides price quotes that are accurate volatile markets, or that a news source provides conservative price quotes in an average market, etc. The received data may also indicate that an instrument is associated with a first price source and a first market condition. An example of an instrument may be a currency pair such as United States Dollars/European Union Euros. 
     In general, a first price source can be considered a preferred price source for the instrument under the first market condition. In some embodiments a priority, ranking or other rules based selection technique for price sources may be used in association for an instrument and may be based on a market condition. For example, in a stable market, price source A is used as a default price source. However, if price source A data indicates volatility, use price source B. If price source A data is outside one or more tolerance parameters (which may be based on a user input, another price source, or other parameter source), then use price source C. 
     Data indicating an association of an instrument, price source and market condition is typically stored in a storage device, such as a networked database or other memory component, which may be accessible by one or more servers and processors, further described herein. The processors are capable of processing data retrieved from the storage device. Data available to the processor can include that stored in the storage device and other data, such as from various price sources. 
     In some embodiments, data indicating a frequency period for updating a price quote for a currency period may be received. Such period can be any time period, for example, every few minutes, or other period. In other embodiments, price quotes are updated based on receipt of price source data. In general, price quotes, or ‘price ticks’, are generated based on price source ticks. In some embodiments, for each period a price quote is generated based on quotes from price sources, further described herein. 
     In other embodiments, a price quote is generated when a mapping condition changes. For example, a price quote is generated if a price source associated with an instrument is changed, a market condition indicates that a second price source should be used, etc. 
     Data is received relating to price quotes, from one or more price sources, step  110 . In general, price quote data may be received from several price sources. Data indicating a time of such price quote data may also be received which can be used for synchronization purposes. 
     When data is received from a price source, step  110 , and/or when data is received indicating an association of a price source, market condition, and/or instrument, step  100 , a process for generating a price quote is initiated, step  120 . It is understood that other quote generating initializing data (not shown) may also be received which may trigger such process. Some examples of data that may initialize a process for generating a quote may be data indicating a changing market condition, user entered data, or other data. 
     Upon initiation of the price quote generation, a processor, or other system component, if the initiator is new price data from a price source, the processor queries whether the received price quote is from a price source associated with the instrument, step  130 . For example, the processor consults the storage device to determine whether the price quote is received from the first price source and for the instrument. In some scenarios when price source/instrument mapping changes occur, a time stamp may be used for synchronizing timing of such change. 
     If the received data is from the associated price source, a price quote for the instrument is generated based on the price quote, step  140 . In some embodiments, steps  120 - 145  are repeated whenever data is received from a price source. 
     In some scenarios, a first price source and instrument maintain an association in the storage device. In other scenarios, during the periodic interval, a price source may change for the instrument. Such data is received in the storage device, and can replace or overwrite the original association of price source and instrument, or otherwise become a default price source and instrument association. Data indicating a time for such association may also be stored in the storage device. In some embodiments in which local storage is used for source/pair mapping, data indicating a mapping change is transmitted to a system server or processor. 
     If, at step  130 , a query determines that a price quote for an instrument is received from a price source that does not match a price source associated with the instrument, e.g., by consulting storage device instrument/price source mapping, the received data is ignored, step  145 . Following step  145 , step  120  may be repeated upon receipt of triggering data. 
     Although the received data is ignored in step  145 , it may be cached together with a time stamp, or otherwise maintained for future use. In some embodiments, if a price source associated with an instrument is changed, the processor may generate a new price quote based on the new price source, which may require using a cached received quote. 
     When a price quote is generated when the initiator is a new association, such as a new mapping of a price source, market condition, and/or instrument, a new price quote is generated, step  135 . In such a case, the processor may generate the price quote based on cached data received from the newly associated price source. 
     In some embodiments of the invention, a plurality of instruments are each assigned a respective price source for a specific market condition. Rankings or priorities for each price source, instrument, and associated market condition may also be assigned. The instrument/source mapping is stored in the storage device. Upon start up of a system, a computer, processor or other device uploads mapping data from the storage device and stores it in local or other networked memory. Such computer is also registered or otherwise subscribed to receive price quote data from a plurality of price sources. 
     Instrument/source/market condition mapping may be changed dynamically in accordance with an algorithm, user input, or otherwise changed. As mentioned above, such changes can initiate a price quote to be generated based on price quote data received from the newly associated price source. 
     When new price quote data for an instrument is received from a registered price source, the processor compares the price source of the price quote with the mapped or associated price source/instrument. If the source of the new price quote differs with the source associated with the instrument, the new price quote is ignored. If the source of the new price quote is the same as from the source associated with the instrument, the new price quote is processed for generating a price quote. 
     If an associated price source and instrument mapping change, such change is reflected in the storage device by overwriting or otherwise replacing data indicating the change in instrument/price source mapping. Data indicating such a change may be transmitted to the processor to be uploaded to its local storage. In some embodiments, each time new price data is received, the processor queries the storage device to determine the current instrument/price source mapping. 
     In some embodiments, only one price source is associated with each instrument. The system receives quote prices from a plurality of sources, but ignores all price quotes except for those from an associated price source. Thus, changing the associated price source while maintaining receipt of quotes from a plurality of price sources allows for quick changes of price source which can be used to, for example, provide accurate and better price quotes for quickly changing market conditions. Such configuration also allows system performance to be maintained at a relatively high level. Price source/market condition/instrument mapping may be reassigned or mapped dynamically based on one or more inputs from a user or automatically based on an algorithm for selecting a price source. 
     Inventions described herein may be provided using the exemplary system of  FIG. 2 . As shown, computers  200  communicate via network  210  with a central server  230 . A plurality of price sources  220 - 221  also communicate via network  210  with a central server  230 , processor  250 , or other component to transmit, for example, price quote data. The server  230  is coupled to one or more storage devices  240 , one or more processors  250 , and software  260 . Other components and combinations of components may also be used to support processing pricing data or other calculations described herein as will be evident to one of skill in the art. Server  230  may facilitate communication of mapping or association data from a storage device  240  to and from processor  250 , and communications of generated price quotes to computers  200 . Processor  250  facilitates, for example, determining whether mapping of price source/instruments match that of received price quotes from price sources  220 - 221 . Processor  250  may optionally include local or networked storage (not shown) which may be used to store temporary mapping information. Processor  250  may also be used to process price quotes based on the received price quote and mapped data. 
     Software  260  can be installed locally at a computer  200 , processor  250  and/or centrally supported for facilitating price processing calculations and applications. For example, software  260  may be used in embodiments where associations of price source, market conditions and instruments are interrelated. 
     It will be appreciated that the present invention has been described by way of example only, and that the invention is not to be limited by the specific embodiments described herein. Improvements and modifications may be made to the invention without departing from the scope or spirit thereof. 
     Embodiments of the present invention comprise computer components and computer-implemented steps that will be apparent to those skilled in the art. For example, calculations and communications can be performed electronically, and agreements can be composed, transmitted and executed electronically. 
     For ease of exposition, not every step or element of the present invention is described herein as part of a computer system, but those skilled in the art will recognize that each step or element may have a corresponding computer system or software component. Such computer system and/or software components are therefore enabled by describing their corresponding steps or elements (that is, their functionality), and are within the scope of the present invention.