Skip to content

Commit 142e51d

Browse files
committed
Merge remote-tracking branch 'origin/master' into feature/QPR-13648
2 parents 972717b + 87a2c36 commit 142e51d

111 files changed

Lines changed: 3450 additions & 267 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Docker/Dockerfile-ORE-Dependencies

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,6 @@ RUN python3 -m venv /venv
4040
ENV PATH="/venv/bin:$PATH"
4141

4242
RUN \
43-
pip3 install cibuildwheel==3.2.1 && \
43+
pip3 install twine cibuildwheel==3.2.1 && \
4444
rm -rf ~/.cache/pip
4545

Docker/Dockerfile-Wheels-CIBW

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ FROM ${DOCKER_REPO}ore-build-dependencies:${ORE_BUILD_VERSION}
33

44
ARG WHEEL_ARCH
55
ARG WHEEL_IMAGE
6+
ARG WHEELS_VERSION
67

78
ENV PATH="/venv/bin:$PATH"
89

@@ -12,7 +13,9 @@ ENV CIBW_MANYLINUX_AARCH64_IMAGE=${WHEEL_IMAGE}
1213
ENV CIBW_BEFORE_BUILD="chmod +x ORE-SWIG/Wheels-gitlab/before_all_linux.sh && ORE-SWIG/Wheels-gitlab/before_all_linux.sh"
1314

1415
WORKDIR /builds/qs/oreplus/ore
15-
RUN cibuildwheel --output-dir wheelhouse ORE-SWIG
16+
RUN \
17+
python ../ore/Docker/update_version_number.py -f setup.py -v ${WHEELS_VERSION} && \
18+
cibuildwheel --output-dir wheelhouse ORE-SWIG
1619

1720
COPY wheelhouse /wheelhouse
1821

Docker/Dockerfile-Wheels-ORE

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ FROM ${WHEEL_IMG}
44

55
ARG CMAKE_BUILD_TYPE=Release
66
ARG NUM_CORES=16
7+
ARG WHEELS_VERSION
78

89
COPY CMakeLists.txt /ore/CMakeLists.txt
910
COPY QuantLib /ore/QuantLib
@@ -12,6 +13,7 @@ COPY OREData /ore/OREData
1213
COPY OREAnalytics /ore/OREAnalytics
1314
COPY ThirdPartyLibs /ore/ThirdPartyLibs
1415
COPY cmake /ore/cmake
16+
COPY Docker/update_version_number.py /ore
1517

1618
RUN \
1719
dnf -y install clang && \
@@ -24,6 +26,7 @@ ENV CCACHE_MAXSIZE="10G"
2426

2527
WORKDIR /ore
2628
RUN \
29+
python3 update_version_number.py -f version.hpp -v ${WHEELS_VERSION} && \
2730
mkdir build && \
2831
cd build && \
2932
cmake .. -GNinja -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_CXX_FLAGS="-D BOOST_ENABLE_ASSERT_HANDLER $([ "$(uname -m)" = "x86_64" ] && echo "-mavx2")" -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DQL_BUILD_EXAMPLES=OFF -DQL_BUILD_TEST_SUITE=OFF -DQL_ENABLE_PARALLEL_UNIT_TEST_RUNNER=ON -DQL_ENABLE_SESSIONS=ON -DORE_BUILD_APP=OFF -DORE_BUILD_DOC=OFF -DORE_BUILD_EXAMPLES=OFF -DORE_BUILD_SWIG=OFF -DORE_BUILD_TESTS=OFF -DORE_ENABLE_OPENCL=OFF -DORE_ENABLE_PARALLEL_UNIT_TEST_RUNNER=ON -DORE_PYTHON_INTEGRATION=OFF

Docker/update_version_number.py

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
2+
# Invoke this file from the ore directory to
3+
# overwrite the version number in one of the files below:
4+
#
5+
# ORE-SWIG/setup.py
6+
# QuantExt/qle/version.hpp
7+
#
8+
# e.g:
9+
# cd /path/to/ore
10+
# python /path/to/update_version_number.py -v 1.23.45 -f setup.py
11+
# python /path/to/update_version_number.py -v 1.23.45 -f version.hpp
12+
13+
import optparse
14+
import shutil
15+
import re
16+
import os.path
17+
18+
SETUP_PY = "ORE-SWIG/setup.py"
19+
VERSION_HPP = "QuantExt/qle/version.hpp"
20+
21+
# Convert a version string into a string
22+
# containing a corresponding numerical value:
23+
# 1.8.14.0 -> 1081400
24+
# 1.234.5 -> 12340500
25+
# 1.234.5.dev1 -> 12340501
26+
def version_string_to_number(v):
27+
ret = ""
28+
# match x.x.x or x.x.x.x
29+
# where x = one or more alphanumeric characters
30+
p = r"(\w*)\.(\w*)\.(\w*)(?:\.(\w*))?"
31+
m = re.match(p, v)
32+
if not m:
33+
raise Exception("version string '{v}' has invalid format, expected x.x.x or x.x.x.x where x in [a-zA-Z0-9_]")
34+
for x in m.groups():
35+
x = re.sub("[^0-9]", "", x or "")
36+
if x:
37+
ret += x.zfill(2)
38+
else:
39+
ret += '00'
40+
return ret.lstrip('0')
41+
42+
# Parse the command line arguments
43+
parser = optparse.OptionParser()
44+
parser.add_option('-f', '--file')
45+
parser.add_option('-v', '--version')
46+
opts, args = parser.parse_args()
47+
file = opts.file
48+
version = opts.version
49+
50+
if file is None:
51+
raise Exception("missing input parameter --file")
52+
53+
if version is None:
54+
raise Exception("missing input parameter --version")
55+
56+
def find_and_replace(file, repl):
57+
58+
if not os.path.isfile(file):
59+
raise Exception(f"invalid path: {file}")
60+
61+
shutil.copy(file, file + ".bak")
62+
63+
with open(file) as f:
64+
s = f.read()
65+
66+
for (p, r) in repl:
67+
s = re.sub(p, r, s)
68+
69+
with open(file, 'w') as f:
70+
f.write(s)
71+
72+
if file == "setup.py":
73+
find_and_replace(SETUP_PY, [(r'(version\s*=\s*").*(")', fr'\g<1>{version}\g<2>')])
74+
elif file == "version.hpp":
75+
version_num = version_string_to_number(version)
76+
find_and_replace(VERSION_HPP, [
77+
(r'(#define OPEN_SOURCE_RISK_VERSION ").*(")', fr'\g<1>{version}\g<2>'),
78+
(r'(#define OPEN_SOURCE_RISK_VERSION_NUM ).*', fr'\g<1>{version_num}')])
79+
else:
80+
raise Exception(f"unrecognized file: {file}")
81+

Docs/UserGuide/pricing/pricingengines.tex

Lines changed: 97 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3622,6 +3622,7 @@ \subsection{Product Type: EquityBarrierOption, FxBarrierOption}
36223622
\begin{itemize}
36233623
\item BlackScholesMerton/AnalyticBarrierEngine
36243624
\item BlackScholesMerton/FdBlackScholesBarrierEngine
3625+
\item ScriptedTrade / ScriptedTrade (fx only)
36253626
\end{itemize}
36263627

36273628
Engine description:
@@ -3686,13 +3687,45 @@ \subsection{Product Type: EquityBarrierOption, FxBarrierOption}
36863687
\label{lst:peconfig_EquityBarrierOption_BlackScholesMerton_FdBlackScholesBarrierEngine}
36873688
\end{longlisting}
36883689

3690+
ScriptedTrade/ScriptedTrade delegates to the scripted trade engine and the associated pricing engine configuration for
3691+
Product Type ScriptedTrade, see there for details. A sample configuration is given in listing
3692+
\ref{lst:peconfig_FxBarrierOption_ScriptedTrade_ScriptedTrade}. Only FxBarrierOptions are supported at the moment.
3693+
Typical use case for this pricing engine config would XVA calculation within the AMC framework.
3694+
3695+
The parameters have the following meaning:
3696+
3697+
\begin{itemize}
3698+
\item SensitivityTemplate [optional]: the sensitivity template to use
3699+
\end{itemize}
3700+
3701+
\begin{longlisting}
3702+
\begin{minted}[fontsize=\footnotesize]{xml}
3703+
<Product type="FxBarrierOption">
3704+
<Model>ScriptedTrade</Model>
3705+
<ModelParameters/>
3706+
<Engine>ScriptedTrade</Engine>
3707+
<EngineParameters>
3708+
<Parameter name="SensitivityTemplate">FX_MC</Parameter>
3709+
</EngineParameters>
3710+
</Product>
3711+
\end{minted}
3712+
\caption{Configuration for Product FxBarrierOption, Model ScriptedTrade, Engine ScriptedTrade}
3713+
\label{lst:peconfig_FxBarrierOption_ScriptedTrade_ScriptedTrade}
3714+
\end{longlisting}
3715+
36893716
%--------------------------------------------------------
36903717
\subsection{Product Type: EquityDoubleBarrierOption, FxDoubleBarrierOption}
36913718
%--------------------------------------------------------
36923719

36933720
Used by trade type: EquityDoubleBarrierOption, FxDoubleBarrierOption
36943721

3695-
Available Model/Engine pairs: GarmanKohlhagen/AnalyticDoubleBarrierEngine (both fx and equity)
3722+
Available Model/Engine pairs:
3723+
\begin{itemize}
3724+
\item GarmanKohlhagen/AnalyticDoubleBarrierEngine (both fx and equity)
3725+
\item ScriptedTrade / ScriptedTrade (fx only)
3726+
\end{itemize}
3727+
3728+
36963729

36973730
Engine description:
36983731

@@ -3721,6 +3754,69 @@ \subsection{Product Type: EquityDoubleBarrierOption, FxDoubleBarrierOption}
37213754
\label{lst:peconfig_FxDoubleBarrierOption_GarmanKohlhagen_AnalyticDoubleBarrierEngine}
37223755
\end{longlisting}
37233756

3757+
ScriptedTrade/ScriptedTrade delegates to the scripted trade engine and the associated pricing engine configuration for
3758+
Product Type ScriptedTrade, see there for details. A sample configuration is given in listing
3759+
\ref{lst:peconfig_FxDoubleBarrierOption_ScriptedTrade_ScriptedTrade}. Only FxBarrierOptions are supported at the moment.
3760+
Typical use case for this pricing engine config would XVA calculation within the AMC framework.
3761+
3762+
The parameters have the following meaning:
3763+
3764+
\begin{itemize}
3765+
\item SensitivityTemplate [optional]: the sensitivity template to use
3766+
\end{itemize}
3767+
3768+
\begin{longlisting}
3769+
\begin{minted}[fontsize=\footnotesize]{xml}
3770+
<Product type="FxDoubleBarrierOption">
3771+
<Model>ScriptedTrade</Model>
3772+
<ModelParameters/>
3773+
<Engine>ScriptedTrade</Engine>
3774+
<EngineParameters>
3775+
<Parameter name="SensitivityTemplate">FX_MC</Parameter>
3776+
</EngineParameters>
3777+
</Product>
3778+
\end{minted}
3779+
\caption{Configuration for Product FxDoubleBarrierOption, Model ScriptedTrade, Engine ScriptedTrade}
3780+
\label{lst:peconfig_FxDoubleBarrierOption_ScriptedTrade_ScriptedTrade}
3781+
\end{longlisting}
3782+
3783+
3784+
%--------------------------------------------------------
3785+
\subsection{Product Type: FxEuropeanBarrierOption}
3786+
%--------------------------------------------------------
3787+
3788+
Available Model/Engine pairs:
3789+
\begin{itemize}
3790+
\item ScriptedTrade / ScriptedTrade
3791+
\end{itemize}
3792+
3793+
Engine description:
3794+
3795+
ScriptedTrade/ScriptedTrade delegates to the scripted trade engine and the associated pricing engine configuration for
3796+
Product Type ScriptedTrade, see there for details. A sample configuration is given in listing
3797+
\ref{lst:peconfig_FxDoubleBarrierOption_ScriptedTrade_ScriptedTrade}. Only FxBarrierOptions are supported at the moment.
3798+
Typical use case for this pricing engine config would XVA calculation within the AMC framework.
3799+
3800+
The parameters have the following meaning:
3801+
3802+
\begin{itemize}
3803+
\item SensitivityTemplate [optional]: the sensitivity template to use
3804+
\end{itemize}
3805+
3806+
\begin{longlisting}
3807+
\begin{minted}[fontsize=\footnotesize]{xml}
3808+
<Product type="FxDoubleBarrierOption">
3809+
<Model>ScriptedTrade</Model>
3810+
<ModelParameters/>
3811+
<Engine>ScriptedTrade</Engine>
3812+
<EngineParameters>
3813+
<Parameter name="SensitivityTemplate">FX_MC</Parameter>
3814+
</EngineParameters>
3815+
</Product>
3816+
\end{minted}
3817+
\caption{Configuration for Product FxDoubleBarrierOption, Model ScriptedTrade, Engine ScriptedTrade}
3818+
\label{lst:peconfig_FxDoubleBarrierOption_ScriptedTrade_ScriptedTrade}
3819+
\end{longlisting}
37243820

37253821
%--------------------------------------------------------
37263822
\subsection{Product Type: EquityDigitalOption, FxDigitalOption}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#TradeId,Date,Time,EPE,ENE,AllocatedEPE,AllocatedENE,PFE,BaselEE,BaselEEE,TimeWeightedBaselEPE,TimeWeightedBaselEEPE
2+
FX_BARRIER_OPTION_UPIN,2022-01-31,0.000000,10862,0,0,0,10862,10862,10862,10861.84,10861.84
3+
FX_BARRIER_OPTION_UPIN,2022-02-01,0.002740,12830,0,0,0,17721,12832,12832,12832.02,12832.02
4+
FX_BARRIER_OPTION_UPIN,2022-02-02,0.005479,12930,0,0,0,19701,12933,12933,12882.38,12882.38
5+
FX_BARRIER_OPTION_UPIN,2022-02-03,0.008219,12732,0,0,0,23436,12737,12933,12834.01,12899.17
6+
FX_BARRIER_OPTION_UPIN,2022-02-04,0.010959,12565,0,0,0,25922,12572,12933,12768.42,12907.57
7+
FX_BARRIER_OPTION_UPIN,2022-02-07,0.019178,13203,0,0,0,29197,13215,13215,12959.77,13039.29
8+
FX_BARRIER_OPTION_UPIN,2022-02-08,0.021918,12906,0,0,0,27968,12919,13215,12954.63,13061.24
9+
FX_BARRIER_OPTION_UPIN,2022-02-09,0.024658,12825,0,0,0,33380,12840,13215,12941.87,13078.32
10+
FX_BARRIER_OPTION_UPIN,2022-02-10,0.027397,12239,0,0,0,35418,12255,13215,12873.15,13091.98
11+
FX_BARRIER_OPTION_UPIN,2022-02-11,0.030137,12743,0,0,0,33824,12761,13215,12862.92,13103.15
12+
FX_BARRIER_OPTION_UPIN,2022-02-14,0.038356,12305,0,0,0,45696,12327,13215,12748.01,13127.10
13+
FX_BARRIER_OPTION_UPIN,2022-02-15,0.041096,12066,0,0,0,46576,12088,13215,12704.04,13132.96
14+
FX_BARRIER_OPTION_UPIN,2022-02-16,0.043836,12435,0,0,0,46596,12461,13215,12688.82,13138.08
15+
FX_BARRIER_OPTION_UPIN,2022-02-17,0.046575,12098,0,0,0,46186,12124,13215,12655.59,13142.60
16+
FX_BARRIER_OPTION_UPIN,2022-02-18,0.049315,11666,0,0,0,47524,11693,13215,12602.10,13146.62
17+
FX_BARRIER_OPTION_UPIN,2022-02-22,0.060274,11413,0,0,0,45913,11445,13215,12391.69,13159.03
18+
FX_BARRIER_OPTION_UPIN,2022-02-23,0.063014,11557,0,0,0,41566,11590,13215,12356.85,13161.46
19+
FX_BARRIER_OPTION_UPIN,2022-02-24,0.065753,11766,0,0,0,43931,11802,13215,12333.71,13163.69
20+
FX_BARRIER_OPTION_UPIN,2022-02-25,0.068493,11550,0,0,0,44310,11586,13215,12303.81,13165.74
21+
FX_BARRIER_OPTION_UPIN,2022-02-28,0.076712,11761,0,0,0,56476,11803,13215,12250.12,13171.01
22+
FX_BARRIER_OPTION_UPIN,2022-03-01,0.079452,0,0,0,0,0,0,13215,11827.70,13172.52
23+
FX_BARRIER_OPTION_UPIN,2022-03-02,0.082192,0,0,0,0,0,0,13215,11433.45,13173.94
24+
FX_BARRIER_OPTION_UPIN,2022-03-03,0.084932,0,0,0,0,0,0,13215,11064.63,13175.26
25+
FX_BARRIER_OPTION_UPIN,2022-03-04,0.087671,0,0,0,0,0,0,13215,10718.86,13176.50
26+
FX_BARRIER_OPTION_UPIN,2022-03-07,0.095890,0,0,0,0,0,0,13215,9800.10,13179.79
27+
FX_BARRIER_OPTION_UPIN,2022-03-08,0.098630,0,0,0,0,0,0,13215,9527.87,13180.77
28+
FX_BARRIER_OPTION_UPIN,2022-03-09,0.101370,0,0,0,0,0,0,13215,9270.36,13181.69
29+
FX_BARRIER_OPTION_UPIN,2022-03-10,0.104110,0,0,0,0,0,0,13215,9026.41,13182.56
30+
FX_BARRIER_OPTION_UPIN,2022-03-11,0.106849,0,0,0,0,0,0,13215,8794.96,13183.39
31+
FX_BARRIER_OPTION_UPIN,2022-03-14,0.115068,0,0,0,0,0,0,13215,8166.75,13185.64
32+
FX_BARRIER_OPTION_UPIN,2022-03-15,0.117808,0,0,0,0,0,0,13215,7976.82,13186.32
33+
FX_BARRIER_OPTION_UPIN,2022-03-16,0.120548,0,0,0,0,0,0,13215,7795.53,13186.97
34+
FX_BARRIER_OPTION_UPIN,2022-03-17,0.123288,0,0,0,0,0,0,13215,7622.30,13187.60
35+
FX_BARRIER_OPTION_UPIN,2022-03-18,0.126027,0,0,0,0,0,0,13215,7456.60,13188.19
36+
FX_BARRIER_OPTION_UPIN,2022-03-21,0.134247,0,0,0,0,0,0,13215,7000.07,13189.83
37+
FX_BARRIER_OPTION_UPIN,2022-03-22,0.136986,0,0,0,0,0,0,13215,6860.07,13190.33
38+
FX_BARRIER_OPTION_UPIN,2022-03-23,0.139726,0,0,0,0,0,0,13215,6725.56,13190.81
39+
FX_BARRIER_OPTION_UPIN,2022-03-24,0.142466,0,0,0,0,0,0,13215,6596.22,13191.27
40+
FX_BARRIER_OPTION_UPIN,2022-03-25,0.145205,0,0,0,0,0,0,13215,6471.76,13191.72
41+
FX_BARRIER_OPTION_UPIN,2022-03-28,0.153425,0,0,0,0,0,0,13215,6125.06,13192.96
42+
FX_BARRIER_OPTION_UPIN,2022-03-29,0.156164,0,0,0,0,0,0,13215,6017.60,13193.35
43+
FX_BARRIER_OPTION_UPIN,2022-03-30,0.158904,0,0,0,0,0,0,13215,5913.85,13193.72
44+
FX_BARRIER_OPTION_UPIN,2022-03-31,0.161644,0,0,0,0,0,0,13215,5813.62,13194.08
45+
FX_BARRIER_OPTION_UPIN,2022-04-01,0.164384,0,0,0,0,0,0,13215,5716.72,13194.43
46+
FX_BARRIER_OPTION_UPIN,2022-04-04,0.172603,0,0,0,0,0,0,13215,5444.50,13195.40
47+
FX_BARRIER_OPTION_UPIN,2022-04-05,0.175342,0,0,0,0,0,0,13215,5359.43,13195.71
48+
FX_BARRIER_OPTION_UPIN,2022-04-06,0.178082,0,0,0,0,0,0,13215,5276.98,13196.00
49+
FX_BARRIER_OPTION_UPIN,2022-04-07,0.180822,0,0,0,0,0,0,13215,5197.02,13196.29
50+
FX_BARRIER_OPTION_UPIN,2022-04-08,0.183562,0,0,0,0,0,0,13215,5119.45,13196.57
51+
FX_BARRIER_OPTION_UPIN,2022-04-11,0.191781,0,0,0,0,0,0,13215,4900.05,13197.35
52+
FX_BARRIER_OPTION_UPIN,2022-04-12,0.194521,0,0,0,0,0,0,13215,4831.03,13197.60
53+
FX_BARRIER_OPTION_UPIN,2022-04-13,0.197260,0,0,0,0,0,0,13215,4763.94,13197.84
54+
FX_BARRIER_OPTION_UPIN,2022-04-14,0.200000,0,0,0,0,0,0,13215,4698.68,13198.07
55+
FX_BARRIER_OPTION_UPIN,2022-04-19,0.213699,0,0,0,0,0,0,13215,4397.48,13199.15
56+
FX_BARRIER_OPTION_UPIN,2022-04-20,0.216438,0,0,0,0,0,0,13215,4341.82,13199.35
57+
FX_BARRIER_OPTION_UPIN,2022-04-21,0.219178,0,0,0,0,0,0,13215,4287.54,13199.55
58+
FX_BARRIER_OPTION_UPIN,2022-04-22,0.221918,0,0,0,0,0,0,13215,4234.61,13199.74
59+
FX_BARRIER_OPTION_UPIN,2022-04-25,0.230137,0,0,0,0,0,0,13215,4083.37,13200.28
60+
FX_BARRIER_OPTION_UPIN,2022-04-26,0.232877,0,0,0,0,0,0,13215,4035.33,13200.45
61+
FX_BARRIER_OPTION_UPIN,2022-04-27,0.235616,0,0,0,0,0,0,13215,3988.41,13200.62
62+
FX_BARRIER_OPTION_UPIN,2022-04-28,0.238356,0,0,0,0,0,0,13215,3942.57,13200.78
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#TradeId,Date,Time,EPE,ENE,AllocatedEPE,AllocatedENE,PFE,BaselEE,BaselEEE,TimeWeightedBaselEPE,TimeWeightedBaselEEPE
2+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-01-31,0.000000,11801,0,0,0,11801,11801,11801,11800.99,11800.99
3+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-01,0.002740,13360,0,0,0,17603,13362,13362,13361.60,13361.60
4+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-02,0.005479,13385,0,0,0,19783,13389,13389,13375.07,13375.07
5+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-03,0.008219,13402,0,0,0,21043,13407,13407,13385.64,13385.64
6+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-04,0.010959,13141,0,0,0,25932,13148,13407,13326.18,13390.92
7+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-07,0.019178,13481,0,0,0,28770,13493,13493,13397.63,13434.62
8+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-08,0.021918,13316,0,0,0,28006,13329,13493,13389.09,13441.91
9+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-09,0.024658,13253,0,0,0,36485,13268,13493,13375.63,13447.57
10+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-10,0.027397,13020,0,0,0,37516,13036,13493,13341.66,13452.10
11+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-11,0.030137,13159,0,0,0,34322,13177,13493,13326.70,13455.81
12+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-14,0.038356,13210,0,0,0,45172,13233,13493,13306.69,13463.76
13+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-15,0.041096,13033,0,0,0,46673,13057,13493,13290.06,13465.70
14+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-16,0.043836,13180,0,0,0,47645,13206,13493,13284.84,13467.40
15+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-17,0.046575,12690,0,0,0,46845,12718,13493,13251.48,13468.90
16+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-18,0.049315,12625,0,0,0,47892,12653,13493,13218.25,13470.23
17+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-22,0.060274,12368,0,0,0,45600,12402,13493,13069.85,13474.35
18+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-23,0.063014,12422,0,0,0,40866,12458,13493,13043.26,13475.16
19+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-24,0.065753,12659,0,0,0,44203,12697,13493,13028.85,13475.90
20+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-25,0.068493,12509,0,0,0,44176,12548,13493,13009.62,13476.58
21+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-02-28,0.076712,12697,0,0,0,56422,12742,13493,12981.00,13478.33
22+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-01,0.079452,0,0,0,0,0,0,13493,12533.38,13478.83
23+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-02,0.082192,0,0,0,0,0,0,13493,12115.60,13479.30
24+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-03,0.084932,0,0,0,0,0,0,13493,11724.77,13479.74
25+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-04,0.087671,0,0,0,0,0,0,13493,11358.37,13480.15
26+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-07,0.095890,0,0,0,0,0,0,13493,10384.80,13481.24
27+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-08,0.098630,0,0,0,0,0,0,13493,10096.33,13481.56
28+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-09,0.101370,0,0,0,0,0,0,13493,9823.46,13481.87
29+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-10,0.104110,0,0,0,0,0,0,13493,9564.95,13482.16
30+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-11,0.106849,0,0,0,0,0,0,13493,9319.69,13482.44
31+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-14,0.115068,0,0,0,0,0,0,13493,8654.00,13483.18
32+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-15,0.117808,0,0,0,0,0,0,13493,8452.74,13483.41
33+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-16,0.120548,0,0,0,0,0,0,13493,8260.64,13483.62
34+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-17,0.123288,0,0,0,0,0,0,13493,8077.07,13483.83
35+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-18,0.126027,0,0,0,0,0,0,13493,7901.48,13484.03
36+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-21,0.134247,0,0,0,0,0,0,13493,7417.71,13484.57
37+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-22,0.136986,0,0,0,0,0,0,13493,7269.36,13484.74
38+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-23,0.139726,0,0,0,0,0,0,13493,7126.82,13484.90
39+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-24,0.142466,0,0,0,0,0,0,13493,6989.77,13485.05
40+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-25,0.145205,0,0,0,0,0,0,13493,6857.89,13485.20
41+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-28,0.153425,0,0,0,0,0,0,13493,6490.50,13485.61
42+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-29,0.156164,0,0,0,0,0,0,13493,6376.63,13485.74
43+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-30,0.158904,0,0,0,0,0,0,13493,6266.69,13485.86
44+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-03-31,0.161644,0,0,0,0,0,0,13493,6160.47,13485.98
45+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-01,0.164384,0,0,0,0,0,0,13493,6057.80,13486.10
46+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-04,0.172603,0,0,0,0,0,0,13493,5769.33,13486.42
47+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-05,0.175342,0,0,0,0,0,0,13493,5679.19,13486.52
48+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-06,0.178082,0,0,0,0,0,0,13493,5591.82,13486.62
49+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-07,0.180822,0,0,0,0,0,0,13493,5507.09,13486.71
50+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-08,0.183562,0,0,0,0,0,0,13493,5424.90,13486.81
51+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-11,0.191781,0,0,0,0,0,0,13493,5192.40,13487.07
52+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-12,0.194521,0,0,0,0,0,0,13493,5119.27,13487.15
53+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-13,0.197260,0,0,0,0,0,0,13493,5048.17,13487.23
54+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-14,0.200000,0,0,0,0,0,0,13493,4979.01,13487.31
55+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-19,0.213699,0,0,0,0,0,0,13493,4659.85,13487.66
56+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-20,0.216438,0,0,0,0,0,0,13493,4600.86,13487.73
57+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-21,0.219178,0,0,0,0,0,0,13493,4543.35,13487.80
58+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-22,0.221918,0,0,0,0,0,0,13493,4487.26,13487.86
59+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-25,0.230137,0,0,0,0,0,0,13493,4327.00,13488.04
60+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-26,0.232877,0,0,0,0,0,0,13493,4276.09,13488.10
61+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-27,0.235616,0,0,0,0,0,0,13493,4226.37,13488.15
62+
FX_DOUBLE_BARRIER_OPTION_KNOCKIN,2022-04-28,0.238356,0,0,0,0,0,0,13493,4177.79,13488.21

0 commit comments

Comments
 (0)