`
`(12) United States Patent
`US 8,392,311 B2
`(10) Patent No.:
`Olsen et al.
`(45) Date of Patent:
`*Mar. 5, 2013
`
`(54)
`
`CURRENCY TRADING SYSTEM, METHODS,
`AND SOFTWARE
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`(75)
`
`Inventors: Richard B. Olsen, Zurich (CH);
`Michael Stumm, Toronto (CA)
`
`(73)
`
`Assignee: Oanda Corporation (CA)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1305 days.
`
`This patent is subject to a terminal dis-
`claimer.
`
`(21)
`
`Appl. No.: 11/634,014
`
`(22)
`
`Filed:
`
`Dec. 4, 2006
`
`Prior Publication Data
`
`..................... 705/37
`7/1998 Potter et a1.
`5,787,402 A *
`.. 705/37
`5/2003 Buchalter
`H2064 H *
`.. 705/37
`5/2003 Buchalter
`H0002064 H *
`.. 705/37
`2001/0049651 A1* 12/2001 Selleck .......
`2002/0023053 A1*
`2/2002 Szoc et a1.
`...................... 705/39
`OTHER PUBLICATIONS
`
`
`
`Cagan, Penny. Financial risk management sources: A walk on the
`wild side; EContent 22.6 (Dec. 1999): 16-25.*
`By Darren McDermott; Corporate Performance 1999 Review: 15’
`quarter7Latest Pro; Wall Street Journal [New York, NY] May 3,
`1999: C1.*
`Turton, Jonathon. It is time rethink your netting; Corporate Finance
`175 (Jun. 1999): 32-34.*
`
`* cited by examiner
`
`Primary Examiner 7 Hani M Kazimi
`Assistant Examiner 7 Hatem M Ali
`
`(65)
`
`(63)
`
`(60)
`
`(51)
`
`(52)
`(58)
`
`US 2007/0078755 A1
`
`Apr. 5, 2007
`
`(74) Attorney, Agent, or Firm 7 Ward & Zinna, LLC
`
`Related US. Application Data
`
`Continuation of application No. 09/858,610, filed on
`May 16, 2001, now Pat. No. 7,146,336.
`
`Provisional application No. 60/274,174, filed on Mar.
`8, 2001.
`
`Int. Cl.
`
`(2012.01)
`G06Q 40/00
`US. Cl.
`......................................................... 705/37
`Field of Classification Search ..................... 705/37
`
`ABSTRACT
`(57)
`In one aspect, the present invention comprises a system for
`trading currencies over a computer network. A preferred
`embodiment comprises: (a) a server front-end; (b) at least one
`database; (c) a transaction server;
`((1) a rate server; (e) a
`pricing engine; (f) an interest rate manager; (g) a trade man-
`ager; (h) a value at risk server; (i) a margin control manager;
`(j) a trading system monitor; and (k) a hedging engine. In
`another aspect, the present invention comprises methods for
`trading currency over a computer network. In another aspect,
`the present invention comprises software for currency trading
`over a computer network.
`
`See application file for complete search history.
`
`7 Claims, 14 Drawing Sheets
`
`
`
`Trading
`System
`Servers
`
`/ Participant
`
`'
`
`Participant
`
`Participant
`
`GAIN CAPITAL - EXHIBIT 1001
`
`GAIN CAPITAL - EXHIBIT 1001
`
`
`
`U.S. Patent
`
`Diar.5,2013
`
`Sheet10f14
`
`US 8,392,311 B2
`
`“:32th
`
`Emgofima
`
`Emgoemn.
`
`6:th
`
`955:.
`
`8996
`
`WEPEm
`
`fl.3
`
`xcwm
`
`
`
`U.S. Patent
`
`Diar.5,2013
`
`Sheet20f14
`
`US 8,392,311 B2
`
`wzjzo
`
`bWXU; moans...
`Vpooé.OVON.rSON.rwho“8mmomSDwNVrmbCOKu
`
`
`.
`
`5.9.842moi“.n.2,1.32.0532mtz:«EDD
`
`:UQO
`
`“858$E
`
`&
`
` mucoEEOUbu:
`
`cozuoccou
`
`wZ<Ux“dDZQO"
`
`09310 .Saar
`99..Ex93..8:38
`
`not...K~Sandmacaw
`«on:pudenda2.3.:59.2
`
`
`ONKVJ
`
`macaw.ace-:0
`orx39..o93.6w:.K:9\ES;95.98:
`
`
`
`amt}no.3..58“.3e...
`
`
`.VNno:.3<onm3>3E53m~c:o°u(
`
`
`
` noxhas...0gon‘3:?>3303x3.8?>&.E:w
`
`on‘38.,¢2083
`
`3“!) X! WWO
`
`90.6560
`
`
`
`when“.63£933
`
`
`
`av\98..8:33
`
`
`
`.8‘8.x:{28:
`
`
`
`
`
`
`U.S. Patent
`
`Mar. 5, 2013
`
`Sheet3of14
`
`US 8,392,311 B2
`
`Satan.
`
`scam
`
`85:25
`
`3:205.
`
`9.55:.\Show
`
`
`
`589$33:;
`
`9:951'
`
`2.657
`
`
`
`.oSanU.9.on
`
`5955.
`
`59.8...
`
`5:52.52-520m
`
`wESw>m5.2
`
`33.5:035;
`
`m.me'BSan8&0
`
`Stow
`
`..522".
`
`.......
`
`
`
`
`
`U.S. Patent
`
`Diar.5,2013
`
`Sheet4of14
`
`US 8,392,311 B2
`
`omwaflmo
`
`mgmiww
`
`99:5
`
`28:0”. mm.
`
`
`
`U.S. Patent
`
`31025,
`
`5a
`
`US 8,392,311 B2
`
`n.
`
`Haggai
`
`uDZCqummDu
`
`«.vw602005.90
`
`oucmzoxoau‘3
`
`nMa«newo3869.8.0Bond089325mcanon
`183:50M833w
`4.528:
`S2due.»3»:£92..5as...a:
`m«3234‘£93.
` 2......g.293
`
`
`
`om???broom?wovqpOOOOOroma¢00$0800
`
`
`
`
`
`..still!
`
`vauowccouI?
`
`..8.5.0
`
`
`
`3033.0304.”acmcfib)"
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Mar. 5, 2013
`
`Sheet 6 of 14
`
`US 8,392,311 B2
`
`Do.000.00v
`
`00.ron.Na0v.ONOK
`
`
`
`o_a~__~:(£922
`
`
`
`mtvo‘i.mwoh
`
`awn:£922
`
`vocwfim
`
`
`
`>I<1‘13“.rz:nuu.q
`
`w.3
`
`EgallgggnEnus-(IF29.0
`
`
`
`
`
`N08.0mvvh.vugh.—0080..uzeow:ochmm
`
`
`
`
`
`moood.Nmowdmeow.0800.09.50.O000mbOmaha—awomhmm
`
`
`
`m
`
`
`
`
`
`
`
`U.S. Patent
`
`Mar. 5, 2013
`
`Sheet7of14
`
`US 8,392,311 B2
`
`Inn-O
`.o><9.2:$50IBmid-tuna.
`2.6mm5x93moan.
`
`omn‘mam
`
`“Epsom:
`
`w.3
`
`a.3 voccovcamom.noNwo.mo09...moMON.00OOOOON
`
`fmaxaw
`
`EgallgfignBman-'0zuuo
`
`
`
`U.S. Patent
`
`Diar.5,2013
`
`Sheet80f14
`
`US 8,392,311 B2
`
`v99.894..pFto386829.3.«33.2as
`
`«w.2.88ato«wow.03.5.3.322as
`
`$5doom.—_.tovan:323352a9.3
`
`59.88.:6038.032me«83.2.3
`
`9.2.88duo81...;omaamo.352as
`
`
`Flu-Duv—
`Eagél295325.E5051
`
`
`2.5
`
`
`
`U.S. Patent
`
`Diar.5,2013
`
`Sheet9of14
`
`US 8,392,311 B2
`
`
`
` El{3.8E.mmoaamEl328:El“.198:E.{28:El838El838Bmu...(¢PZUBIJU
`
`I.9
`
`A
`
`
`
`
`U.S. Patent
`
`Diar.5,2013
`
`Sheet100f14
`
`US 8,392,311 B2
`
`.Don—N.0p.50-aaaxcau
`
`
`
`nowagw3:250
`
`2.5
`
`
`
`US. Patent
`
`Mar. 5, 2013
`
`Sheet 11 of 14
`
`US 8,392,311 132
`
`~-': Market Didet
`
`FDREXZHAHSE
`
`and selling USO
`
`
`
`
`
`
`
`
`ACTION
`
`BUY
`
`CURRENCY
`
`IEURIUSD
`
`v
`
`vl
`
`U my 3
`
`RAT E
`
`[7 Lower Limit
`W Upper Limit
`
`57310me
`r‘TakeProtit
`
`l10000
`
`'0 .8546
`
`I0.8533
`l0.8558
`
`l0-8520
`I
`
`.
`+|
`+1 .
`
`I
`I
`
`+I I
`+l
`.I
`
`You are buying EUR
`
`
`
`[Warning Applet Window
`
`Fig. 13
`
`
`
`U.S. Patent
`
`Diar.5,2013
`
`Sheet120f14
`
`US 8,392,311 B2
`
`EEOExEI
`
` 303.3“234
`
`”9E5?
`
`E.5
`
`oEats...3on
`
`
`
`
`
`.390«9.5533003320w
`
`0&2.
`
`
`
`U.S. Patent
`
`w
`
`3
`
`e
`
`0
`
`4
`
`US 8,392,311 B2
`
`3..........................nH-+chum0“52.".9i...hu—«M_-—+ONDQO—mac...acumID—
`
`
`
`
`
`m_._+9090-mh<m
`
`Hme@53500;.30>
`M_)ow3~¢3ma\rozwmmDO
`
`5,oov_wtz...
`
`flNI”_XM-EUL flaw—v.0
`
`UBWL
`
`
`
`Kazan”.—"a...
`
`20—FUds
`
`£03530
`
`cm:95.3van
`
`2.ma
`
`
`
`
`
`300:3?.2991”mcmrzmg
`
`
`
`
`
`US. Patent
`
`Mar. 5, 2013
`
`Sheet 14 of 14
`
`US 8,392,311 132
`
`1605
`
`1610
`
`Trader clicks "Buy/Sell" button
`
`Trader opens Trading Station
`display
`
`1615
`
`Order window is displayed
`
`"Entry" tab
`
`
`
`
`1625
`
`Trader clicks
`
`displayed
`
`1620
`
`Trader decides whether to place Market
`Order or Entry Order
`
`
`
`Entry order fields
`
`Market
`order
`
`1635
`
`Trader enters order
`
`parameters
`
`1640
`
`Trader submits order
`
`1650
`
`Market price
`calculated
`
`1655
`
`Trade order executed if (a) a market order and the market
`price is within limits, or (b) an entry order and market price
`
`
`meets specified threshold
`
`1645
`
`Order data is sent to Trading
`System sen/er
`
`1660
`
`Trading System server sends
`trade status data to Trading
`Station application
`
`Fig, 1 6
`
`1665
`
`Order acknowledgment window
`
`is displayed
`
`
`
`US 8,392,311 B2
`
`1
`CURRENCY TRADING SYSTEM, METHODS,
`AND SOFTWARE
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`
`The present application is a continuation ofapplication Ser.
`No. 09/858,610 filed May 16, 2001 now US. Pat. No. 7,146,
`336 which claims priority to US. provisional application No.
`60/274,174, filed Mar. 8, 2001, and incorporates the entire
`contents thereof herein by reference.
`
`FIELD OF THE INVENTION
`
`The present invention is related to currency trading; more
`particularly, the invention is related to trading currency over a
`computer network.
`
`BACKGROUND
`
`In a traditional on-line currency market, a trade occurs
`through three steps: (1) the trader specifies to a dealer the
`currency pair and the amount that he would to trade (but does
`not specify whether he would like to buy or sell); (2) the
`dealer specifies to the trader both a bid and an ask price and
`gives the trader several seconds to respond (the dealer not
`knowing whether the trader will buy, sell, or reject the offer);
`and (3) the trader either rejects the offer or specifies whether
`he is buying or selling (his response must occur within a time
`frame of a few seconds).
`But performing such a three-way handshake over the Inter-
`net is somewhat impractical because of Internet delays: the
`trader might not actually have a few seconds to respond
`before the dealer withdraws the offer. Thus, there is a need for
`a system and method of on-line currency trading that is based
`on a trading model that is superior to the three-way handshake
`described above.
`
`Another problem is that many corporations have firewalls
`that restrict access to the corporate network, and that typically
`restrict access to the Internet (and to well-known services
`such as email, the World Wide Web, etc.) from within the
`corporation. This inhibits the ability of on-line trading sys-
`tems to access information from and transfer information to
`
`users behind corporate firewalls.
`
`SUMMARY
`
`The present invention overcomes the above-described and
`other disadvantages ofprevious currency trading systems and
`methods. In one aspect, the present invention comprises a
`system for trading currencies over a computer network. A
`preferred embodiment comprises: (a) a server front-end; (b)
`at least one database; (c) a transaction server; (d) a rate server;
`(e) a pricing engine; (f) an interest rate manager; (g) a trade
`manager; (h) a value at risk server; (i) a margin control man-
`ager; (j) a trading system monitor; and (k) a hedging engine.
`Each of these components is described in detail below in the
`Detailed Description section.
`In another aspect, the present invention comprises methods
`for trading currency over a computer network. In one embodi-
`ment, a preferred method comprises: (a) transmitting cur-
`rency market information over a computer network to an end
`user; (b) receiving a currency trade order from the end user,
`wherein the currency trade order comprises limits within
`which the currency trade will be acceptable to the end user;
`
`2
`
`(c) calculating a market exchange rate for the currency trade
`order; and (d) executing the order if the market exchange rate
`is within the specified limits.
`In another embodiment, a preferred method comprises: (a)
`transmitting currency market information over a computer
`network to an end user; (b) receiving a currency trade order
`from the end user, wherein the currency trade order comprises
`a threshold exchange rate; (c) calculating a market exchange
`rate for the received currency trade order; and (d) executing
`the order (1) if the market exchange rate is or goes above the
`threshold exchange rate and the order is a sell order, and (2) if
`the market exchange rate is or goes below the threshold
`exchange rate and the order is a buy order.
`In a further embodiment, a preferred method comprises: (a)
`receiving currency market information over a computer net-
`work from a trading system server; (b) transmitting a cur-
`rency trade order to the trading system server, wherein the
`currency trade order comprises limits within which the cur-
`rency trade will be acceptable; and (c) if a market exchange
`rate is within the specified limits, receiving information from
`the trading system server indicating that the currency trade
`order was executed.
`
`In another embodiment, a preferred method comprises: (a)
`receiving currency market information over a computer net-
`work from a trading system server; (b) transmitting a cur-
`rency trade order to the trading system server, wherein the
`currency trade order comprises a threshold exchange rate; and
`(c) if (1) the applicable market exchange rate is or goes above
`the threshold exchange rate and the order is a sell order, or (2)
`the applicable market exchange rate is or becomes below the
`threshold exchange rate and the order is a buy order, receiving
`information from the trading system server indicating that the
`currency trade order was executed.
`In another aspect, the present invention comprises software
`for currency trading over a computer network. In one embodi-
`ment, preferred software comprises: (a) software for receiv-
`ing data over a computer network from a trading system
`server; (b) software for displaying a first graphical user inter-
`face display that: (i) displays continuously updated currency
`exchange rates in real-time based on data received from the
`trading system server; and (ii) displays action buttons, includ-
`ing a buy/sell button; (c) software for displaying, in response
`to a user clicking the buy/sell action button, a buy/sell window
`display that: (i) comprises trade order parameter fields; and
`(ii) accepts trade order data entered into the trade order
`parameter fields by a user; and (d) software for transmitting
`said trade order data to said trading system server over said
`computer network.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 depicts parties involved in a preferred embodiment.
`FIG. 2 depicts a graphical user interface of a preferred
`embodiment.
`
`FIG. 3 depicts modules of a preferred trading system
`server.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`FIG. 4 depicts hardware components of a preferred
`embodiment.
`
`60
`
`FIG. 5 depicts a graphical user interface of a preferred
`embodiment.
`
`FIG. 6 depicts an account summary table display.
`FIG. 7 depicts an open trades table display.
`FIG. 8 depicts an open positions table display.
`FIG. 9 depicts an open orders table display.
`FIG. 10 depicts a transactions table display.
`FIG. 11 depicts a currency rates table display.
`FIG. 12 depicts a currency exchange rate graph display.
`
`65
`
`
`
`US 8,392,311 B2
`
`3
`FIG. 13 depicts a buy/sell pop-up window display.
`FIG. 14 depicts an acknowledgment window display.
`FIG. 15 depicts an entry order display.
`FIG. 16 depicts steps of a method of a preferred embodi-
`ment.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`The Currency Trading System of a preferred embodiment
`(hereinafter “Trading System”) of the present
`invention
`allows traders to trade currencies over a computer network.
`Preferably, this computer network is the Internet, and the
`subsequent description herein is primarily in terms of the
`Internet. However, those skilled in the art will recognize that
`the following description also applies to other computer net-
`works. Traders interface to the system using ordinary Web
`browsers running feature-rich Java applets; they obtain real-
`time data feeds of current exchange rates, they can analyze
`past exchange rates using graphical tools, they can review
`their current portfolio and past trades, and they can place buy
`and sell orders in the real-time market. Businesses interface to
`
`the system using an API. Innovative features that set the
`Trading System apart from the competition are: (i) extremely
`low spreads on the order of a few basis points, (ii) the ability
`to trade very small amounts as low as $1, and (iii) 24 hour a
`day, 7 days a week availability. This system has the potential
`to revolutionize the way currency trading is done and to open
`up currency trading to a new, large market segment of inves-
`tors and speculators for whom currency trading is not feasible
`today. Moreover, it allows businesses to address their cur-
`rency exchange requirements in the most cost-effective and
`efficient way.
`A description of the preferred server infrastructure used in
`the Trading System follows. We first give a brief introduction
`of the system as a whole.
`The Trading System involves three components (see FIG.
`1): (1) traders that are distributed around the world; (2) Trad-
`ing System servers; and (3) “Partners” consisting ofthe finan-
`cial
`institution(s) through which real currency exchange
`trades are executed, and from which real-time data feeds are
`obtained.
`
`Traders communicate with Trading System servers over a
`secure, encrypted Internet connection to review their
`accounts, to monitor currency exchange market conditions, or
`to initiate currency exchange trades. The Trading System
`servers are preferably connected to the partners’ back-ofiice
`systems, using direct, private lines.
`A trader trades with the Trading System similar to the way
`she currently trades with a broker, except that the trading is
`over the Web, occurs 24 hours a day, 7 days a week, and
`allows very small trades with very low spreads. Moreover, an
`initial deposit, which may be as low as $20, can be charged to
`a credit card to get started. Alternatively, the trader can trans-
`fer initial funds directly to the Partner bank to be credited to
`her Trading System account.
`The end user interface to the Trading System is a Web page
`that can be displayed on any standard Java-enabled browser.
`The Web page (one version is shown in FIG. 2; a second,
`preferred version is shown in FIG. 5) depicts a summary of
`the trader’s current position, recent trading activities, profit/
`loss performance of the portfolio, and a graphical display of
`recent past performance of the currencies the trader has posi-
`tions in, as well as real-time exchange rates.
`As discussed above, in a traditional on-line currency mar-
`ket a trade occurs through three steps: (1) a trader specifies a
`currency pair and an amount he would like to trade (and does
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`not specify whether he would like to buy or sell); (2) a dealer
`provides both a bid and an ask price to the trader and gives the
`trader several seconds to respond (the dealer does not know
`whether the trader will buy, sell, or reject the offer); and (3)
`the trader either rejects the offer or accepts the offer and
`specifies whether he is buying or selling, within the response
`period set by the dealer.
`In the Internet domain, this type of three-way handshake is
`problematic. The timing constraints are difficult to implement
`because of frequent delays in transmission over the Internet.
`To overcome this problem, the present invention uses a “two-
`way handshake,” in which: (1) a trader specifies in her trade
`order: (a) a currency pair; (b) a desired amount to trade; (c)
`whether she wishes to buy or sell; and (optionally) (d) upper
`and lower limits on an acceptable exchange rate; and (2) a
`dealer (in this case, a preferred Trading System) executes the
`trade using the most current “market rates” (as calculated by
`the system). However, the system only executes the order if
`the calculated market rate lies above any specified lower limit
`and below any specified upper limit. Note that this method
`does not require the use oftiming constraints, and thus avoids
`the Internet-implementation disadvantage of previous meth-
`ods.
`
`In the present invention, trades can be initiated by the trader
`at the push of a button. A trading request form pops up with
`fields properly initialized so as to minimize the number of
`keystrokes required. A trader may elect to execute a trade
`right away, in which case the buyer of a currency will buy at
`the current exchange rate market offer price. Conversely, a
`trader can sell a currency at the current bid price. A range of
`automatic trading options is available, including setting bid/
`offer prices with a certain duration and “all-or-nothing” rules.
`Furthermore, the trader can limit her risks by placing stop-
`loss orders that are executed automatically. Similarly, she can
`lock in profits, by issuing take-profit orders.
`All communication between the trader’s browser and the
`
`Trading System server occurs through the Internet, preferably
`using the strongest available encryption (e.g., 128 bit keys).
`Moreover, the trader must authenticate herself using private
`passwords or certification keys obtained from certification
`authorities, such as Verisign or Entrust.
`A request for a market trade preferably proceeds as fol-
`lows: the trader, at a push of a button, obtains a trade order
`ticket in a popup window on the browser with key fields
`pre-initialized (see FIG. 13). When the trade order is issued,
`again by the push of a button, a message is sent to a Trading
`System server, where the market price is calculated based on
`such factors as market data, size of the transaction, time of
`day, the Trading System’s current exposure, and predictions
`on market direction. The trade order is executed using this
`market price. (The trader can specify limits, so that the trade
`occurs only if the price falls within these limits.) As such, the
`Trading System operates as a market maker. A message is
`then sent back to the trader with specific trade details, which
`is displayed in a popup window (see FIG. 14) on the trader’s
`browser together with a transaction id (for future reference).
`Moreover, an open orders table (see FIG. 9) and current
`portfolio summary table (not shown) is updated to reflect the
`change.
`Alternatively, the trader can issue in a similar manner an
`entry order (see FIG. 15) that requests a trade be made when
`the currency exchange rate reaches a specified threshold. The
`trader may specify how long the entry order will be valid.
`Referring to the attached figures, a preferred embodiment
`comprises a method of trading that in turn comprises the
`following steps (see FIG. 16): At step 1605, a trader desiring
`to trade opens a Trading Station display, and at step 1610
`
`
`
`US 8,392,311 B2
`
`5
`clicks a “Buy/Sell” button 510 on the Trading Station display
`(see FIG. 5). At step 1615 an order window is displayed (see
`FIG. 13). At step 1620 the trader decides whether to place a
`market order or an entry order. If a market order, then the
`trader proceeds to step 1635 and enters desired order param-
`eters (as shown in FIG. 13). If an entry order, then the trader
`proceeds to step 1625 and clicks an “Entry” tab 1320 (see
`FIG. 13). At step 1630 entry order fields are displayed (see
`FIG. 15). Then the trader proceeds to step 1635 and enters
`desired order parameters (as shown in FIG. 15).
`Once order parameters are entered at step 1635 the trader
`submits the order by clicking a “Submit” button 1310 (see
`FIG. 13) if the order is a market order, or clicking a “Submit”
`button 1510 (see FIG. 15) ifthe order is an entry order. At step
`1645 data describing the order is sent by the Trading Station
`application to a Trading System server, where the data is
`stored. At step 1650 a current market price for the currency
`the trader desires to purchase is calculated. At step 1655 the
`trader’s order is executed if (a) the trader’s order is a market
`order and the calculated market price is within the limits set
`by the trader in the market order form at step 1635; or (b)
`order is an entry order and the calculated market price meets
`the threshold(s) specified in the Entry order form at step 1635.
`At step 1660 the Trading System server sends trade status
`data to the trader’s Trading Station application. This data
`includes an indication that the order has been executed, ifthat
`is the case, and at any rate includes an indication that the order
`has been received. At step 1665 the Trading Station applica-
`tion displays an order acknowledgment window (see FIG. 14)
`that displays order status information.
`Over time, the Trading System will accumulate an imbal-
`ance in its currency portfolio and, at times, it will need to
`neutralize its risk exposure to adverse currency fluctuations.
`The Trading System Pricing Engine can influence its expo-
`sure by setting its price quotes accordingly. Moreover, it can
`close out its positions periodically or take hedging positions
`by executing larger trades through its Partners. Preferably the
`Trading System’s positions are managed based on state-of-
`the-art
`trading models. Preferred trading models
`are
`described in US. patent application no. [METHODS FOR
`TRADE DECISION MAKING, to Olsen et al.], filed May 14,
`2001, the contents of which are incorporated herein by refer-
`ence, as well as in US. provisional application No. 60/274,
`174, filed Mar. 8, 2001.
`The Trading System servers preferably operate 24 hours a
`day, 7 days a week. These servers interface with the traders
`over the Internet on the one hand and on the other hand with
`
`the Partner’ s back-ofiice operations. Using standard, state-of-
`the-art database technology, it maintains the accounts of all
`traders and executes trades issued by the traders. The Trading
`System thus plays the role of a market maker in that it inter-
`nally aggregates all trades and only occasionally balances its
`internal positions by trading larger sums through the Partner.
`These larger trades are issued to the Partner in an automated
`way. The Trading System also takes hedging positions so as to
`minimize risks on the unbalanced portions of the traders’
`account aggregates.
`Partner’s Role
`The Partner maintains all actual funds. It is the source and
`
`target ofall fund transfers to and from customers; it maintains
`the aggregate accounts; and it executes all trades issued auto-
`matically by the Trading System servers. From a legal point of
`view, all funds must be maintained in money market instru-
`ments. Hence, the Partner will maintain a Long and a Short
`money market fund for each currency supported.
`Overview of Currency Trading System Server Internal
`Design
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`The Trading System server architecture is designed to be:
`(1) modular, in order to: (a) simplify development (time-
`to-market); (b) easily allow extensions and modifications; (c)
`ensure correctness and robustness, and (d) keep it maintain-
`able;
`(2) efficient, in order to provide fast response times to
`online users and minimize the computational and networking
`resources required to support the service;
`(3) scalable, in order to support (with suitable computing
`infrastructure) a large number of online users and high trans-
`action volumes; and
`(4) fault resilient, so that any individual failure of a com-
`puting node or network connection does not interrupt service.
`The Trading System server software preferably runs exclu-
`sively on Unix platforms, and is composed of the following
`modules, each with a distinct set of responsibilities (see FIG.
`3):
`
`(1) Database (DBMS) 310. This is the heart ofthe server. It
`keeps track of customer profile information, all customer
`accounts and all transactions, and ensures that atomicity,
`consistency, independence, and durability (“ACID”) proper-
`ties are maintained. The database is the reference point for all
`information kept by the system.
`The database is preferably a standard commercially-avail-
`able SQL database, configured for full replication for reliabil-
`ity, availability, and improved performance. The preferred
`embodiment
`is based on IBM’s DB-2 product
`line, but
`Oracle, for example, could also easily be used.
`(2) Server Front-end 315. The server front-end 315 is
`responsible for all communication with the Web-based cli-
`ents. It supports both persistent and non-persistent connec-
`tions to the traders. The persistent connects are used primarily
`forperiodic (i.e., every few seconds) transmission ofthe latest
`currency rates so that the traders can update the currency
`graphs and tables in real-time. Using persistent connections
`significantly reduces protocol processing overhead and
`reduces network bandwidth requirements. Non-persistent.
`connections are used for all transaction-oriented requests,
`such as orders, transaction history requests, logins, etc. All
`transaction-oriented communication between the trader
`
`browsers and the Server Front-end occurs fully encrypted,
`while rate information is transmitted in unencrypted form for
`efficiency reasons.
`Traders preferably communicate with the server using a
`request-response type of protocol. The Server Front-end 315
`interprets each request it receives and, for each, takes appro-
`priate action. For login requests, it sets up appropriate data
`structures so that all future requests can be serviced in the
`most efficient way. It also sets up encryption keys for secure
`communication, and logs the start of a new session with the
`Transaction Server. For rate requests, it returns the requested
`rates it obtains from the rate server. For orders, it executes the
`orders by issuing appropriate requests to the transaction
`server after checking the margin requirements, the availabil-
`ity of funds, and using rates as determined by the pricing
`engine. For stop-loss/take-profit and fixed-price orders (that
`may get executed in the future), the Trade Manager 3 65 is also
`informed. For each trade that gets executed, the Hedging
`Engine 340 and Margin Control 350 modules are informed,
`so that they always have an up-to-date snapshot of the state.
`For
`transaction history,
`the appropriate information is
`returned to the client after obtaining it from the Transaction
`Server 355.
`
`The Server Front-end 315 also encapsulates a standard
`Web server (a la Apache), that services other trader requests
`that entail formatted text; this includes all of the Help pages,
`
`
`
`US 8,392,311 B2
`
`7
`large transaction history requests, and server monitoring
`information. The Server Front-end 315 also acts as a Firewall.
`
`Internally, the Server Front-end 315 is structured as a set of
`threads that service one request after another. The threads
`allow concurrent request servicing so that many requests can
`be serviced in parallel.
`(3) Rate Server/Pricing Engine 325. The Rate Server
`obtains currency exchange rate information from a variety of
`external rate sources and stores it locally. The Pricing Engine
`computes the currency exchange rates that the traders see and
`that are used for trading. These are computed from the cur-
`rency exchange rates obtained from the external rate sources,
`the directional movement and volatility of the market, the
`current Trading System exposure and a number of other
`parameters. The computed rates are made available to the
`other modules of the system, and are also stored on persistent
`media. Various methods of calculating such rates are known
`to those skilled in the art. A preferred method is described in
`US. patent application Ser. No. 09/764,366 filed Jan. 18,
`2001, to Muller et al.
`Traders can request historical rate data so that they can
`graphically display the movements of any pair of currencies.
`The Rate Server serves such requests and preferably has
`several years of currency exchange rates available for this
`purpose.
`For fast response time, the Rate Server caches in memory
`all of the frequently and recently requested rates so as to
`minimize the number of disk accesses required.
`(4) VAR (Value at Risk) server 320. This server obtains and
`serves Value at Risk information. Various methods of calcu-
`
`lating VAR are known in the art. A preferred method is dis-
`closed in US. Provisional Patent Application No. 60/200,
`742, filed May 1, 2000, to Muller.
`(5) Transaction Server 355. This server encapsulates all
`transaction functionality and communicates the transactions
`to the Database 310 server (which runs on a separate host)
`after validating the transactions. The Transaction Server 355
`also updates all other modules that need to be informed of
`new transactions. Finally, the Transaction Server 355 informs
`the currently online traders when a transaction (that may have
`been issued by a stop-loss, take-profit, or limit order daemon
`or by the Margin Control Manager) takes place.
`(6) Interest Rate Manager 360. The Interest Rate Manager
`360 periodically (for example, every few minutes, every few
`seconds, or tick-by-tick) goes through all trader accounts to
`compute the interest rate due or owed based on the instru-
`ments currently in the portfolio, each resulting in a transac-
`tion of the trader account. The portfolio information is
`obtained through the Transaction Server 355. The interest
`rates used are obtained from external sources, and the history
`of interest rates are stored on persistent storage. Because
`real-time (or near real-time) information is used, the Interest
`Rate Manager is capable of calculating, paying out, and col-
`lecting interest by the second. Interest calculation formulas
`are known to those skilled in the art, and any appropriate
`formula can be used in the Interest Rate Manager without
`departing from the scope of the invention. An example is the
`formula
`
`where P is the principal, r is the annual interest rate, t is the
`time (in years) over which interest is earned, m is the number
`of times per year that interest is compounded, and A is the
`
`8
`amount owed (principal plus interest). The interest earned
`during time t is A—P. Thus, for example, if the annual interest
`rate is 3%, and the interest is compounded daily, then the
`interest Ik earned over each time period Tkfik—tb 1, where
`each tk is a clock-time (i.e., a particular day-hour-minute-
`second-fraction-of-a-second) to the nearest second (thus Tk is
`in seconds), is calculated according to the formula Ik:Ak—Pk,
`where Pk is the principal (the amount earning interest, not the
`“original” principal) at time tk_1, and
`
`'
`31536000
`omnifli
`A =P1 — '
`'
`k(+365]
`k
`
`.
`
`Since there are 31,536,000 seconds per year,
`
`Tk
`31,536,000
`
`is the time in years over which the interest is being calculated.
`Similar formulas can be used when tk is given to the nearest
`tenth, hundredth, or other fraction of a second. If interest is
`compounded continuously, those skilled in the art will recog-
`nize how to apply the well-known formula A:Pe” appropri-
`ately. Thus, to calculate interest on a tick-by-tick basis, the
`above formulas can be used, with Tk representing time
`between