Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions SWIG/daycounters.i
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ namespace QuantLib {
public:
Actual366(const bool includeLastDay = false);
};
class Actual365NoLeap : public DayCounter {};
class Actual36525 : public DayCounter {
public:
Actual36525(const bool includeLastDay = false);
Expand Down
1 change: 1 addition & 0 deletions SWIG/indexes.i
Original file line number Diff line number Diff line change
Expand Up @@ -447,6 +447,7 @@ export_xibor_instance(Mosprime);
export_xibor_instance(NZDLibor);
export_xibor_instance(Pribor);
export_xibor_instance(Robor);
export_xibor_instance(NOKNibor);
export_xibor_instance(SEKLibor);
export_xibor_instance(Shibor);
export_xibor_instance(Tibor);
Expand Down
24 changes: 24 additions & 0 deletions SWIG/interpolation.i
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,18 @@ using QuantLib::Cubic;
using QuantLib::Bicubic;
using QuantLib::ConvexMonotone;
using QuantLib::DefaultLogCubic;
using QuantLib::LinearThenFlat;
using QuantLib::Cubic__SplineOvershootingMinimization1;
using QuantLib::Cubic__SplineOvershootingMinimization2;
using QuantLib::Cubic__FritschButland_monotonic;
using QuantLib::Cubic__FritschButland_nonMonotonic;
using QuantLib::Cubic__Kruger;
using QuantLib::Cubic__MonotonicKruger;
using QuantLib::Cubic__MonotonicParabolic;
using QuantLib::Cubic__Monotonic_NaturalSpline;
using QuantLib::Cubic__NaturalSpline;
using QuantLib::Cubic__Akima;
using QuantLib::Cubic__Parabolic;

class MonotonicCubic : public Cubic {
public:
Expand Down Expand Up @@ -267,6 +279,7 @@ struct MixedInterpolation {
struct BackwardFlat {};
struct ForwardFlat {};
struct Linear {};
struct LinearThenFlat {};
struct LogLinear {};
struct Cubic {
#if !defined(SWIGJAVA) && !defined(SWIGCSHARP)
Expand Down Expand Up @@ -311,6 +324,17 @@ struct ParabolicCubic : Cubic {};
struct MonotonicParabolicCubic : Cubic {};
struct LogParabolicCubic : LogCubic {};
struct MonotonicLogParabolicCubic : LogCubic {};
struct Cubic__SplineOvershootingMinimization1{};
struct Cubic__SplineOvershootingMinimization2{};
struct Cubic__FritschButland_monotonic{};
struct Cubic__FritschButland_nonMonotonic{};
struct Cubic__Kruger {};
struct Cubic__MonotonicKruger {};
struct Cubic__MonotonicParabolic {};
struct Cubic__Monotonic_NaturalSpline {};
struct Cubic__NaturalSpline {};
struct Cubic__Akima {};
struct Cubic__Parabolic {};

%define make_mixed_linear_cubic(T)
%{
Expand Down
27 changes: 27 additions & 0 deletions SWIG/piecewiseyieldcurve.i
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ using QuantLib::Discount;
using QuantLib::ZeroYield;
using QuantLib::ForwardRate;
using QuantLib::PiecewiseYieldCurve;
using QuantLib::SimpleZeroYield;
%}

%{
Expand Down Expand Up @@ -178,6 +179,32 @@ export_piecewise_curve(PiecewiseMonotonicParabolicCubicZero,ZeroYield,MonotonicP
export_piecewise_curve(PiecewiseLogParabolicCubicDiscount,Discount,LogParabolicCubic);
export_piecewise_curve(PiecewiseMonotonicLogParabolicCubicDiscount,Discount,MonotonicLogParabolicCubic);

export_piecewise_curve(PiecewiseForwardRateBackward,ForwardRate,BackwardFlat);
export_piecewise_curve(PiecewiseForwardRateLinear,ForwardRate,Linear);
export_piecewise_curve(PiecewiseForwardRateCubic,ForwardRate,Cubic);

export_piecewise_curve(PiecewiseZeroYieldBackward,ZeroYield,BackwardFlat);
export_piecewise_curve(PiecewiseZeroYieldForward,ZeroYield,ForwardFlat);
export_piecewise_curve(PiecewiseZeroYieldLinear,ZeroYield,Linear);
export_piecewise_curve(PiecewiseZeroYieldLinearThenFlat,ZeroYield,LinearThenFlat);
export_piecewise_curve(PiecewiseZeroYieldCubic,ZeroYield,Cubic);

export_piecewise_curve(PiecewiseZeroYield_Cubic__SplineOvershootingMinimization2, ZeroYield,Cubic__SplineOvershootingMinimization2 );
export_piecewise_curve(PiecewiseZeroYield_Cubic__FritschButland_monotonic, ZeroYield,Cubic__FritschButland_monotonic);
export_piecewise_curve(PiecewiseZeroYield_Cubic__Kruger, ZeroYield,Cubic__Kruger);
export_piecewise_curve(PiecewiseZeroYield_Cubic__MonotonicKruger, ZeroYield,Cubic__MonotonicKruger );
export_piecewise_curve(PiecewiseZeroYield_Cubic__MonotonicParabolic, ZeroYield,Cubic__MonotonicParabolic );
export_piecewise_curve(PiecewiseZeroYield_Cubic__Monotonic_NaturalSpline, ZeroYield,Cubic__Monotonic_NaturalSpline);
export_piecewise_curve(PiecewiseZeroYield_Cubic__NaturalSpline, ZeroYield,Cubic__NaturalSpline );
export_piecewise_curve(PiecewiseZeroYield_Cubic__Parabolic, ZeroYield,Cubic__Parabolic );
export_piecewise_curve(PiecewiseZeroYield_Cubic__SplineOvershootingMinimization1, ZeroYield,Cubic__SplineOvershootingMinimization1 );

export_piecewise_curve(PiecewiseDiscountLogLinear,Discount,LogLinear);
export_piecewise_curve(PiecewiseDiscountLinear,Discount,Linear);
export_piecewise_curve(PiecewiseDiscountCubic,Discount,Cubic);

export_piecewise_curve(PiecewiseYieldSimpleZeroYieldCurveLinear,SimpleZeroYield,Linear);


// global boostrapper
// hard-coded to linearly-interpolated, simply-compounded zero rates for now
Expand Down
16 changes: 16 additions & 0 deletions SWIG/ratehelpers.i
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ using QuantLib::DepositRateHelper;
using QuantLib::FraRateHelper;
using QuantLib::FuturesRateHelper;
using QuantLib::SwapRateHelper;
using QuantLib::GenericRateHelper;
using QuantLib::BondHelper;
using QuantLib::FixedRateBondHelper;
using QuantLib::OISRateHelper;
Expand All @@ -50,6 +51,7 @@ using QuantLib::MtMCrossCurrencyBasisSwapRateHelper;
using QuantLib::IborIborBasisSwapRateHelper;
using QuantLib::OvernightIborBasisSwapRateHelper;
using QuantLib::MultipleResetsSwapRateHelper;
using QuantLib::Compounding;
%}

%shared_ptr(RateHelper)
Expand Down Expand Up @@ -341,6 +343,20 @@ class BondHelper : public RateHelper {
ext::shared_ptr<Bond> bond();
};

%shared_ptr(GenericRateHelper)
class GenericRateHelper : public RateHelper {
public:
GenericRateHelper(const Handle<Quote>& rate,
const Date& settlementDate,
const Date& refDate,
const DayCounter& dayCounter,
const Compounding& comp,
const Frequency& frequency,
const bool &extrapolate);

Real impliedQuote() const;
};

%shared_ptr(FixedRateBondHelper)
class FixedRateBondHelper : public BondHelper {
public:
Expand Down
4 changes: 4 additions & 0 deletions SWIG/zerocurve.i
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@ deprecate_feature(KrugerZeroCurve, CubicZeroCurve);
#else
%template(KrugerZeroCurve) InterpolatedZeroCurve<Kruger>;
#endif
%shared_ptr(InterpolatedZeroCurve<LinearThenFlat>);
%shared_ptr(InterpolatedZeroCurve<ForwardFlat>);
%template(ZeroCurveLinearThenFlat) InterpolatedZeroCurve<LinearThenFlat>;
%template(ZeroCurveForwardFlat) InterpolatedZeroCurve<ForwardFlat>;
%template(ParabolicCubicZeroCurve) InterpolatedZeroCurve<ParabolicCubic>;
%template(MonotonicParabolicCubicZeroCurve) InterpolatedZeroCurve<MonotonicParabolicCubic>;

Expand Down
Loading