Skip to content

Commit 016643d

Browse files
committed
Merge branch 'QPR-11822' into 'master'
Resolve QPR-11822 Closes QPR-11822 See merge request qs/oreswig!43
2 parents 1720e72 + 4928f21 commit 016643d

13 files changed

Lines changed: 149 additions & 147 deletions

Docker/Dockerfile-ORE

Lines changed: 0 additions & 53 deletions
This file was deleted.

Docker/Dockerfile-OREPlus

Lines changed: 0 additions & 56 deletions
This file was deleted.

Docker/Dockerfile-ORESWIG

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# syntax = nexus3.acadiasoft.net:4445/docker/dockerfile:experimental
2+
ARG ore_version=latest
3+
FROM env_ore:${ore_version}
4+
5+
MAINTAINER Quaternion Risk Management
6+
LABEL Description="Build OREPlus"
7+
8+
# Argument for number of cores to use while building
9+
ARG num_cores
10+
11+
# Install SWIG and python3
12+
RUN apt-get update && apt-get upgrade -y \
13+
&& apt-get install -f -y swig python3-dev \
14+
&& apt-get clean \
15+
&& rm -rf /var/lib/apt/lists/*
16+
17+
WORKDIR /swig
18+
19+
# Argument for number of cores to use while building
20+
ARG num_cores=1
21+
22+
COPY ore/cmake ./cmake
23+
COPY oreswig/OREAnalytics-SWIG ./OREAnalytics-SWIG
24+
COPY oreswig/OREData-SWIG ./OREData-SWIG
25+
COPY oreswig/QuantExt-SWIG ./QuantExt-SWIG
26+
COPY oreswig/QuantLib-SWIG ./QuantLib-SWIG
27+
28+
ENV PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/ \
29+
PYTHON_INCLUDE_DIR=/usr/include/x86_64-linux-gnu/python3.9
30+
31+
RUN find -regex ".*\.\(sh\|in\|ac\|am\)" -exec dos2unix {} ';'
32+
WORKDIR /swig/OREAnalytics-SWIG/Python
33+
RUN mkdir build.release
34+
WORKDIR /swig/OREAnalytics-SWIG/Python/build.release
35+
RUN cmake -DORE=/swig ..
36+
RUN make -j ${num_cores}
37+
WORKDIR /
38+
RUN mkdir build
39+
RUN mv /swig/OREAnalytics-SWIG/Python/build.release/ORE.py build \
40+
&& mv /swig/OREAnalytics-SWIG/Python/build.release/_ORE.so build
41+
42+
ENV PYTHONPATH=/build
43+
44+
RUN cd swig/QuantLib-SWIG/Python/test \
45+
&& python3 -c "import sys, ORE; sys.modules['QuantLib']=ORE;import QuantLibTestSuite;QuantLibTestSuite.test()"
46+
RUN cd swig/QuantExt-SWIG/Python/test \
47+
&& python3 -c "import sys, ORE; sys.modules['QuantExt']=ORE;import QuantExtTestSuite;QuantExtTestSuite.test()"
48+
RUN cd swig/OREData-SWIG/Python/test \
49+
&& python3 -c "import sys, ORE; sys.modules['OREData']=ORE;import OREDataTestSuite;OREDataTestSuite.test()"
50+
RUN cd swig/OREAnalytics-SWIG/Python/test \
51+
&& python3 -c "import sys, ORE; sys.modules['OREAnalytics']=ORE;import OREAnalyticsTestSuite;OREAnalyticsTestSuite.test()"
52+
RUN rm -rf /swig \
53+
&& cd /usr/local/include \
54+
&& rm -rf boost \
55+
&& rm -rf orea \
56+
&& rm -rf ored \
57+
&& rm -rf ql \
58+
&& rm -rf qle
59+
60+
COPY oreswig/OREAnalytics-SWIG/Python/Examples ./Examples

Docker/DockerfileRunORE.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
docker-compose -f oreswig/Docker/docker-compose-oreswig.yml build || exit 1

Docker/docker-compose-ore-plus.yml

Lines changed: 0 additions & 8 deletions
This file was deleted.

Docker/docker-compose-ore.yml

Lines changed: 0 additions & 12 deletions
This file was deleted.

Docker/docker-compose-oreswig.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: '3'
2+
3+
services:
4+
env_ore_plus_swig:
5+
image: env_oreswig:${ORE_TAG}
6+
build:
7+
context: ../../
8+
dockerfile: oreswig/Docker/Dockerfile-ORESWIG
9+
args:
10+
- ore_version=${ORE_TAG}

QuantExt-SWIG/Python/test/cashflow.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def setUp(self):
1717
self.fixingDays=0
1818
self.sourceCurrency=USDCurrency()
1919
self.targetCurrency=JPYCurrency()
20-
self.fixingCalendar=UnitedStates()
20+
self.fixingCalendar=UnitedStates(UnitedStates.NYSE)
2121
self.todayDate=Date(5, January, 2016)
2222
self.tsDayCounter=Actual360()
2323
self.flatForwardUSD=FlatForward(self.todayDate, 0.005, self.tsDayCounter)
@@ -57,7 +57,7 @@ def setUp(self):
5757
self.fixingDays=2
5858
self.sourceCurrency=USDCurrency()
5959
self.targetCurrency=EURCurrency()
60-
self.fixingCalendar=UnitedStates()
60+
self.fixingCalendar=UnitedStates(UnitedStates.NYSE)
6161
self.todayDate=Date(11, November, 2018)
6262
self.tsDayCounter=Actual360()
6363
self.flatForwardUSD=FlatForward(self.todayDate, 0.005, self.tsDayCounter)

QuantExt-SWIG/Python/test/instruments.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ def setUp(self):
249249
self.settlement_date = Date(6, October, 2018)
250250
self.swap_tenor = Period(10, Years)
251251
self.pay_tenor = Period(3, Months)
252-
self.calendar = UnitedStates()
252+
self.calendar = UnitedStates(UnitedStates.NYSE)
253253
self.pay_currency = USDCurrency()
254254
self.rec_currency = EURCurrency()
255255
self.maturity_date = self.calendar.advance(self.settlement_date, self.swap_tenor)
@@ -321,7 +321,7 @@ def setUp(self):
321321
self.settlement_date = Date(6, October, 2018)
322322
self.swap_tenor = Period(10, Years)
323323
self.pay_tenor = Period(3, Months)
324-
self.calendar = UnitedStates()
324+
self.calendar = UnitedStates(UnitedStates.NYSE)
325325
self.maturity_date = self.calendar.advance(self.settlement_date, self.swap_tenor)
326326
self.type = OvernightIndexedBasisSwap.Payer
327327
self.bdc = ModifiedFollowing
@@ -381,7 +381,7 @@ def setUp(self):
381381
self.settlement_date = Date(6, October, 2018)
382382
self.swap_tenor = Period(10, Years)
383383
self.pay_tenor = Period(6, Months)
384-
self.calendar = UnitedStates()
384+
self.calendar = UnitedStates(UnitedStates.NYSE)
385385
self.maturity_date = self.calendar.advance(self.settlement_date, self.swap_tenor)
386386
self.type = AverageOIS.Payer
387387
self.bdc = ModifiedFollowing

QuantExt-SWIG/Python/test/ratehelpers.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def setUp(self):
2323
self.swapTenor = Period(10,Years)
2424
self.fixedTenor = Period(3,Months)
2525
self.fixedDayCounter=Actual360()
26-
self.fixedCalendar=UnitedStates()
26+
self.fixedCalendar=UnitedStates(UnitedStates.NYSE)
2727
self.fixedConvention=Following
2828
self.fixedPaymentAdjustment=Following
2929
self.overnightIndex=Eonia()
@@ -48,7 +48,7 @@ def setUp(self):
4848
self.spreadQuote=QuoteHandle(SimpleQuote(0.05))
4949
self.spotFX=QuoteHandle(SimpleQuote(1.0))
5050
self.settlementDays=2
51-
self.settlementCalendar=UnitedStates()
51+
self.settlementCalendar=UnitedStates(UnitedStates.NYSE)
5252
self.swapTenor=Period(3,Months)
5353
self.rollConvention=Following
5454
self.forecast_curve = RelinkableYieldTermStructureHandle()
@@ -104,7 +104,7 @@ def setUp(self):
104104
self.spread=QuoteHandle(SimpleQuote(0.02))
105105
self.swapTenor=Period(6,Months)
106106
self.fixedTenor=Period(6,Months)
107-
self.fixedCalendar=UnitedStates()
107+
self.fixedCalendar=UnitedStates(UnitedStates.NYSE)
108108
self.fixedDayCount=Actual360()
109109
self.fixedConvention=Following
110110
self.floatPayTenor=Period(6,Months)
@@ -147,7 +147,7 @@ def setUp(self):
147147
Settings.instance().setEvaluationDate(self.todays_date)
148148
self.spread=QuoteHandle(SimpleQuote(0.02))
149149
self.swapTenor=Period(6,Months)
150-
self.calendar=UnitedStates()
150+
self.calendar=UnitedStates(UnitedStates.NYSE)
151151
self.longFixedFrequency=Annual
152152
self.longFixedConvention=Following
153153
self.longFixedDayCount=Actual360()
@@ -215,7 +215,7 @@ def setUp(self):
215215
self.rate=QuoteHandle(SimpleQuote(0.02))
216216
self.spotFx=QuoteHandle(SimpleQuote(1.0))
217217
self.settlementDays=2
218-
self.paymentCalendar=UnitedStates()
218+
self.paymentCalendar=UnitedStates(UnitedStates.NYSE)
219219
self.paymentConvention=Following
220220
self.tenor=Period(6,Months)
221221
self.fixedCurrency=USDCurrency()

0 commit comments

Comments
 (0)