diff options
Diffstat (limited to 'cpp_layer')
| -rw-r--r-- | cpp_layer/curve.hpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/cpp_layer/curve.hpp b/cpp_layer/curve.hpp index 8e54216..e4fddb8 100644 --- a/cpp_layer/curve.hpp +++ b/cpp_layer/curve.hpp @@ -1,3 +1,5 @@ +#include <isda/tcurve.h> +#include <isda/cxzerocurve.h> #include <vector> typedef long TDate; @@ -32,6 +34,22 @@ public: } return *this; } + + TCurve* data() { + return _ptr; + } + + int size() { + return _ptr->fNumItems; + } + TDate BaseDate() { + return _ptr->fBaseDate; + } + double Basis() { + return _ptr->fBasis; + } + double ForwardZeroPrice(TDate d2, TDate d1); + double ForwardZeroPrice(TDate d2); ~CurveObject() { if(_ptr != nullptr) { JpmcdsFreeTCurve(_ptr); @@ -40,3 +58,11 @@ public: private: TCurve* _ptr; }; + +double CurveObject::ForwardZeroPrice(TDate d2, TDate d1) { + return JpmcdsForwardZeroPrice(_ptr, d1, d2); +} + +double CurveObject::ForwardZeroPrice(TDate d2) { + return JpmcdsForwardZeroPrice(_ptr, _ptr->fBaseDate, d2); +} |
