`
`
`
`I 1111111111111111 11111 lllll 111111111111111 111111111111111 IIIIII IIII IIII IIII
`US007496534B2
`
`c12) United States Patent
`Olsen et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,496,534 B2
`Feb.24,2009
`
`(54) METHODS FOR TRADE DECISION MAKING
`
`(76)
`
`Inventors: Richard B. Olsen, Wehrenbachhalde 46,
`8053 Zurich (CH); Michel M.
`Dacorogna, Zollikerstrasse 246, Zurich
`(CH); Olivier V. Pictet, 9 chemin des
`Tulipiers, 1208 Geneva (CH); Ulrich A.
`Miiller, Seefeldstrasse 239, 8008 Zurich
`(CH); Rakhal D. Dave,
`Ottenbergstrasse 81, 8049 Zurich (CH);
`Lars A. Jaeger, Krebsgasse 7, 8001
`Zurich (CH)
`
`( *) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1470 days.
`
`(21) Appl. No.: 09/855,633
`
`(22) Filed:
`
`May 14, 2001
`(Under 37 CFR 1.47)
`
`(65)
`
`Prior Publication Data
`
`US 2002/0184134Al
`
`Dec. 5, 2002
`
`Related U.S. Application Data
`
`(60) Provisional application No. 60/274,174, filed on Mar.
`8, 2001.
`
`(51)
`
`Int. Cl.
`G06Q 40100
`(2006.01)
`(52) U.S. Cl. .......................... 705/37; 705/35; 705/36 R
`(58) Field of Classification Search ................... 705/35,
`705/36 R, 37
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`715/503
`5,926,822 A *
`7/1999 Garman ......................
`6,012,042 A *
`1/2000 Black et al. . ... .. ... ... ... 705/36 R
`
`6,016,483 A *
`6,061,662 A *
`6,195,103 Bl*
`6,317,728 Bl*
`6,360,210 Bl*
`6,832,210 Bl*
`
`1/2000 Rickard et al. ............ 705/36 R
`5/2000 Makivic ................... 705/36 R
`2/2001 Stewart
`......................
`345/440
`11/2001 Kane ........................
`705/36 R
`3/2002 Wallman .................. 705/36 R
`12/2004 Li ............................ 705/36 R
`
`OTHER PUBLICATIONS
`
`Brooks, Chris. "A Double-Threshold Garch Model For The French
`Franc/Deutschmark Exchange Rate",
`Journal of Forecasting.
`Chichester: Mar. 2001. vol. 20, Iss. 2; p. 135. *
`
`* cited by examiner
`
`Primary Examiner-Harish T. Dass
`Assistant Examiner-Elda Milef
`(74) Attorney, Agent, or Firm-Morgan, Lewis & Bockius
`LLP
`
`(57)
`
`ABSTRACT
`
`A method of trading assets on a market including: (1) receiv(cid:173)
`ing price data for an asset over one or more computer net(cid:173)
`works; (2) receiving current system position information; (3)
`storing the received asset price data and current system posi(cid:173)
`tion information in a computer-readable medium; ( 4) calcu(cid:173)
`lating trade recommendation information form each of one or
`more trading sub-models, wherein each sub-model is based
`on a different time horizon, the calculation based on the
`received asset price data; and (5) calculating a trade recom(cid:173)
`mendation regarding the asset based on the trade recommen(cid:173)
`dation information from each of the trading sub-models. Each
`sub-model preferably includes: (1) a price collector compo(cid:173)
`nent; (2) a price filter component; (3) a price database com(cid:173)
`ponent; (4) a gearing calculator component; (5) a deal accep(cid:173)
`tor component; and (6) a book-keeper component.
`
`12 Claims, 8 Drawing Sheets
`
`____
`
`row_priced<:rl<i ___________________________
`
`_
`
`dealreeomme!"dallo~•
`~~~
`
`Opl)OrtunllyCatcher
`
`OANDA - EXHIBIT 2010
`
`
`
`U.S. Patent
`
`Feb.24,2009
`
`Sheet 1 of 8
`
`US 7,496,534 B2
`
`_____ !~w2~~~~~----------------------------,
`,.J 10
`
`I
`I
`
`Price Collector
`
`prices,
`
`Price Filter
`
`:::
`
`Price Database
`
`_______ v
`
`filtered prices,,
`
`Gearing Calculator
`
`Stop-loss Detector
`
`,.
`
`dealrecomm endatlons,
`
`Deal Acceptor
`
`dealrecomm endations , •
`
`~60
`
`~170
`
`Opportunity Catcher
`
`I
`
`simulated deals
`
`180
`
`Book-keeper
`
`FIG.1
`
`
`
`U.S. Patent
`US. Patent
`
`Feb.24,2009
`Feb. 24, 2009
`
`Sheet 2 of 8
`Sheet 2 of8
`
`US 7,496,534 B2
`US 7,496,534 B2
`
`t)
`.9
`fit
`E{B
`‘3’H
`O
`J...
`:3,
`O
`
`Q. e «I _,
`• -0
`I -::J-o
`
`I
`!-
`
`-
`
`-
`
`-
`
`...
`
`'
`
`-..--
`
`0
`0
`0
`(\I
`
`2000
`
`0
`0
`
`1500
`"' T'"
`
`1000
`
`Timeindays
`
`FK3.2
`
`500
`
`'\
`
`0
`. _ _, 0
`U)
`
`150
`
`125-
`
`0
`00
`
`If]
`75
`~
`
`0
`50
`1,,1,")
`
`0 ....
`(waxed ug) turns: mo1,
`
`"5
`
`0
`0
`
`
`
`U.S. Patent
`
`Feb.24,2009
`
`Sheet 3 of 8
`
`US 7,496,534 B2
`
`........ .,..,....,...;
`
`lOC. ::·J
`
`
`
`.,.......,...,,...,...,...,..,......,;-.i ..... ......,...,.,..,.,...,...,,-.----
`
`,.. . ..-. -. .,......-,--..,....-,..,;...,,,---
`
`1-
`
`1.
`
`-, +
`~ L. 00 ....... -,-_,...,...,...,.....,
`
`20.00
`
`50.00
`
`Time lag 1d
`
`FIG.3
`
`
`
`U.S. Patent
`
`Feb.24,2009
`
`Sheet 4 of 8
`
`US 7,496,534 B2
`
`.. ...
`-·
`... -
`
`. ,
`,.-,.
`. . .
`. ·
`. . . . .
`. . . . .
`. .
`. . . .
`. . : .
`. . .
`. . . .
`. . . .
`. . .
`. .
`. . : .
`
`- ~ ------ ~,,-:-----
`.·
`
`o.so
`
`0.60
`
`0.40
`
`0.20
`
`o.oo
`
`41
`~
`~
`Q,.
`
`.! --C
`>, = = \U
`
`0
`>
`'t1
`C: a,
`
`C g -l'IS
`'ii II.. -0
`0 -as --a.,
`
`(I)
`
`-0.20
`
`·1--.---,...-,---.--,,--.--...--...--
`o.oc
`
`........ --.--..--..---.-~..--..--....-~
`
`........ -
`
`2.00
`
`1.00
`
`Volatility
`
`FIG. 4
`
`
`
`U.S. Patent
`
`Feb.24,2009
`
`Sheet 5 of 8
`
`US 7,496,534 B2
`
`...... -. -., ....
`--··~·~-········
`.,., .. -. ... .
`
`1.00
`
`o.so
`
`0.60
`
`0.40
`
`0.20
`
`o.oo
`
`/
`
`# • . . .. . :
`. . . . . . .
`. . . .
`. , .
`. .
`.
`. . . . . . . .
`' : . . . .
`. .
`. . . .
`
`-0.20
`
`0.00
`
`I ,
`
`l.00
`
`2.00
`
`3.00
`
`Volatility
`
`FIG. 5
`
`
`
`U.S. Patent
`
`Feb.24,2009
`
`Sheet 6 of 8
`
`US 7,496,534 B2
`
`~
`0l
`
`:,
`
`C = .c
`0
`.2 -a.
`cu
`a) ...
`-::I
`
`LI.
`>-a,
`Q ,...
`"0 cu
`'ii u
`
`U)
`
`. .
`. . . ... ..
`..
`..-:..::.~--:•
`·.,
`
`4.00
`
`2.00
`
`0.00
`
`-2.00
`
`-4.00
`
`-4. 00
`
`-2.00
`
`0.00
`
`2.00
`
`4.00
`
`Scaled 28 Day Previous Price Change
`
`FIG. 6
`
`
`
`U.S. Patent
`
`Feb.24,2009
`
`Sheet 7 of 8
`
`US 7,496,534 B2
`
`I MAIN INDICATOR I I CHANNEL INDICATOR I
`Channel Indicators
`g ,, Z, ~trad.f,·•v-1
`
`STRATEGIES
`
`,
`
`I 1. Outbreak! 12. No channel! i3. Inside a Channell
`I
`t
`I ' 1
`Strategy 2
`Strategy 1
`Follow the outbreak: Trend following conditional
`until .z crosses threshold to low gz signal frequency
`f
`V
`W = f (I• dckannet) ~· 1 I I w E [O; c2L c2 Ri 0.5
`
`I
`
`~
`Strategy 3
`no trading signal
`~
`
`w = 0
`
`I
`
`Ji
`
`~ J1!arket st,:, function wG Spread Fuuct.iou I
`i
`- W:9z
`FINAL INDICATOR OF THE SUBMODEL I Other Submoddsj
`g = g,. w
`g·
`J !
`COMBINATION OF DIFFERENT SUBMODELS
`1 -I> w·g·
`G({g,})-c-
`'Wot Lt lLi1
`l
`
`I
`
`t
`
`i
`
`i
`
`-
`
`to
`
`FINAL GEARING
`
`Gaiscrete = D(G)
`D(G): hysteresis function
`
`FIG. 7
`
`
`
`U.S. Patent
`
`Feb.24,2009
`
`Sheet 8 of 8
`
`US 7,496,534 B2
`
`810
`
`Calculate main indicator
`
`,
`
`820
`
`Calculate frequency
`
`indicator
`
`'"
`830
`
`Calculate channel indicator
`
`,
`840
`
`Compute gearing weight
`
`1
`
`850
`
`Compute final gearing
`
`FIG. 8
`
`
`
`US 7,496,534 B2
`
`1
`METHODS FOR TRADE DECISION MAKING
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`2
`mark, or the euro, against the U.S. dollar). In order to imitate
`real-world trading accurately, the models also should take
`into account transaction costs in their return computation,
`generally avoid trading outside market working hours, and
`5 avoid trading too rapidly.
`
`This application claims priority to U.S. Provisional Appli(cid:173)
`cation No. 60/274,174, filed Mar. 8, 2001. The contents of the
`above application are incorporated herein in their entirety by
`reference.
`
`FIELD OF THE INVENTION
`
`The subject invention is directed to trading on financial
`markets, in particular to methods of using real-time trading
`models to trade on foreign exchange markets.
`
`BACKGROUND
`
`An exchange rate is the price at which one national cur(cid:173)
`rency can be exchanged for another. The most common cur(cid:173)
`rency value notion is the bilateral exchange rate ( or simply the
`foreign exchange (FX) rate) quoted by an FX trader or
`reported by a quote vendor. This is a nominal exchange rate
`because it is the number of units of a currency offered in
`exchange for one unit of another (for example, 1.5 German
`marks for 1 U.S. dollar). The spot exchange rate is a particular
`example of a nominal bilateral exchange rate, where the trans(cid:173)
`action takes place immediately. Another example is the for(cid:173)
`ward exchange rate, where the price is agreed now but the
`transaction takes place in the future. An FX price is composed
`of two quantities: a price at which a bidder offers to buy
`(termed the bid price) and a price at which a seller offers to
`buy ( the ask price).
`The bid and ask prices of major financial institutions are
`conveyed to dealers' screens by quote vendors such as Reu(cid:173)
`ters, Telerate, or Knight Ridder. Deals are typically negoti(cid:173)
`ated via telephone. The FX market operates globally and
`around the clock. Any market maker may submit new bid/ask
`prices at any time, and many institutions have branches
`worldwide, so that they can participate in continuous FX
`trading.
`Although the FX market operates continuously, individual
`traders or institutions generally participate in this market for
`only part of each day. There is thus a need for trading models
`that take take local business hours and holidays into account.
`There is a need for trading models that offer real-time
`analysis ofFX-rate movements and generate explicit trading
`recommendations. A clear distinction should be made
`between a price change forecast and an actual trading recom(cid:173)
`mendation. A trading recommendation naturally includes 50
`some kind of price change forecast, but must also account for
`the specific risk profile of the dealer or user of the respective
`trading model. Another distinction is that a trading model
`must take into account its past trading history, while a price
`forecast is not biased by a position the trading model might be 55
`in. A trading model thus preferably goes beyond predicting a
`price change: it should decide whether a certain action has to
`be taken. This decision is subject to the specific risk profile,
`the trading history, and institutional constraints such as busi(cid:173)
`ness hours. These different parameters can be integrated into 60
`the decision-making process and are important for construct(cid:173)
`ing practical models for professional traders.
`There is a further need for models that follow the FX
`market and imitate it as closely as possible. These models
`should be based on data from continuous collection and treat(cid:173)
`ment ofFX quotes by market makers around the clock (up to
`5000 non-equally-spaced prices per day for the German
`
`SUMMARY
`
`A preferred embodiment of the subject invention com-
`10 prises a system and method for operating a set of real-time
`trading models. An over-all system that utilizes the subject
`invention includes mechanisms for data collection, data vali(cid:173)
`dation, generation of trading recommendations, communica(cid:173)
`tion of these recommendations to user-agents, and graphical
`15 presentation of these recommendations on the user-agents.
`A preferred trading model is based on a set of indicator
`computations combined with a collection of rules. The former
`are functions of the price history. The latter determine the
`applicability of the indicator computations in generating trad-
`20 ing recommendations.
`A preferred embodiment comprises a method of trading
`assets on a market, comprising the steps of: (1) receiving price
`data for an asset over one or more computer networks; (2)
`receiving current system position information; (3) storing the
`25 received asset price data and current system position infor(cid:173)
`mation in a computer-readable medium; ( 4) calculating trade
`recommendation information from each of one or more trad(cid:173)
`ing sub-models, wherein each sub-model is based on a dif(cid:173)
`ferent time horizon, the calculation based on the received
`30 asset price data; and (5) calculating a trade recommendation
`regarding the asset based on the trade recommendation infor(cid:173)
`mation from each of the trading sub-models. In this embodi(cid:173)
`ment, each sub-model has its own indicator.
`A further preferred embodiment comprises a method of
`35 trading assets on a market, comprising the steps of: (1) receiv(cid:173)
`ing price data for an asset over one or more computer net(cid:173)
`works; (2) receiving current system position information; (3)
`storing the received asset price data and current system posi(cid:173)
`tion information in a computer-readable medium; ( 4) calcu-
`40 lating trade recommendation information from each of one or
`more trading sub-models, wherein each sub-model is based
`on a different time of day, the calculation based on the
`received asset price data; and (5) calculating a trade recom(cid:173)
`mendation regarding the asset based on the trade recommen-
`45 dation information from each of the trading sub-models. In
`one version of this embodiment, 24 sub-models are used. In
`another version, each sub-model further comprises a pair of
`sub-models, each pair consisting of a trend-following sub(cid:173)
`mode! and a contrarian sub-model.
`A further preferred embodiment comprises a method of
`trading assets on a market, comprising the steps of: (1) receiv(cid:173)
`ing price data for an asset over one or more computer net(cid:173)
`works; (2) receiving current system position information; (3)
`storing the received asset price data and current system posi(cid:173)
`tion information in a computer-readable medium; ( 4) calcu(cid:173)
`lating trade recommendation information from each of one or
`more trading sub-models, wherein each sub-model is based
`on the view and actions of one group of traders in the asset and
`is further based on its own time horizon, the calculation based
`on the received asset price data; and ( 5) calculating a trade
`recommendation regarding the asset based on the trade rec-
`ommendation information from each of the trading sub-mod(cid:173)
`els. In this embodiment, the step of calculating trade recom(cid:173)
`mendation information from each of one or more trading
`65 sub-models comprises, for each sub-model, the following
`steps: (1) calculating a suitable main indicator for the sub(cid:173)
`mode!, which after application of a nonlinear discretization
`
`
`
`US 7,496,534 B2
`
`3
`function provides a first raw gearing; (2) calculating a fre(cid:173)
`quency indicator; (3) calculating a channel indicator; (4)
`computing a weight to be applied to the raw gearing; and (5)
`computing a final gearing by multiplying the weight times the
`raw gearing and then discretizing the product.
`In each of these embodiments, each sub-model preferably
`comprises: (1) a price collector component; (2) a price filter
`component; (3) a price database component; (4) a gearing
`calculator component; (5) a deal acceptor component; and ( 6)
`a book-keeper component. This overall structure and data(cid:173)
`flow of a preferred trading model is depicted in FIG. 1.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`4
`A deal acceptor 160 validates the recommendations of the
`gearing calculator 140 under the following conditions: (1) no
`deal may take place within fifteen minutes of a deal already
`having occurred, and (2) a stringent deal filter determines
`5 whether a given price is suitable for dealing. A stop-loss
`detector 150 triggers if the market moves in the wrong direc(cid:173)
`tion and passes a stop-loss price, causing a deal-to-neutral
`position. The stop-loss price can be adjusted dynamically.
`An opportunity catcher 170 searches for a realistic price at
`10 which to execute the deal, preferably in a time window of2-3
`minutes (depending on the currency). Then it executes a
`simulated deal and provides signals to a human dealer. A
`Book-keeper 180 software module evaluates the trading
`model statistics.
`Imitating the real world requires a system that collects all
`available price quotes and that reacts in real-time to price
`movements. In a preferred embodiment of the subject inven(cid:173)
`tion, trading models use mainly Reuters data but other data
`suppliers provide similar information in their FX quotes. A
`20 preferred embodiment uses price quotes that have been col(cid:173)
`lected, validated, and stored in a database. Each record or tick
`in the database contains the following items: (1) the time 1:J in
`GMT (Greenwich Mean Time) at which the price quote has
`been recorded in the database; (2) the bid price p}'d; (3) the
`25 ask price p1
`( 4) the name of the bank that issued the price
`as\
`quote; (5) the location of the issuing bank; and (6) the result
`of a validation filter.
`The indexj identifies individual database records. Reuters
`pages provide the bid price p/'d as a complete number, usu(cid:173)
`ally with five digits; p1 ask is given with only the last two digits
`and is recomputed in full by software of a preferred embodi-
`ment. The granularity of the time stamps 1:J is 2 seconds. The
`validation filter information is preferably computed by the
`filtering algorithm described in the paper, Muller, U. A.,
`35 Dacorogna, M. M., Olsen, R. B., Pictet, 0. V., Schwarz, M.,
`Morgenegg, C., Statistical study of foreign exchange rates,
`empirical evidence of a price change scaling law, and intra(cid:173)
`day analysis, Journal of Banking and Finance, 14:1189
`(1990) (hereinafter Muller 1990).
`In a preferred embodiment, trading models are each pref-
`erably associated with a local market that is identified with a
`corresponding geographical region. In tum, this region is
`associated with generally accepted office hours and public
`vacation days. The local market is assumed to be open at any
`45 time during office hours, which do not occur during a week(cid:173)
`end or a public holiday. Disclosed trading models support the
`Zurich, London and Frankfurt markets, but it is straightfor(cid:173)
`ward to extend this set. Typical open hours for a model are
`between 8:00 and 17 :30 local time, the exact times depending
`50 on the particular local market.
`Except for closing an open position if the price hits a stop
`loss limit ( described below)), a preferred model does not deal
`outside open hours or during holidays. Note: in this descrip(cid:173)
`tion, we speak of a trading model "dealing," or "entering a
`55 new position," but preferred trading models do not deal
`directly (that is, without human intervention), but instead
`provide trade recommendations to a human dealer.
`A preferred embodiment of the subject invention com(cid:173)
`prises a system and method for operating a set of real-time
`60 trading models. These include data collection, data valida(cid:173)
`tion, generation of trading recommendations, communica(cid:173)
`tion of these recommendations to user-agents residing at cus(cid:173)
`tomers and graphical presentation of these on the user-agents.
`The overall structure and data-flow of a preferred trading
`65 model is depicted in FIG. 1.
`Indicator computations form a central part of a preferred
`trading model, providing an analysis of past price move-
`
`15
`
`FIG. 1 depicts a data flow and structure diagram of pre-
`ferred trading model software.
`FIG. 2 depicts an example of a total return curve over three
`periods: in-sample, out-of-sample, and ex ante.
`FIG. 3 depicts the USD-DEM autocorrelation function of
`the price changes (with sign) with lags in units of 1 day in
`physical time up to a lag of 100 days.
`FIG. 4 depicts the USD-DEM serial correlation condi(cid:173)
`tional to volatility.
`FIG. 5 depicts the intra-day USD-DEM serial correlation
`conditional to volatility.
`FIG. 6 depicts a scatter plot of OXzast along the x-axis
`against oxnext along the y-axis for the bin corresponding to the
`maximum positive correlation in FIG. 4.
`FIG. 7 depicts a preferred structure of a customized trading 30
`model: sub-model and main model.
`FIG. 8 depicts sub-model-related
`embodiment.
`
`steps of a preferred
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`At the most general level, a preferred trading model com(cid:173)
`prises a set of indicator computations combined with a col(cid:173)
`lection of rules. A detailed description of typical indicators is 40
`provided below; indicator computations provide an analysis
`of past price movements. The indicators are mapped into
`actual trading positions by applying various rules. For
`instance, a model may enter a long position if an indicator
`exceeds a certain threshold. Other rules determine whether a
`deal may be made at all, and the timing of a recommendation.
`Thus, indicator computations are based on price history, and
`a collection of rules determines the applicability of the indi(cid:173)
`cator computations to the generation of trading recommen(cid:173)
`dations.
`Referring to FIG. 1, in computer software that comprises
`preferred trading model software, a price collector 110 col(cid:173)
`lects price quotes from data feeds received over a computer
`network. A price filter 120 receives the collected price quotes
`and filters them in real-time, storing filtered price quotes in a
`price database 130 and sending them to a gearing calculator
`140. A gearing calculator 140 specifies the recommended
`gearing ( exposure size), based on indicator computations that
`depend on the received and filtered price quote data, trading
`rules that depend on past dealing history, current position, and
`other quantities such as current unrealized return of an open
`position. Software of preferred embodiments uses the follow(cid:173)
`ing gearings: -1, -0.5, 0, +0.5, and+ 1, corresponding to short
`with all of the available capital, short with half of the available
`capital, neutral, long with half of the available capital, and
`long with all of the available capital, respectively. The posi(cid:173)
`tion is re-evaluated each time a new price quote arrives.
`
`
`
`US 7,496,534 B2
`
`15
`
`20
`
`5
`ments. These indicators are mapped into actual trading posi(cid:173)
`tions by applying various rules. For instance, a model may
`enter a long position if an indicator exceeds a certain thresh(cid:173)
`old. Other rules determine whether a deal may be made at all.
`Among various factors, these rules take the timing of the
`recommendation into consideration.
`A complete trading model thus consists ofa set ofindicator
`computations combined with a collection of rules. The former
`are functions of price history. The latter determine the appli(cid:173)
`cability of the indicator computations in generating trading
`recommendations.
`The most significant item displayed to a user-agent is the
`model's present position or trading recommendation. Pre(cid:173)
`ferred trading models make gearing recommendations of
`S-1.0, S-0.5 (short positions), 0 (neutral), L+0.5 and L+l.0
`(long positions). A gearing ofS-0.5 means "go short with half
`the available capital." A gearing of S-1.0 means "go short
`with all of the available capital."
`Software of a preferred embodiment is not constructed as a
`single huge program with all the required functionality resid-
`ing in that one entity. Rather it is constructed as a collection of
`separate programs. In computer-speak, the system is said to
`be a distributed system because the various programs run in
`parallel on several computers.
`Each such program preferably performs essentially one 25
`primary function. For instance, a program
`termed
`the
`GTrader takes in collected and validated price data and uses
`this data to produce trading model recommendations. (Sev(cid:173)
`eral trading models may reside independently of one another
`within one GTrader invocation). Other programs in the sys- 30
`tern include a price collector for receiving data from the
`quote-vendors and a price database manager for storing this
`data for future use. Splitting up the system into several logical
`components confers several benefits:
`One benefit is that a failure in one program is localized and
`does not affect other programs in the system. This increases
`the overall reliability. For example, if a GTrader program
`should crash-hopefully,
`a rare occurrence but one which
`may happen as a result of hardware failure-collection of raw
`price data remains unimpaired.
`A second benefit is that if a computer should fail, the
`programs running on that computer may be transferred to
`another machine. Again, this promotes reliability. A third
`benefit is that the performance of the system may be enhanced
`by adding extra hardware and moving some existing pro(cid:173)
`grams onto the new hardware. Finally, a fourth benefit is that
`having separate programs perform logically distinct opera(cid:173)
`tions helps simplify the design and structure of the system.
`A gearing calculator lies at the heart of a preferred trading
`model. The gearing calculator provides the trading model
`with its intelligence and the ability to capitalize on move(cid:173)
`ments in the FX markets. The gearing calculator also provides
`the trading model with particular properties. These include
`the frequency of dealing and the circumstances under which
`positions may be entered.
`In contrast, the other trading model components form a
`shell around the gearing calculator, providing it with price
`data, detecting whether the stop-loss limit is hit, and exam(cid:173)
`ining the trading recommendations made by the gearing cal(cid:173)
`culator. The gearing calculator re-evaluates its position every
`time a new price tick is received from the quote-vendors. (As
`previously noted, a filter preferably validates each price quote
`beforehand, to eliminate outliers and other implausible data).
`The gearing calculator preferably comprises (a) a set of
`indicators that are produced from the input price data ( dis(cid:173)
`cussed in detail below); and (b) trading rules that are func-
`
`6
`tions of the past dealing history, the current position, and
`other quantities ( e.g., the current unrealized return of an open
`position).
`As the name suggests, an indicator provides a measure of
`5 whether a new position should be entered. Indicators are
`preferably analyzed by rules inside the gearing calculator, to
`determine whether such a change of position should in fact
`take place. In the simplest form, an indicator crossing a pre(cid:173)
`defined threshold may cause a rule to be activated that in tum
`10 causes such a change in position to occur. Thus the relative
`values of the indicators signify internal trading recommenda(cid:173)
`tions that are subsequently refined through the application of
`various rules. Other, more complicated rules may modify the
`indicators' basic recommendations in additional ways:
`1. By inhibiting a recommendation produced by the indi(cid:173)
`cators. For example, if the price movements since the
`previous deal are too small in either direction, an indi(cid:173)
`cator recommendation to reverse the present gearing is
`suppressed.
`2. By changing the indicator thresholds themselves. While
`the model is in a neutral position, such a rule may
`increase the threshold values.
`3. By choosing an opposite position to the one hinted at by
`the indicators. That is, by entering a "contrarian" posi(cid:173)
`tion. (A contrarian position is long when prices are
`declining or short when prices are climbing).
`4. By imposing new stop-loss values. A smaller stop-loss
`may be established if the recommended position is con(cid:173)
`trarian. The stop-loss is reduced because a contrarian
`strategy is considered risky.
`The relative values of the indicators determine the gearing
`that should be used. That is, not only do the indicators deter(cid:173)
`mine the position to be entered (after subsequent transforma(cid:173)
`tion by the rules), they also determine the magnitude of the
`35 gearing to be used. As stated previously, preferred models
`employ half-integral gearings in the range -1.0 to 1.0.
`Other trading model components supporting the gearing
`calculator preferably do so through a standardized interface.
`Newly developed gearing calculators can thus be placed into
`40 an existing trading model environment.
`In addition
`to
`embodiments discussed below, at least one preferred embodi(cid:173)
`ment comprises three separate gearing calculators, each
`working with seven currencies (USD/DEM, USD/CHF,
`GBP/USD, USD/JPY, USD/ITL, USD/FRF and USD/NLG).
`45 These gearing calculators differ in their respective trading
`frequencies, risk profiles and other properties. Developing a
`new gearing calculator is thus akin to developing a new trad(cid:173)
`ing class while preserving the overall trading model structure.
`This allows one to customize existing gearing calculators or
`50 to experiment with new ones.
`The fact that the gearing calculator's indicators and rules
`suggest entering a new position does not necessarily mean
`that the model will make such a recommendation. Whether it
`does or not depends on various secondary rules that then take
`55 effect.
`These rules are preferably comprised in a deal acceptor,
`which determines whether the deal proposed by the indicators
`is allowed to be made. The primary constraint is the timing of
`the proposed deal. First, no deal other than a stop-loss deal
`( discussed below) may take place within fifteen minutes of a
`deal already having occurred. This is to prevent overloading a
`human dealer who may be following the models. Second, the
`gearing calculator may make a recommendation to enter a
`new trading position, but this recommendation can be fol-
`65 lowed only if the local market is open.
`The quality of the most recent price imposes another con(cid:173)
`straint. A stringent deal-filter determines if a given price is
`
`60
`
`
`
`US 7,496,534 B2
`
`5
`
`8
`tion being that a quoted price has a useful lifetime of about
`two or three minutes even if it is superseded by later quotes.
`After the two- or three-minute search period, a second
`signal appears on the user-agent display signifying that the
`trading model has made a simulated deal using the best price
`found by the opportunity catcher. The FX dealer then con(cid:173)
`cludes his deal-making activities and waits until the trading
`model produces another reconnnendation.
`Preferably, the opportunity catcher is not activated for a
`10 stop-loss deal occurring outside market hours. In such a case
`the trading model deals directly. A human trader following the
`model should then make a corresponding deal for himself as
`quickly as possible.
`In a preferred embodiment, a Book-keeper makes simu-
`15 lated deals on behalf of the trading model. It keeps track of all
`deals that have been made and evaluates statistics demonstrat(cid:173)
`ing the performance of the trading model.
`An important variable used by a Book-keeper is the aver(cid:173)
`age price p paid for achieving the current gearing. After a new
`20 deal with index t, this quantity depends on the type of trans(cid:173)
`action as follows:
`
`Pt =
`
`Pt-1
`
`gt - gt-1
`gt---+-
`[
`Pt
`
`Pt
`undefined
`
`!
`
`(1)
`
`if lgtl < lgt-1 I II gtgt-1 > o
`gt-1 i-l
`if lgtl > lgt-1 I II gtgt-1 > o
`if gtgt-! < 0 V gt-1 = 0
`if gt= 0
`
`Pr-1
`
`7
`suitable for dealing. This is to ensure that reconnnended deals
`are made only with genuine prices rather than extraneous
`data. The deal acceptor permits a new deal only with a price
`passing the deal-filter.
`If the gearing calculator suggests entering a new position
`but the deal acceptor decrees otherwise, the suggestion of the
`gearing calculator is ignored. Eventually, when timing and
`other factors are right, the gearing calculator will suggest
`entering a new position and the deal acceptor will approve.
`Besides being passed on to a gearing calculator, the filtered
`price quotes are preferably also sent to a stop-loss detector.
`The stop-loss detector triggers if the market moves in the
`"wrong" direction. If the model enters a trading position
`because it anticipates that the market will move in a certain
`direction, but in fact the market then moves the other way, the
`stop-loss price may be hit.
`A preferred trading model defines a stop-loss price when a
`position is entered. If the current price-that
`is, the most
`recent price-moves
`below the stop-loss price (for a long
`position) or above the stop-loss price (for a short position), the
`stop-loss is said to be hit. Hitting the stop-loss causes a deal to
`a neutral position to be made. In effect, the stop-loss prevents
`excessive loss of capital should the market go the wrong way.
`The stop-loss price may change when a new position is
`entered or as the current price changes (see below). The 25
`current stop-loss price is displayed to a user-agent.
`A stop-loss deal may occur at any time, even outside mar(cid:173)
`ket hours. The assumption is that a position that is kept open
`outside market hours is handled by a colleague in the Ameri-
`can or Far East markets who will deal appropriately if the
`stop-loss is hit. Should this happen, preferably no further
`change in position occurs until the local market opens