Ass 2/3 - PowerPoint PPT Presentation

About This Presentation
Title:

Ass 2/3

Description:

ass2/3 - solution. CSC407. 1. Ass 2/3 One Solution. ass2/3 - solution. CSC407. 2 ... public class EquityPricingFunction extends PricingFunction ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 10
Provided by: Pen39
Category:

less

Transcript and Presenter's Notes

Title: Ass 2/3


1
Ass 2/3 One Solution
2
Instruments Portfolios
sax.DocumentHandler
FinancialEntityFactory FinancialEntity
make(String) register(FinancialEntity)

prototypes

Portfolio
3
Pricing Functions
prototypes

1
1
BondPricingFunction
EquityPricingFunction
FXFuturesPricingFunction
2
1..2
IRCurve
EquityIndex
FXRate
4
Pricing Function Code
  • public class EquityPricingFunction extends
    PricingFunction
  • public boolean canPrice(FinancialEntity fe)
  • return fe instanceof Equity
  • public double value(FinancialEntity fe,
    Scenario s)
  • Equity e (Equity)fe
  • public initialize(FinancialEntity fe)
  • Equity e (Equity)fe
  • equityIndex MarketData.getEquityIndex(fe
    .currency())
  • private EquityIndex equityIndex

5
MarketData
MarketData name currency static
getEquityIndex(currency) activate(Scenario,
Shift) deactivate(Scenario)
returns
IRCurveShift
IRCurveSwitch

Shift
indexed by active scenario
6
Scenarios
ScenarioSet

1

MarketData activate(Scenario, Shift)
on
7
Object Diagram
ScenarioSet
IRCurveImpl
Potfolio
8
Scenario Activation
  • Thread.run()
  • int tid ThreadSet.getNextId()
  • while(ScenarioSet.stillMore())
  • Scenario s ScenarioSet.getNextScenarioToP
    rocess()
  • s.activate(tid)
  • s.saveResult(Portfolio.getRoot().value(s))
  • s.deactivate()
  • Scenario.activate(tid)
  • for each Shift s
  • shift.activate(this)
  • Shift.activate(Scenario s)
  • marketData.activate(s, this)

9
MarketData Pricing Code
  • public class EquityIndexImpl extends EquityIndex
  • public double get(Scenario s)
  • return level
  • double level
  • public class EquityIndexShift extends EquityIndex
  • public double get(Scenario s)
  • return e.get(s) (1shift.getPercentage()
    )
  • EquityIndex e
  • Shift shift
  • public class EquityIndexSwitch extends
    EquityIndex
  • public double get(Scenario s)
  • if(s null)
  • return eq.get(s)
Write a Comment
User Comments (0)
About PowerShow.com