`
`US 7,146,336 B2
`(10) Patent No:
`a2) United States Patent
`Olsen et al.
`(45) Date of Patent:
`Dec. 5, 2006
`
`
`(54) CURRENCY TRADING SYSTEM, METHODS,
`AND SOFTWARE
`
`(75)
`
`Inventors: Richard B. Olsen, Zurich (CH);
`Michael Stumm, Toronto (CA)
`.
`.
`(73) Assignee: Oanda Corporation, Toronto (CA)
`(*) Notice:
`Subject to anydisclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 673 days.
`
`6/1999 Piskiel et al. oo... 709/314
`5,916,307 A *
`3/2001 Heinzle et al. ues 705/1
`6,199,046 B1*
`11/2001 Usher et al. vues 705/37
`2001/0044771 AL*
`2001/0049651 A1* 12/2001 Selleck ..........
`ve 705/37
`
`2001/0056398 Al* 12/2001 Scheirer
`.....
`se 705/38
`
`2/2002 Szoc et al. casccsccsessesseeeee 705/39
`2002/0023053 AL*
`7/2002 Tsagarakis et al.
`........... 705/37
`2002/0087455 Al*
`2003/0115128 Al*
`6/2003 Lange et al. vv. 705/37
`2003/0159109 Al*
`8/2003 Rossmannetal. .......... 715/513
`
`(21) Appl. No.: 09/858,610
`(22)
`Filed:
`May16, 2001
`;
`—
`Prior Publication Data
`US 2002/0156718 Al
`Oct. 24, 2002
`
`(65)
`
`Related U.S. Application Data
`
`(60) Provisional application No. 60/274,174, filed on Mar.
`8 2001
`
`Int. Cl.
`(51)
`G06Q 40/00
`(2006.01)
`(52) US. Ch. w..coecoresreeeneneeeee 705/37; 705/35
`(58) Field of Classification Search 0.0.0.0... 705/35,
`oo
`. 705/37, |
`See application file for complete search history.
`References Cited
`U.S. PATENT DOCUMENTS
`
`(56)
`
`* cited by examiner
`Primary Examiner—Alain L. Bashore
`ttorney,
`ent, or
`firm—Morgan,
`(74) Attorney, Ag
`Firm—Morgan,
`LLP
`
`(57)
`
`ABSTRACT
`
`ockius
`Lewis
`Lewis & Bocki
`
`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)
`os
`a
`:
`:
`a pricing engine; (f) an interest rate manager; (g) a trade
`manager; (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.
`
`5,787,402 A *
`
`7/1998 Potter et al. oe 705/37
`
`11 Claims, 14 Drawing Sheets
`
`
` 1605
` 1610
`
` Trader opens Trading Station
` Traderclicks "Buy/Sell" button
`
`display
`1615
`Orderwindow is displayed
`
`
`
`1825
`Traderclicks
`
`“Entry” tab
`1620
`
`
`Trader decides whetherto place Market,
`
`1630
`
`Order or Entry Order
`
`
`Entry orderfiekis
`displayed
`
`‘Trader enters order
`
`
`parameters
` 1640
`
`Trader aubmits order
`
`
`1645
`
`Market price
`Order data is sent to Trading
`
` calculated
`
`System server
`
`1660
`
`
`1655
`Trading System server sends
`
`
`
`trade status data to Trading
`Trade order executed if (a) a market order and the market]
`Station application
`
`price is within limits, or (b) an entry order and market price|
`
`
`
`meets specified threshold
`
`1685
`Order acknowledgment window
`is displayed
`
`GAIN CAPITAL - EXHIBIT 1002
`
`GAIN CAPITAL - EXHIBIT 1002
`
`
`
`US 7,146,336 B2
`
`[‘sty
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 1 of 14
`
`juedioipyed
`
`quedioued
`
`juedioiped
`
`Jauyed
`
`Buipes|
`
`Wwa}shS
`
`SJOAIOS
`
`ue
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 2 of 14
`
`US 7,146,336 B2
`
`
`
`
`
`ptoooSiOz.|Ogee’bazgazzogseasnfunaceb8sepen,oe
`
`suonrsoaCEQbaPsieme]ry
`Lt308dLAAUVNadtedafiVsnowS1iNnyunaLBADIL
`
`
`
`beesoseeeeeesnesnee
`
`
`
`SPURWWIOD43579)ONeUUIOD
`
`eSbleBelkas
`
`
`
`
`
`Bb/GrOZasn7yna
`
`
`
`+S¢BbbO'tasnidao
`
`Stsetere
`
`26/S€P01Adtrasn
`
`Obsbizor+aNavasn
`
`Os/Plirb*avavasn
`
`
`
`
`
`[={sun92]soasg|JeasayuyJpany)Aoueunsagrosos.+awasung
`
`cofcess.+SHON
`
`
`
`bbsGO'GELAdftrana
`
`SNINO
`
`~‘SL
`
`
`
`
`
`MODUIAJaIddiy:‘GurueAy
`
` -B66)“be299-
`bShethOlbtSO-b+OO:bLGOEL
`AVI/ASN
`8L97ZpaswfseyyerySo$0'0Z-
`
`1g'2S2'68souelegyeu©Arewuing
`
`
`
`O2/SO'LdLAdr/daO
`
`SYYOId[EJOL
`.essAng@49°75268TIQeHEAYUIBIepy
`zunovy
`
`
`
`
`
`bZ/69820dao/ana
`
`Etoe emi
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 3 of 14
`
`US 7,146,336 B2
`
`aayndwoy
`jouyu077spell
`
`swayskg
`
`JO}IUOW
`
`JG,
`
`ySas9}U]
`
`BuiBpey
`
`euibuy
`
`ulfsew
`
`NS
`
`ee
`Soot
`
`S|=eulbug
`€SI
`
`“euuonsesuel
`
`16;490135
`A)||
`
`souyied
`
`yueg
`
`eoepazy|
`
`Buipesy
`
`waysks
`
`JOPUCW
`
`ayey
`
`/49A1ag
`
`Buistid
`
`J9AI9S
`
`uajuos4
`
`UONEISHOAAo
`
`LOREISOM
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 4 of 14
`
`US 7,146,336 B2
`
`Database
`
`Servers
`
`
`
`ISP
`
`
`
`Fig.4
`
`
`
`
`Routers
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 5 of 14
`
`US 7,146,336 B2
`
`L1id0Ud
`LaXyVviN
`
`z000'0-
`
`verb’)
`
`98br'L
`
`-Stb'L
`
`Z000'0-
`
`¢s899°0
`
`ys9e'0
`
`orse'ao
`
`£598'0
`
`SONVHOxXBaaOY abueyoxain47,
`L-Gb'L(=,were]JeAB4A=|asnvwna|AousunamtTremameemreesasanebO/Z008'0
`
`-0O0s‘6270-OB8N/anNs
`
`
`
`
`asndadsozceqgOoooasnfanapoLee8Ooo001
`jesoseor||Aar7asn
`ishevrser||aHavasn
`joeszeost||avorasn
`jessrerrs||asn/dao
`
`jeozz-SUpOles301
`peszsos'o[|asnvuna
`
`
`06LOe'z6aiqereayUiBseyy
`
`ov'ezo'epasr)mbueyy
`
`00°'000'00Lsoueleg
`vo}|Aarrana
`‘ol|daorsna
`
`AaVANNSNODDY
`
`BaLvayNAAN
`
`MOpUIAyaiddy‘Guilewy:
`
`¢‘S14
`
`60/08hvO
`
`pazyo9uu04mgte
`
`ANANANP32
`yor,osUUE7)
`
`nesrAng
`
`SUOIPSOY
`
`sapesy
`
`Si9pIO
`
`AiO}S14
`
`sisheuy
`
`SMON
`
`SUUNJO4
`
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 6 of 14
`
`US 7,146,336 B2
`
`z000'0
`
`£000'0-
`
`26980CbbLb
`
`Stell
`
`6e98'0
`
`
`
`00000'OOL
`
`OL949'2
`
`06LOE2B
`
`
`
`aqerearyubieyy
`
`
`
`SPpOlgJFPOL
`
`
`
`pasnuibseypy
`
`sourjeg
`
`
`
`AUVAWHOSLNOODIy
`
`9“S1q
`
`000001
`
`4H3/dSN
`
`O9Zee
`
`L‘Sy
`
`
`
`
`
`8988°0Sb28'0o00s9
`
`asnsan3
`6SLcEe
`
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 7 of 14
`
`US 7,146,336 B2
`
`sainn[wund|waquo|| Adfeana
`
`[NOlvand|Lanuww|add[at[ws]
`LL] 21oes
`
`AHI/aSN
`
`asnvana
`
`SPTa
`
`
`
`8a3z0NoDNIAIQ
`
`PeuapunBOSEG
`
`682¢c6
`
`€02£6
`
`000002
`
`6‘S14
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 8 of 14
`
`US 7,146,336 B2
`
`
`NOILIVSNVYL[[4]AMDLBIFLN3AD3y
`vO:Sb‘O00Z‘++YO88980000SZasnvnayopeyAng+Z02¢
`
`
`
`
`
`
`BE:Zb‘0002bbPObOsr|boooooLasinrdasWOONE1b002S
`
`
`
`Zp:9b‘0002‘6POps9s8'0oo000+asnvwngyomeWyAng8S69¢
`
`
`
`
`
`€r'8b‘0002‘6PO98br'boocodorasnidaswoeWYAng6S69S
`
`
`
`£0:St‘000Z"bbPO6898'0000SzasnvangJOPEWHPS
`
`
`
`
`aWilsaLva|39d=]sainn[|aund|3dAL
`
`OQ‘Sty
`
`
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 9 of 14
`
`US 7,146,336 B2
`
`cc
`||£9/E0041]||PS
`Bi#OL0G'4
`26/06890
`6b#DESZG
`89/99401
`SL#SLSb'L
`Ob#SbSS'0
`
`BALVyLNIMAND
`g¥va/dsn
`
`SJHI/OSN
`
`dao/ans
`
`Adf/ana
`
`gsn/yna
`
`asn/dao
`
`Adfiasn
`
`
`
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 10 of 14
`
`US 7,146,336 B2
`
`20280
`
`9$48'0
`
`ZI‘Sty PPO}SE0]bEPO]EbPOLEOLOFGT
`
`
`-000Z‘G11320-a08sn/4ynN3
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 11 of 14
`
`US 7,146,336 B2
`
`'\ Market Order
`
`FORE XCHARGE
`
`SEES
`
`ACTION
`
`CURRENCY
`UNITS
`RATE
`
`v |
`
`feursusp
`{10000
`fo.s5e
`
`[Warning: Applet Window
`
`+| -|
`[o.e6s33
`J¥ Lower Limit
`+|
`.
`|
`[o.s55e
`[7 Upper Limit
`[oesz0 +| |
`grvtnntneense
`[" take Prot[+{ -|
`
`You are buying EUR
`
`and selling USD
`
`Fig. 13
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 12 of 14
`
`US 7,146,336 B2
`
` bl‘Sly
`
`
`
`
`
`
`
`OJequunujax91)
`
`
`
`MOpUIAAJa[ddy‘BuneA,
`
`
`
`“JBPIOPOHIEWpa}dsacoeJanES
`
`OSNI
`
`
`
`lapigJayeW
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 13 of 14
`
`US 7,146,336 B2
`
`peeBvdeeeeeePePn 19PIOdayuy
`
`[=asnryna
`AINAYYHNSD
`
`~ANG
`
`NOILDY
`
`oor
`
`SLINN
`
`LAxaeayey
`
`}:,-.
`
`S31vy
`
`¢]‘
`
`SI
`
`
`
`MmOpUIAAaddy‘Bue|
`
`
`
`YN]BuiAngsenora
`
`
`
`asnGunyjaspue
`
`[-=Lzss'of=fa__ozse'ofJ-REPOL|[--f+_srss'of
`sso,doisa]
`
`voHesng
`
`
`
`
`U.S. Patent
`
`Dec. 5, 2006
`
`Sheet 14 of 14
`
`US 7,146,336 B2
`
`1605
`
`1610
`
`Traderclicks "Buy/Seli" button
`
`Trader opens Trading Station
`display
`
`"Entry" tab
`
`1615
`
`Order windowis displayed
`
`1620
`
`Trader decides whetherto place Market
`
`
`Orderor Entry Order
`
`1625
`
`Traderclicks
`
`Entry
`order
`
`1630
`
`Entry orderfields
`displayed
`
`1640
`
`Trader submits order
`
`
`
`
`1645
`
`Order data is sent to Trading
`System server
`
`Market
`order
`
`1635
`
`Trader enters order
`parameters
`
`1650
`
`Market price
`calculated
`
`
`
`1660
`
`
`
`
`
`
`
`
`is displayed
`
`Fig. 16
`
`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
`
`Trading Systern server sends
`trade status data to Trading
`Station application
`
`1685
`
`Order acknowledgmentwindow
`
`
`
`US 7,146,336 B2
`
`1
`CURRENCY TRADING SYSTEM, METHODS,
`AND SOFTWARE
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`
`This application claimspriority to U.S. provisional appli-
`cation 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 inventionis 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 orsell); (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 whetherthe 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
`Internet is somewhat impractical because of Internet delays:
`the trader might not actually have a few seconds to respond
`before the dealer withdrawsthe 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 havefirewalls
`that restrict access to the corporate network, and that typi-
`cally 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 systems to access information from and transfer
`information to users behind corporate firewalls.
`
`SUMMARY
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`2
`In another embodiment, a preferred method comprises:
`(a) transmitting currency market information over a com-
`puter networkto an end user; (b) receiving a currency trade
`order from the end user, wherein the currency trade order
`comprises a threshold exchangerate; (c) calculating a mar-
`ket exchangerate for the received currency trade order; and
`(d) executing the order (1) if the market exchangerate is or
`goes abovethe threshold exchangerate and the orderis 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
`network from a trading system server; (b) transmitting a
`currency trade order to the trading system server, wherein
`the currency trade order comprises limits within which the
`currency trade will be acceptable; and (c)
`if a market
`exchange rate is within the specified limits, receiving infor-
`mation 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
`network from a trading system server; (b) transmitting a
`currency trade order to the trading system server, wherein
`the currency trade order comprises a threshold exchange
`rate; and (c) if (1) the applicable market exchangerate is or
`goes abovethe threshold exchangerate and the orderis a sell
`order, or (2) the applicable market exchange rate is or
`becomes below the threshold exchangerate and the orderis
`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 soft-
`ware for currency trading over a computer network. In one
`embodiment, preferred software comprises: (a) software for
`receiving data over a computer network from a trading
`system server; (b) software for displaying a first graphical
`user interface display that: (i) displays continuously updated
`currency exchangerates in real-time based on data received
`from the trading system server; and (ii) displays action
`buttons, including a buy/sell button; (c) software for dis-
`playing, in response to a user clicking the buy/sell action
`button, a buy/sell window display that: (4) comprises trade
`order parameter fields; and (11) 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
`
`The present invention overcomesthe above-described and
`other disadvantages of previous 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;
`(1) a margin
`control manager; (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 meth-
`ods for trading currency over a computer network. In one
`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 limits
`within which the currencytrade will be acceptable to the end
`user; (c) calculating a market exchangerate for the currency
`trade order; and (d) executing the order if the market
`exchange rate is within the specified limits.
`
`FIG. 1 depicts parties involved in a preferred embodi-
`ment.
`
`50
`
`FIG. 2 depicts a graphical user interface of a preferred
`embodiment.
`
`FIG. 3 depicts modules of a preferred trading system
`server.
`
`FIG. 4 depicts hardware components of a preferred
`embodiment.
`
`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.
`FIG. 13 depicts a buy/sell pop-up window display.
`FIG. 14 depicts an acknowledgment window display.
`
`55
`
`60
`
`65
`
`
`
`US 7,146,336 B2
`
`3
`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 recognizethat
`the following description also applies to other computer
`networks. 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 andsell 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 onthe order of a few basis points, (11)
`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 currencytrading to a new, large market
`segment of investors and speculators for whom currency
`trading is not feasible today. Moreover,it allows businesses
`to address their currency exchange requirements in the most
`cost-effective and efficient way.
`A description of the preferred server infrastructure used in
`the Trading System follows. Wefirst give a brief introduc-
`tion of the system as a whole.
`The Trading System involves three components (see FIG.
`(1) traders that are distributed around the world; (2)
`1):
`Trading System servers; and (3) “Partners” consisting of the
`financial
`institution(s)
`through which real
`currency
`exchangetrades 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 exchangetrades. The Trading System
`servers are preferably connected to the partners’ back-office
`systems, using direct, private lines.
`Atrader 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 transfer 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 curren-
`cies the trader has positions in, as well as real-time exchange
`rates.
`
`in a traditional on-line currency
`As discussed above,
`market a trade occurs through three steps:
`(1) a trader
`specifies a currency pair and an amount he would like to
`trade (and does not specify whether he would like to buy or
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`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 imple-
`ment 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 buyorsell; and (option-
`ally) (d) upper and lowerlimits 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
`of timing constraints, and thus avoids the Internet-imple-
`mentation disadvantage of previous methods.
`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
`numberof 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. Con-
`versely, 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, prefer-
`ably using the strongest available encryption (e.g., 128 bit
`keys). Moreover, the trader must authenticate herself using
`private passwordsorcertification keys obtained from certi-
`fication authorities, such as Verisign or Entrust.
`A request for a market
`trade preferably proceeds as
`follows: 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 messageis 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 messageis then sent backto 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 orderstable (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
`
`
`
`US 7,146,336 B2
`
`5
`to trade opens a Trading Station display, and at step 1610
`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 parameters (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) if the order is an entry
`order. At step 1645 data describing the order is sent by the
`Trading Station application to a Trading System server,
`wherethe data is stored. At step 1650 a current market price
`for the currency the trader desires to purchaseis calculated.
`At step 1655 the trader’s order is executedif (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.
`Atstep 1660 the Trading System server sendstrade status
`data to the trader’s Trading Station application. This data
`includes an indication that the order has been executed, if
`thatis the case, and at any rate includes an indication that the
`order has been received. At step 1665, the Trading Station
`application displays an order acknowledgment window (see
`FIG. 14) that displays order status information.
`Overtime, 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 onstate-
`of-the-art
`trading models. Preferred trading models are
`described in U.S. patent application Ser. No. 09/855,633,
`filed May 14, 2001, the contents of which are incorporated
`herein by reference, as well as U.S. 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 onthe other hand with
`
`the Partner’s back-office 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 makerin that
`it
`internally aggregates all
`trades and only occasionally
`balancesits internalpositions 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 minimizerisks on the unbalancedportions
`of the traders’ account aggregates.
`Partner’s Role
`The Partner maintains all actual funds. It is the source and
`
`target of all fund transfers to and from customers; it main-
`tains the aggregate accounts; andit executesall trades issued
`automatically by the Trading System servers. From a legal
`point of view,all funds must be maintained in money market
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`instruments. 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
`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 main-
`tainable;
`(2) efficient, in order to provide fast response times to
`online users and minimize the computational and network-
`ing resources required to support the service;
`(3) scalable, in order to support (with suitable computing
`infrastructure) a large number of online users and high
`transaction volumes; and
`(4) fault resilient, so that any individual failure of a
`computing node or network connection does not interrupt
`service.
`
`The Trading System server software preferably runs
`exclusively on Unix platforms, and is composed of the
`following modules, each with a distinct set of responsibili-
`ties (see FIG.3):
`(1) Database (DBMS) 310. This is the heart of the server.
`It keeps track of customerprofile information, all customer
`accounts and all transactions, and ensures that atomicity,
`consistency, independence, and durability (“ACID”) prop-
`erties are maintained. The databaseis the reference point for
`all information kept by the system.
`The database is preferably a standard commercially-
`available SQL database, configured for full replication for
`reliability, availability, and improved performance. Thepre-
`ferred 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-basedcli-
`ents. It supports both persistent and non-persistent connec-
`tions to the traders. The persistent connects are used prima-
`rily for periodic (i.e., every few seconds) transmission of the
`latest currency rates so that
`the traders can update the
`currency graphs and tables in real-time. Using persistent
`connections significantly reduces protocol processing over-
`head 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 unen-
`crypted form for efficiency reasons.
`Traders preferably communicate with the server using a
`request-responsetype of protocol. The Server Front-end 315
`interprets each request
`it receives and,
`for each,
`takes
`appropriate 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 availability 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 365 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
`
`
`
`US 7,146,336 B2
`
`7
`appropriate information is returned to the client after obtain-
`ing 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 includesall of the Help pages,
`large transaction history requests, and server monitoring
`information. The Server Front-end 315 also acts as a Fire-
`wall.
`
`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 exchangerate information from a variety of
`external rate sources and stores it
`locally. The Pricing
`Engine computes the currency exchangerates that the trad-
`ers see and that are used for trading. These are computed
`from the currency exchangerates 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 knownto those skilled in the art. A preferred methodis
`described in U.S. patent application Ser. No. 09/764,366,
`filed Jan. 18, 2001, to Miiller 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 numberof disk accesses required.
`(4) VAR (Value at Risk) Server 320. This server obtains
`and serves Value at Risk information. Various methods of
`
`calculating VAR are knownin the art. A preferred method is
`disclosed in U.S. Provisional Patent Application No. 60/200,
`742, filed May 1, 2000, to Miller.
`(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 whena 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 trans-
`action 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 Manageris capable of calculating, paying
`out, and collecting interest by the second. Interest calcula-
`tion formulas are knownto those skilled in the art, and any
`appropriate formula can be used in the Interest Rate Man-
`ager without departing from the scope of the invention. An
`example is the formula
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`A=P(L+ -\"
`
`whereP is the principal, r is the annualinterest rate, t is the
`