TipsVal
Valuation library for inflation-indexed bonds
inflation_model.h
Go to the documentation of this file.
1 // -*-C++-*- make sure Emacs is in C++ mode
9 #ifndef INCLUDED_ANDREW_KALOTAY_ASSOCIATES_TIPSVAL_INFLATION_MODEL_H
10 #define INCLUDED_ANDREW_KALOTAY_ASSOCIATES_TIPSVAL_INFLATION_MODEL_H
11 
12 #include "andrew_kalotay_associates/tipsval/dll_macros.h"
14 
15 namespace AndrewKalotayAssociates
16 {
17  namespace TipsVal
18  {
20  class TIPSVAL_API InflationModel
21  {
22  public:
32  const Input::ParYieldCurve& real_curve,
33  const Input::ParYieldCurve& nominal_curve,
34  double inflation_volatility,
35  const Date& settlement_date);
36 
45  double inflation_rate,
46  double index_volatility);
47 
48  ~InflationModel();
49 
50  bool operator!() const;
51  bool is_valid() const;
52 
53  const Output::Status& status() const;
54 
55  void print(std::ostream& output) const;
56 
57  friend class Bond;
58  friend class InflationFloater;
59  class Implementation;
60 
61  private:
62  // Disable copying and assignment
64  InflationModel& operator=(const InflationModel&);
65 
66  Implementation* implementation_ptr_;
67  };
68  }
69 }
70 
71 #endif
Inflation-indexed fixed coupon bond, such as a US TIPS.
Definition: bond.h:26
Inflation rate curve.
Definition: inflation_model.h:21
InflationModel(const Common::Array< Input::InflationIndex > &inflation_history, const Input::ParYieldCurve &real_curve, const Input::ParYieldCurve &nominal_curve, double inflation_volatility, const Date &settlement_date)
InflationModel(const Common::Array< Input::InflationIndex > &inflation_history, double inflation_rate, double index_volatility)