summaryrefslogtreecommitdiffstats
path: root/cpp_layer/curve.hpp
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2017-02-23 10:30:09 -0500
committerGuillaume Horel <guillaume.horel@gmail.com>2017-02-23 12:49:03 -0500
commit1fe8d4a980ce2bdcef093946d360767f7e65976c (patch)
tree94f9bf68ba313f86f400f9ae6cff7b68a3dc77fa /cpp_layer/curve.hpp
parent8baef999da28d8a51734994219514e20fe92a2d2 (diff)
downloadpyisda-1fe8d4a980ce2bdcef093946d360767f7e65976c.tar.gz
add a couple methods
Diffstat (limited to 'cpp_layer/curve.hpp')
-rw-r--r--cpp_layer/curve.hpp26
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);
+}