Upload
jamese
View
54
Download
0
Embed Size (px)
DESCRIPTION
Object Oriented Modelling. Object Oriented Modelling. Develop cognitive models to help discover and design OO software Focus is on finance applications High-level Concept Mapping techniques Map CMs to UML, patterns and code. What is a Concept?. - PowerPoint PPT Presentation
Citation preview
C++
for F
inan
cial I
nstru
men
t Pric
ing Object Oriented Modelling
2
C++
for F
inan
cial I
nstru
men
t Pric
ing
Object Oriented Modelling Develop cognitive models to help
discover and design OO software Focus is on finance applications High-level Concept Mapping
techniques Map CMs to UML, patterns and code
3
C++
for F
inan
cial I
nstru
men
t Pric
ing
What is a Concept? A regularity in entities, objects,
activities or events Designate a concept by a label We use concepts as recognition
devices Concepts can be abstract/high-level
or concrete/low-level
4
C++
for F
inan
cial I
nstru
men
t Pric
ing
Examples of Concepts Instrument, option, IBM stock Pricing model, PDE, FDM MC pricing engine Risk System
5
C++
for F
inan
cial I
nstru
men
t Pric
ing
Links We ‘glue’ concepts together to form
propositions Meaningful relationships between
concepts A link is typically a verb or verb
phrase Source: text, word-of-mouth,
experience
6
C++
for F
inan
cial I
nstru
men
t Pric
ing
Examples of Links FDM uses a PDE An Asian option has various kinds of
payoff A Cheyette model is a kind of Asian
option Crank Nicolson is a FD scheme A portfolio consists of instruments
7
C++
for F
inan
cial I
nstru
men
t Pric
ing
Relationships with OO Concepts correspond to classes and
(sub)systems Links correspond to ISA, aggregation
and association relationships We create a concept maps, evaluate
it and then map to C++ classes and patterns
We recommend it!
8
C++
for F
inan
cial I
nstru
men
t Pric
ing
Concept Map A set of concepts with links
connecting them Concepts correspond to nouns, links
to verbs and verb phrases Originally used in Education Duffy used it for Object Modeling
Technique (OMT, 1995)
9
C++
for F
inan
cial I
nstru
men
t Pric
ing
Example: AustraliaContinent
Canberra
Cities
States
KangarooCows
AnimalsFarms
Australia
such as
such as
such as
has has has
has has
10
C++
for F
inan
cial I
nstru
men
t Pric
ing
Finite Difference Method
PDE
Excel
Display
Mesher
Crank NicolsonImplementation
Euler
Matrix Solver
FDM
such as
needs
is a
has
uses
present in
has
CEVBlack Scholes
Data
Properties
Functions
such as
is ais a
is ais a
uses functions
11
C++
for F
inan
cial I
nstru
men
t Pric
ing
Why Concept Maps? Forces us to think about the problem Easier to understand and to discuss
than ‘flat’ text Front-end to UML and Design
Patterns (Gamma et al) Many stakeholders can understand
them
12
C++
for F
inan
cial I
nstru
men
t Pric
ing
Concept Mapping Process We wish to develop techniques for
creating concept maps Cleat input and output (defined
process) Input: text, discussion, domain
knowledge Output: One or more (hierarchical)
concept maps
13
C++
for F
inan
cial I
nstru
men
t Pric
ing
Categories of Concept Maps Describing the structure of
(complex) objects Describing dependencies in a
dependency graph Data flow in a ‘data graph’ Any combination of the above
14
C++
for F
inan
cial I
nstru
men
t Pric
ing
The Filtering Process Texts tend to be ambiguous People tend not to ask question Get a common frame of reference
ASAP Apply standard questions
15
C++
for F
inan
cial I
nstru
men
t Pric
ing
Questions What is What kinds of How to When, why Relationship questions Follow-on questions
16
C++
for F
inan
cial I
nstru
men
t Pric
ing
Sources of Confusion Noise (redundancy) Silence Overspecification Contradiction Ambiguity Role (a ‘view’ of the ‘real’ thing,
what is the latter?)
17
C++
for F
inan
cial I
nstru
men
t Pric
ing
The Process 1. Make a list of words/concepts in
current problem 2. Apply filtering process (modify
list in 1.) 3. Find the links between the words 4. Construct sentences/propositions
between the words in steps 2 and 3
5. Construct the concept map
18
C++
for F
inan
cial I
nstru
men
t Pric
ing
The Map 1. List key concept 2. List supporting concepts at next
level of generality 3. Create links between main and
supporting concepts 4. Create cross-links between
supporting concepts 5. Goto step and execute for each
supporting concept
19
C++
for F
inan
cial I
nstru
men
t Pric
ing
Example: Instruments
Instrument
Call
Payoff
FunctionsBond Data
Heterogeneous
Properties
such as
such as
can be
has
initialises
implies
Homogeneoes
Option
Monitoring
Date Dependent
Factory
can be
is ais a
has
such as
can be
may contain
20
C++
for F
inan
cial I
nstru
men
t Pric
ing
Example: Monte Carlo
MC Engine
RiskSystem
FDM
needs
produces
needs
SDE
Pay off
based on uses
uses
Price
RNG
21
C++
for F
inan
cial I
nstru
men
t Pric
ing
Example: Asian Options
Asian Pde
Numeric Solver
Monitoring
Cheyette
Payoff
Discrete
Asian Option
has
such as
uses
Average Strike Call
Bridge
Etc. Continuous
is ais a
solved by
has
models
such as such as such as
Bridge
22
C++
for F
inan
cial I
nstru
men
t Pric
ing
Example: Pricing Models
Instrument System
Instrument has
by
uses
Pricing Mode
such as
has
consists of
Asset Model
Underlying
CEV
is ais a
concernsuses
Risk System
Bridge
SDE PDE
uses
23
C++
for F
inan
cial I
nstru
men
t Pric
ing
Example: Merging Concept Maps
Model
PDE hasSDE
such as
by
FDM
Approximation
Data
is ais a
models
MesherContinuous Space
Asset
Time
uses
MC
such as
Discrete Space
such as
such as
models
24
C++
for F
inan
cial I
nstru
men
t Pric
ing
What’s next? Assuming we have a good feeling
about the map, start design UML components, classes and
corresponding diagrams Design patterns C++ code
25
C++
for F
inan
cial I
nstru
men
t Pric
ing
Example: Component Diagram
PDE FDM
CNEuler
Bridge
CEVBlack Scholes
Mesher
Matrix Solver
<<uses>>
26
C++
for F
inan
cial I
nstru
men
t Pric
ing
Tips on Text Input At most 1 A4 Describe what the system should
deliver What is the input? Describe the activities in the process
from input to output