-
Notifications
You must be signed in to change notification settings - Fork 193
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #91 from rimrockcapital/fwd_spreaded_ts
TermStructures - Exposing ForwardSpreadedTermStructure
- Loading branch information
Showing
3 changed files
with
107 additions
and
0 deletions.
There are no files selected for viewing
18 changes: 18 additions & 0 deletions
18
quantlib/termstructures/yields/_forward_spreaded_term_structure.pxd
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
include '../../types.pxi' | ||
|
||
|
||
from quantlib.handle cimport shared_ptr, Handle | ||
from quantlib._quote cimport SimpleQuote, Quote | ||
from _flat_forward cimport YieldTermStructure | ||
from quantlib.time._date cimport Date | ||
from quantlib.time._daycounter cimport DayCounter | ||
|
||
|
||
cdef extern from 'ql/termstructures/yield/forwardspreadedtermstructure.hpp' namespace 'QuantLib': | ||
|
||
cdef cppclass ForwardSpreadedTermStructure(YieldTermStructure): | ||
|
||
ForwardSpreadedTermStructure( | ||
Handle[YieldTermStructure]& yieldtermstruct, | ||
Handle[Quote]& spread | ||
) except + |
36 changes: 36 additions & 0 deletions
36
quantlib/termstructures/yields/forward_spreaded_term_structure.pyx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
include '../../types.pxi' | ||
|
||
from cython.operator cimport dereference as deref | ||
from libcpp.vector cimport vector | ||
|
||
cimport quantlib.termstructures.yields._forward_spreaded_term_structure as _fsts | ||
cimport quantlib.termstructures.yields._flat_forward as _ff | ||
cimport quantlib._quote as _qt | ||
|
||
from quantlib.handle cimport shared_ptr, Handle | ||
from quantlib.termstructures.yields.flat_forward cimport YieldTermStructure | ||
from quantlib.time.daycounter cimport DayCounter | ||
from quantlib.quotes cimport Quote | ||
from quantlib.time.date cimport Date | ||
|
||
cdef class ForwardSpreadedTermStructure(YieldTermStructure): | ||
""" | ||
Constructor Inputs: | ||
1. YieldTermStructure | ||
2. Quote | ||
""" | ||
def __init__(self,YieldTermStructure yldtermstruct, Quote spread): | ||
|
||
cdef Handle[_qt.Quote] q_handle = Handle[_qt.Quote](deref(spread._thisptr)) | ||
cdef Handle[_ff.YieldTermStructure] yts_handle = deref(yldtermstruct._thisptr.get()) | ||
cdef _fsts.ForwardSpreadedTermStructure* _fwdts | ||
|
||
_fwdts = new _fsts.ForwardSpreadedTermStructure( | ||
yts_handle, | ||
q_handle | ||
) | ||
|
||
self._thisptr = new shared_ptr[Handle[_ff.YieldTermStructure]]( | ||
new Handle[_ff.YieldTermStructure](shared_ptr[_ff.YieldTermStructure](_fwdts)) | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters