Title: Trading Patterns
1Trading Patterns
- Information System EngineeringPatterns In
System Design Analysis 372-1-4601
2List Of Content
- Motivation
- Trading Patterns
- Introduction
- Contract
- Portfolio
- Quote
- Scenario
- Bibliography
3Motivation
- "Wall Street is littered with poorly designed
in-house systems projects that have been tossed
into the digital dust heap. Groenfeldt - Software developers treat analysis just by
looking at the requirements at the surface - Patterns, or object models, often repeat
themselves in many projects - Financial systems implement complex financial
problems
4Trading Patterns
- Trading Patterns
- A Collection of patterns related to the banking
industry - Why Patterns?
- Patterns makes the development of banking
applications more efficient - Patterns helps us addressing the problem by
creating a better conceptual model - Patterns will assist the analyst/developer not
only in conceiving the model but also in
communicating with the users
5Trading Patterns
- Enable to create a system that is flexible as
possible in order to be easily extendable to
support new instruments, pricing models and risk
management methodology
6Trading Patterns - Introduction
- Trading is a set of patterns focus on goods
exchange - Those patterns look at the buying and selling
goods and the prices of these goods with respect
to the stock market in rapidly changing
conditions - These patterns use the experience of a trading
system of a bank - These patterns take a look at the different
angles from a selling and a buying perspective - The trading system must understand the goods
exchange in different circumstances
7Trading Patterns - Contract
- Contract
- Represents the simplest financial deal, namely,
buying some instrument from another party at a
certain future time for a certain price - The kernel of all trading applications are
contracts, also referred to as deals or trades - A contract is a legal deal between two or more
parties (usually two) - The parties agree to swap some assets or cash
flows either on the spot or at a later time
8Trading Patterns - Contract
9Trading Patterns Contract (1)
- Long short are terms for buy sell,
respectively - The amount of the instrument is traded with the
counterparty - Disadvantage ?
- The single party limits the kind of contracts
that can be represented
10Trading Patterns Contract (1) example
- CITIBANK sells 2 million US dollars (USD) for 1
million British pounds for British Railways - Contract Short
- Counterparty British Railways
- Instrument USD/GBP
- Amount 1 million
- Price 2
11Trading Patterns Contract (2)
- Indicating buyers and sellers by separate
relationships - Support internal or completely external deals
12Trading Patterns Contract (3)
- Less concise
- Better Support the traders view
13Eurex Trading System
- .
- Eurex is the world's leading futures and options
market for euro denominated derivative
instruments. - Its electronic trading platform provides access
to a broad range of international benchmark
products. - With market participants connected from 700
locations worldwide - Trading volume at Eurex exceeded 1.014 billion
contracts in 2003
14Trading Patterns Portfolio
- Portfolio
- A collection of contracts that can be valued as a
whole - A bank will look at a group of related contracts
and assess their joint risk - Collection of contracts by
- A single trader
- A particular instrument
- A particular counterparty
- Or some other combinations
15Trading Patterns Portfolio
16Trading Patterns Portfolio (1)
- The value of a portfolio is the sum of the values
of underlying contracts - What should be the cardinality of the association
? - (1 ,1)
- Cant consider contract in
different perspectives - (1 , n)
- We need to build an application
that would search all the contracts and assign
them to portfolios
17Trading Patterns Portfolio (2)
- Solution
- We can give portfolio a Boolean method, which
takes a contract as argument
18Devon Exchange System
- .
- Provides back-office processing requirements of
firms participating in the European
exchange-traded derivatives markets - DEVON gives the user the possibility to use a
filter to add deals to a portfolio at a given
time, but the portfolio keeps a reference of all
deals it contains and does not use the filter
later on - DEVON allows the user to create a scenario by
loading a file of exchange rates or manually
setting the rates. The date can be shifted back
and forward. The scenario can then be applied to
a real or hypothetical portfolio
19Trading Patterns Portfolio (2)
- The portfolio then consists of all contracts for
which the Boolean method evaluates to true - This is a powerful notion because we can
construct portfolios by any combination of
properties of contracts - How is the Boolean Method implemented ?
- A block of code that returns true or false when
given a contract as argument - Very easy in Smalltalk, Lisp
- More tricky in C, Java (need a compiled
function)
20Trading Patterns Portfolio
- Portfolios are commonly formed from a number of
properties of contract - Counterparty
- Dealer (primary party)
- Instruments
- Dates of deals
- We can combine these attributes into a particular
contact selector object
21Trading Patterns Portfolio (3)
- Contract Selector object is used to match the
given contract argument and those that match,
become part of the portfolio - Contract Selector object cant select all
possible portfolios but it can cover most of them
22Trading Patterns Portfolio (3) example
- A portfolio consists all the deals involving
Aroma Coffee Makers stock to John Smith - Filter properties of contract
- Counterparty John Smith
- Instruments Aroma Coffee Makers
- Java Demo
23Trading Patterns Portfolio (4)
- we can abstract the interfaces of both the
Boolean method and the contract selector into a
single abstract type the portfolio filter
24Trading Patterns Portfolio (4)
- Portfolio filter selects contracts for a
portfolio - Operation
- SelectContracts takes a collection of contracts
as parameter and returns another collection of
contracts - IsIncluded evaluated for each contract in the
input collection and, if true, adds it to the
result
25Trading Patterns Portfolio
- Should portfolios be transient or permanent ?
- Transient filled on demand. The filter is
specified and all instances of contract are
checked to see if they match the filter. - Permanent are created in the same way but not
discarded. When new contracts created they are
checked against them - Query processing
- Contracts Creation
- Storage
26Trading Patterns - Portfolio Modeling Principles
- If a set of objects (like contracts) can be
formed with various criteria, a portfolio should
be used - By using abstraction the implementation can vary
easily by sub-classing - The essential characteristic of a portfolio is
that of an object that encapsulates the selection
mechanism
27Trading Patterns - Quote
- Quote
- A set of numbers to represent the prices
- Anything traded on a financial market has a price
- Usually, the price is not a single number
28Trading Patterns - Quote
29Trading Patterns Quote
- We quote two numbers
- price to buy (which is the bid)
- price to sell ( the offer )
- Other two numbers are derived
- spread the difference between the bid and the
offer - Median the average of bid and offer
30Trading Patterns Quote (1)
- Use a separate quote object
- Brings the particular responsibilities together
into a simple reusable code
31Trading Patterns Quote example
- Example The USD/GBP rate is 0.67/0.68
- Instrument USD/GBP
- Quote
- Bid 0.67
- Offer 0.68
- Mid 0.675
- Spread 0.1
32Trading Patterns Quote (2)
- Two-way prices are common, but sometimes one-way
prices are used - One-way quote is treated as a quote, with the bid
equal to the offer
33QTPlus
- .
- The premier windows-based quote and charting
product - Real Time or Delayed Streaming Quotes
- Powerful Charting Capabilities
- Providing with constant news and market updates
- Allows you to design your own workbooks
34Trading Patterns - Quote Modeling Principles
- When multiply attributes interact with a behavior
that might be used in several types, the
attributes should be combined into a new
fundamental type - If the difference between two similar types is
often ignored then an abstract subtype can be
used - If the distinction between them is usually
important, then abstract subtype should not be
used
35Trading Patterns - Scenario
- Scenario
- represents the state of the market at a certain
point in time and the elements within the
scenario represent the prices at that point - The notion of Scenario is used in every system
providing some risk management functionality - Simulation is used to perform a "what-if"
scenario against a portfolio - Simulated Market Data temporarily replaces real
market data while running a risk management or
pricing application
36Trading Patterns - Scenario
37Trading Patterns Scenario
- The TimePoint indicates at what time the quote is
correct for the instrument - Shows how prices change over time and keep
history of this changes - How can you find the closing prices for a market
? - It involves taking all the stocks within that
market and looking for the latest quotes for the
stock
38Trading Patterns Scenario (1)
- This allow a group of prices at a single time to
be treated as a single object - What about markets that do not have a single
publisher for a price (foreign exchange markets)
39Trading Patterns Scenario (2)
- We add the party that publishing the price to the
model (like different banks)
40Trading Patterns Scenario (2) example
- An Import/Export snacks merchant considers the
price of goods in a number of European countries. - Instruments goods
- Party a specific market
- Quote two-way prices
- He can look on the opportunities where the price
difference is grater than transporting costs - As we can see from this example The scenario
object provides a base to pull together all the
factors in a hypothetical case so that different
cases can be compared easily
41Trading Patterns Scenario (2)
- In the this model of scenario, we haven't
described how the prices are obtained - Where do they come from?
- In general, there are three origins for a price
- publication by some body that is widely quoted
- Calculations from other prices or market
characteristics - Opinion of an individual trader or team of
analysts
42Trading Patterns Scenario (3)
Incomplete
43Trading Patterns Scenario (3)
- Sourced Scenario
- This represents the fact that the price has been
obtained from an information source - For example, consider an analyst looking at the
prices of some goods. The analyst can treat each
company as an information source for getting the
price. The sourcing index could be a page number
in a catalog. He can create a scenario for each
company or consolidate them into a single
scenario for all companies.
44Trading Patterns Scenario (3)
- Market Indicator
- In scenarios, it is common to have things other
than instruments - For example, an important concept in derivative
contracts is volatility - which is an indicator
of how much the value of the instrument is
changing or interest rates for foreign currency
markets - Hence we need a supertype that encompasses
instruments, volatilities, and others
45Trading Patterns Calculating Scenario elements
- The algorithm for calculating the price can be an
object in his own right - The calculated scenario element has a list of
scenario elements and a formula
46Trading Patterns Calculating Scenario elements
- This allows a single formula to be reused by
several calculated scenario - Example
- A trade is specialist on the FFR. He determines
the exchange rate between NLG and FFR by cross
rates using DEM. - Market Indicator ltNLG/FFRgt
- Calculated Scenario Element ltNLG/DEMgt
ltDEM/FFRgt - Formula lt / gt
By Reuters
47Trading Patterns Scenario Modeling Principles
- Scenario should be used when a combination of
prices or rates should be considered as a group - Scenario should be used when a collection of
indicators change in series of time points
48Bibliography
- Analysis Patterns Reusable Object Models
M.Fowler - Why In-House Systems Fail, Derivatives Strategy
T.Groenfeldt - Risk Management Framework P.Marsura
- ET SwapsManager Using Object Technology in the
Financial Engineering Domain E. Gamma, T.
Eggenschwiler
49Q
A