Download Object Oriented Modelling

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Lattice model (finance) wikipedia , lookup

Transcript
C++ for Financial Instrument Pricing
Object Oriented Modelling
Object Oriented Modelling
C++ for Financial Instrument Pricing




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
2
What is a Concept?
C++ for Financial Instrument Pricing




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
3
Examples of Concepts
C++ for Financial Instrument Pricing




Instrument, option, IBM stock
Pricing model, PDE, FDM
MC pricing engine
Risk System
4
Links
C++ for Financial Instrument Pricing




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
5
Examples of Links
C++ for Financial Instrument Pricing





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
6
Relationships with OO
C++ for Financial Instrument Pricing




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!
7
Concept Map
C++ for Financial Instrument Pricing




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)
8
Example: Australia
Continent
such as
C++ for Financial Instrument Pricing
Australia
has
Farms
has
Cows
has
Animals
has
States
such as
Kangaroo
has
Cities
such as
Canberra
9
Finite Difference Method
Mesher
C++ for Financial Instrument Pricing
needs
Functions
present in
uses functions
PDE
Display
FDM
such as
is a
is a
has
is a
Excel
Properties
has
such as
Euler
Crank Nicolson
Implementation
uses
Data
is a
Black Scholes
is a
CEV
Matrix Solver
10
Why Concept Maps?
C++ for Financial Instrument Pricing




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
11
Concept Mapping Process
C++ for Financial Instrument Pricing




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
12
Categories of Concept Maps
C++ for Financial Instrument Pricing




Describing the structure of (complex)
objects
Describing dependencies in a
dependency graph
Data flow in a ‘data graph’
Any combination of the above
13
The Filtering Process
C++ for Financial Instrument Pricing




Texts tend to be ambiguous
People tend not to ask question
Get a common frame of reference ASAP
Apply standard questions
14
Questions
C++ for Financial Instrument Pricing






What is
What kinds of
How to
When, why
Relationship questions
Follow-on questions
15
Sources of Confusion
C++ for Financial Instrument Pricing






Noise (redundancy)
Silence
Overspecification
Contradiction
Ambiguity
Role (a ‘view’ of the ‘real’ thing, what is
the latter?)
16
The Process
C++ for Financial Instrument Pricing





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
17
The Map
C++ for Financial Instrument Pricing





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
18
Example: Instruments
Factory
Payoff
initialises
such as
has
C++ for Financial Instrument Pricing
may contain
Date Dependent
can be
Call
Instrument
has
implies
Properties
Monitoring
is a
Option
is a
such as
such as
Bond
Data
can be
Homogeneoes
Functions
can be
Heterogeneous
19
Example: Monte Carlo
Pay off
C++ for Financial Instrument Pricing
RiskSystem
needs
uses
MC Engine
based on
SDE
uses
FDM
Price
produces
needs
RNG
20
Example: Asian Options
Numeric Solver
C++ for Financial Instrument Pricing
Asian Pde
uses
solved by
models
Asian Option
has
has
Bridge
Payoff
is a
Bridge
Monitoring
is a
such as
such as
such as
such as
Cheyette
Average Strike
Call
Etc.
Discrete
Continuous
21
Example: Pricing Models
Risk System
consists of
C++ for Financial Instrument Pricing
uses
has
Instrument System
Underlying
uses
uses
concerns
Pricing Mode
Instrument
has Model
Asset
such as
CEV
by
Bridge
is a
SDE
is a
PDE
22
Example: Merging Concept Maps
Time
such as
C++ for Financial Instrument Pricing
by
Continuous
Space
Discrete Space
models
such as
Mesher
models
Asset
uses
Model
is a
SDE
is a
Approximation
such as
PDE
MC
such as
has
FDM
Data
23
What’s next?
C++ for Financial Instrument Pricing




Assuming we have a good feeling about
the map, start design
UML components, classes and
corresponding diagrams
Design patterns
C++ code
24
Example: Component Diagram
C++ for Financial Instrument Pricing
Mesher
PDE
FDM
Bridge
<<uses>>
Euler
Black
Scholes
CN
Matrix
Solver
CEV
25
Tips on Text Input
C++ for Financial Instrument Pricing




At most 1 A4
Describe what the system should deliver
What is the input?
Describe the activities in the process from
input to output
26