CFL EXAMPLES
Examples.hpp
Go to the documentation of this file.
1 //Copyright (c) Dmitry Kramkov, 2000-2008. All rights reserved.
2 
3 #ifndef __Examples_hpp__
4 #define __Examples_hpp__
5 
6 #include "cfl/Data.hpp"
7 #include "cfl/AssetModel.hpp"
9 
22 
28 namespace prb
29 {
37 
55  cfl::Function yieldShapeHullWhite(double dLambda, double dInitialTime);
56 
70  discountLogLinearInterp(const std::vector<double> & rDiscountTimes,
71  const std::vector<double> & rDiscountFactors,
72  double dInitialTime);
73 
97  discountFitHullWhite(const std::vector<double> & rDiscountTimes,
98  const std::vector<double> & rDiscountFactors,
99  double dLambda, double dInitialTime);
101 
109 
123  cfl::MultiFunction put(double dStrike, double dMaturity,
124  cfl::AssetModel & rModel);
125 
139  cfl::MultiFunction americanPut(double dStrike,
140  const std::vector<double> & rExerciseTimes,
141  cfl::AssetModel & rModel);
142 
162  barrierUpOrDownAndOut(double dNotional, double dLowerBarrier,
163  double dUpperBarrier,
164  const std::vector<double> & rBarrierTimes,
165  cfl::AssetModel & rModel);
166 
186  downAndOutAmericanCall(double dBarrier,
187  const std::vector<double> & rBarrierTimes,
188  double dStrike,
189  const std::vector<double> & rExerciseTimes,
190  cfl::AssetModel & rModel);
191 
206  cfl::MultiFunction swing(double dStrike,
207  const std::vector<double> & rExerciseTimes,
208  unsigned iNumberOfExercises,
209  cfl::AssetModel & rModel);
211 
219 
230  cfl::InterestRateModel & rModel);
231 
247  cfl::MultiFunction swaption(const cfl::Data::Swap & rSwap, double dMaturity,
248  cfl::InterestRateModel & rModel);
249 
267  double dFloorRate,
268  cfl::InterestRateModel & rModel);
269 
287  double dLowerBarrier,
288  cfl::InterestRateModel & rModel);
289 
314  cfl::MultiFunction futureOnLibor(double dLiborPeriod,
315  unsigned iFutureTimes, double dMaturity,
316  cfl::InterestRateModel & rModel);
318 
326 
345  cfl::MultiFunction asianCall(const std::vector<double> & rAverageTimes,
346  double dStrike, double dMaturity,
347  cfl::AssetModel & rModel);
348 
356  barrierUpOrDownAndOut_path(double dNotional, double dLowerBarrier,
357  double dUpperBarrier,
358  const std::vector<double> & rBarrierTimes,
359  cfl::AssetModel & rModel);
360 
374  cfl::MultiFunction savingsAccount(double dPeriod, unsigned iNumberOfPeriods,
375  double dNotional,
376  cfl::InterestRateModel & rModel);
377 
395  putOnSavingsAccount(const cfl::Data::CashFlow & rAccount,
396  cfl::InterestRateModel & rModel);
398 }
399 
400 #endif // of __Examples_hpp__
cfl::MultiFunction savingsAccount(double dPeriod, unsigned iNumberOfPeriods, double dNotional, cfl::InterestRateModel &rModel)
cfl::Function yieldShapeHullWhite(double dLambda, double dInitialTime)
cfl::MultiFunction cancellableCollar(const cfl::Data::CashFlow &rCap, double dFloorRate, cfl::InterestRateModel &rModel)
cfl::MultiFunction put(double dStrike, double dMaturity, cfl::AssetModel &rModel)
cfl::MultiFunction swaption(const cfl::Data::Swap &rSwap, double dMaturity, cfl::InterestRateModel &rModel)
cfl::MultiFunction swing(double dStrike, const std::vector< double > &rExerciseTimes, unsigned iNumberOfExercises, cfl::AssetModel &rModel)
cfl::MultiFunction downAndOutCap(const cfl::Data::CashFlow &rCap, double dLowerBarrier, cfl::InterestRateModel &rModel)
cfl::MultiFunction futureOnLibor(double dLiborPeriod, unsigned iFutureTimes, double dMaturity, cfl::InterestRateModel &rModel)
cfl::MultiFunction downAndOutAmericanCall(double dBarrier, const std::vector< double > &rBarrierTimes, double dStrike, const std::vector< double > &rExerciseTimes, cfl::AssetModel &rModel)
cfl::MultiFunction americanPut(double dStrike, const std::vector< double > &rExerciseTimes, cfl::AssetModel &rModel)
cfl::MultiFunction barrierUpOrDownAndOut_path(double dNotional, double dLowerBarrier, double dUpperBarrier, const std::vector< double > &rBarrierTimes, cfl::AssetModel &rModel)
cfl::MultiFunction putOnSavingsAccount(const cfl::Data::CashFlow &rAccount, cfl::InterestRateModel &rModel)
cfl::Function discountLogLinearInterp(const std::vector< double > &rDiscountTimes, const std::vector< double > &rDiscountFactors, double dInitialTime)
Problems for the course.
Definition: Examples.hpp:28
cfl::Function discountFitHullWhite(const std::vector< double > &rDiscountTimes, const std::vector< double > &rDiscountFactors, double dLambda, double dInitialTime)
cfl::MultiFunction cap(const cfl::Data::CashFlow &rCap, cfl::InterestRateModel &rModel)
STL class.
cfl::MultiFunction barrierUpOrDownAndOut(double dNotional, double dLowerBarrier, double dUpperBarrier, const std::vector< double > &rBarrierTimes, cfl::AssetModel &rModel)
cfl::MultiFunction asianCall(const std::vector< double > &rAverageTimes, double dStrike, double dMaturity, cfl::AssetModel &rModel)