Skip to content

Commit 3a40acc

Browse files
update our QuantLib-SWIG fork to v1.30, adjust ORE-SWIG
1 parent 9b879b2 commit 3a40acc

7 files changed

Lines changed: 21 additions & 76 deletions

File tree

OREAnalytics-SWIG/SWIG/orea_app.i

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ public:
112112
void setCurvesGrid(const std::string& s);
113113
// Setters for sensi analytics
114114
void setXbsParConversion(bool b);
115-
void setAnalyticFxSensis(bool b);
116115
void setParSensi(bool b);
117116
void setAlignPillars(bool b);
118117
void setOutputJacobi(bool b);
@@ -230,7 +229,7 @@ public:
230229
class OREApp {
231230
public:
232231

233-
OREApp(ext::shared_ptr<Parameters> params, bool console = false);
232+
OREApp(const ext::shared_ptr<Parameters>& params, bool console = false);
234233

235234
OREApp(const ext::shared_ptr<InputParameters>& inputs, const std::string& logFile, Size logLevel = 31,
236235
bool console = false);

OREData-SWIG/SWIG/ored_market.i

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ class MarketImpl {
127127
Handle<Quote> equitySpot(const std::string& eqName,
128128
const std::string& configuration = Market::defaultConfiguration) const;
129129
%extend {
130-
ext::shared_ptr<QuantExt::EquityIndex> equityCurve(const std::string& indexName,
130+
ext::shared_ptr<QuantExt::EquityIndex2> equityCurve(const std::string& indexName,
131131
const std::string& configuration =
132132
Market::defaultConfiguration) const {
133133
return self->equityCurve(indexName, configuration).currentLink();

QuantExt-SWIG/SWIG/qle.i

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include <qle/quantext.hpp>
2727
%}
2828

29+
%include qle_calendars.i
2930
%include qle_cashflows.i
3031
%include qle_indexes.i
3132
%include qle_currencies.i

QuantExt-SWIG/SWIG/qle_calendars.i

Lines changed: 7 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -22,53 +22,40 @@
2222
%include calendars.i
2323

2424
%{
25-
using QuantExt::Austria;
2625
using QuantExt::Belgium;
2726
using QuantExt::CME;
2827
using QuantExt::Colombia;
2928
using QuantExt::Cyprus;
30-
using QuantExt::France;
3129
using QuantExt::Greece;
3230
using QuantExt::ICE;
3331
using QuantExt::Ireland;
3432
using QuantExt::IslamicWeekendsOnly;
35-
using QuantExt::Israel;
3633
using QuantExt::Luxembourg;
3734
using QuantExt::Malaysia;
3835
using QuantExt::Netherlands;
3936
using QuantExt::Peru;
4037
using QuantExt::Philippines;
4138
using QuantExt::RussiaModified;
42-
using QuantExt::Switzerland;
39+
using QuantExt::Spain;
4340
using QuantExt::Wmr;
4441
using QuantExt::LargeJointCalendar;
4542
%}
4643

47-
%shared_ptr(Austria)
48-
class Austria : public Calendar {
49-
public:
50-
enum Market {Settlement};
51-
Austria(Market m = Settlement);
52-
};
53-
54-
%shared_ptr(Belgium)
5544
class Belgium : public Calendar {
5645
public:
5746
enum Market {Settlement};
5847
Belgium(Market m = Settlement);
5948
};
6049

61-
%shared_ptr(CME)
6250
class CME : public Calendar {
6351
public:
6452
CME();
6553
};
6654

67-
%shared_ptr(Colombia)
6855
class Colombia : public Calendar {
6956
public:
7057
enum Market {CSE};
71-
Colombia(:Market m = CSE);
58+
Colombia(Market m = CSE);
7259
};
7360

7461

@@ -105,26 +92,17 @@ class Colombia : public Calendar {
10592
\test the correctness of the returned results is tested
10693
against a list of known holidays.
10794
*/
108-
%shared_ptr(Cyprus)
95+
10996
class Cyprus : public Calendar {
11097
public:
11198
Cyprus();
11299
};
113100

114-
%shared_ptr(France)
115-
class France : public Calendar {
116-
public:
117-
enum Market {Settlement};
118-
France(Market m = Settlement);
119-
};
120-
121-
%shared_ptr(Greece)
122101
class Greece : public Calendar {
123102
public:
124103
Greece();
125104
};
126105

127-
%shared_ptr(ICE)
128106
class ICE : public Calendar {
129107
public:
130108
enum Market {
@@ -171,96 +149,62 @@ class ICE : public Calendar {
171149
against a list of known holidays.
172150
*/
173151

174-
%shared_ptr(Ireland)
175152
class Ireland : public Calendar {
176153
enum Market {IrishStockExchange, BankHolidays};
177154

178155
Ireland(const Market market=IrishStockExchange);
179156

180157
};
181158

182-
%shared_ptr(IslamicWeekendsOnly)
183159
class IslamicWeekendsOnly : public Calendar {
184160
IslamicWeekendsOnly();
185161
};
186162

187-
188-
//! Israel calendar
189-
/*! Extend Israel calendar to cover TELBOR publication dates as described at:
190-
https://www.boi.org.il/en/Markets/TelborMarket/Documents/telbordef_eng.pdf
191-
Telbor holidays 2019, 2020:
192-
https://www.boi.org.il/en/Markets/TelborMarket/Documents/NoTelborRates2019.pdf
193-
https://www.boi.org.il/en/Markets/TelborMarket/Documents/NoTelborRates2020.pdf
194-
195-
\ingroup calendars
196-
*/
197-
198-
%shared_ptr(Israel)
199-
class Israel : public Calendar {
200-
enum MarketExt { Settlement, TASE, Telbor };
201-
Israel(MarketExt market = Telbor);
202-
};
203-
204-
%shared_ptr(Luxembourg)
205163
class Luxembourg : public Calendar {
206164
enum Market {Settlement};
207165
Luxembourg(Market m = Settlement);
208166
};
209167

210-
211-
%shared_ptr(Malaysia)
212168
class Malaysia : public Calendar {
213169
enum Market {MYX};
214170
Malaysia(Market m = MYX);
215171
};
216172

217-
%shared_ptr(Netherlands)
218173
class Netherlands : public Calendar {
219174
enum Market {Settlement};
220175
Netherlands(Market m = Settlement);
221176
};
222177

223-
%shared_ptr(Peru)
224178
class Peru : public Calendar {
225179
enum Market {LSE};
226180
Peru(Market m = LSE);
227181
};
228182

229-
%shared_ptr(Philippines)
230183
class Philippines : public Calendar {
231184
enum Market {PHE};
232185
Philippines(Market m = PHE);
233186
};
234187

235-
%shared_ptr(RussiaModified)
236188
class RussiaModified : public Calendar {
237189
RussiaModified(Russia::Market = Russia::Settlement);
238190
};
239191

240-
%shared_ptr(Spain)
241192
class Spain : public Calendar {
242193
enum Market {Settlement};
243-
Spain(Market m = Settlement)
244-
};
245-
246-
%shared_ptr(Switzerland)
247-
class Switzerland : public Calendar {
248-
enum Market(Settlement, SIX);
249-
Switzerland(Market matker = Settlement);
194+
Spain(Market m = Settlement);
250195
};
251196

252-
%shared_ptr(Wmr)
253-
class Wr : public Calendar {
197+
class Wmr : public Calendar {
254198
enum Market(Settlement);
255199
Wmr(Market market = Settlement);
256200
};
257201

258-
%shared_ptr(LargeJointCalendar)
259-
class LargeJointCalendar : public QuantLib::Calendar {
202+
class LargeJointCalendar : public Calendar {
260203
LargeJointCalendar(const std::vector<QuantLib::Calendar>&,
261204
QuantLib::JointCalendarRule = QuantLib::JoinHolidays);
262205
};
263206

207+
#endif
264208

265209

266210

QuantExt-SWIG/SWIG/qle_currencies.i

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@ using QuantLib::Currency;
2727

2828
namespace QuantExt {
2929
//African currencies
30-
class TNDCurrency: public Currency {};
3130
class EGPCurrency: public Currency {};
32-
class NGNCurrency: public Currency {};
3331
class MADCurrency: public Currency {};
3432

3533
//Asian currencies

QuantExt-SWIG/SWIG/qle_indexes.i

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ using QuantExt::BEHICP;
3535
using QuantExt::BondIndex;
3636
using QuantExt::BondFuturesIndex;
3737
using QuantExt::ConstantMaturityBondIndex;
38-
using QuantExt::EquityIndex;
38+
// QuantLib has an equity index since v1.30
39+
using QuantExt::EquityIndex2;
3940
using QuantExt::FxIndex;
4041
using QuantExt::BMAIndexWrapper;
4142
using QuantLib::BMAIndex;
@@ -127,10 +128,13 @@ class ConstantMaturityBondIndex : public InterestRateIndex {
127128
const ext::shared_ptr<Bond>& bond() const;
128129
};
129130

130-
%shared_ptr(EquityIndex)
131-
class EquityIndex : public Index {
131+
// QuantLib has an equity index since v1.30, so we have renamed the QuantExt version to EquityIndex2 for now.
132+
// EquityIndex to be consolidated with QuantLib and removed from QuantExt.
133+
134+
%shared_ptr(EquityIndex2)
135+
class EquityIndex2 : public Index {
132136
public:
133-
EquityIndex(const std::string& familyName, const Calendar& fixingCalendar, const Currency& currency,
137+
EquityIndex2(const std::string& familyName, const Calendar& fixingCalendar, const Currency& currency,
134138
const Handle<Quote> spotQuote = Handle<Quote>(),
135139
const Handle<YieldTermStructure>& rate = Handle<YieldTermStructure>(),
136140
const Handle<YieldTermStructure>& dividend = Handle<YieldTermStructure>());
@@ -149,9 +153,8 @@ class EquityIndex : public Index {
149153
Real forecastFixing(const Date& fixingDate, bool incDividend) const;
150154
Real forecastFixing(const Time& fixingTime, bool incDividend) const;
151155
Real pastFixing(const Date& fixingDate) const override;
152-
ext::shared_ptr<EquityIndex> clone(const Handle<Quote> spotQuote, const Handle<YieldTermStructure>& rate,
153-
const Handle<YieldTermStructure>& dividend) const;
154-
156+
ext::shared_ptr<EquityIndex2> clone(const Handle<Quote> spotQuote, const Handle<YieldTermStructure>& rate,
157+
const Handle<YieldTermStructure>& dividend) const;
155158

156159
};
157160

0 commit comments

Comments
 (0)