You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(60) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(18) |
Feb
(4) |
Mar
(6) |
Apr
(2) |
May
|
Jun
(12) |
Jul
(48) |
Aug
(6) |
Sep
(3) |
Oct
(24) |
Nov
(15) |
Dec
(18) |
| 2002 |
Jan
(39) |
Feb
(12) |
Mar
(80) |
Apr
(72) |
May
(46) |
Jun
(27) |
Jul
(23) |
Aug
(34) |
Sep
(65) |
Oct
(71) |
Nov
(19) |
Dec
(14) |
| 2003 |
Jan
(44) |
Feb
(59) |
Mar
(18) |
Apr
(62) |
May
(54) |
Jun
(27) |
Jul
(46) |
Aug
(15) |
Sep
(44) |
Oct
(36) |
Nov
(19) |
Dec
(12) |
| 2004 |
Jan
(26) |
Feb
(33) |
Mar
(47) |
Apr
(63) |
May
(36) |
Jun
(65) |
Jul
(80) |
Aug
(163) |
Sep
(65) |
Oct
(39) |
Nov
(36) |
Dec
(39) |
| 2005 |
Jan
(97) |
Feb
(78) |
Mar
(64) |
Apr
(64) |
May
(48) |
Jun
(55) |
Jul
(89) |
Aug
(57) |
Sep
(51) |
Oct
(111) |
Nov
(86) |
Dec
(76) |
| 2006 |
Jan
(84) |
Feb
(103) |
Mar
(143) |
Apr
(92) |
May
(55) |
Jun
(58) |
Jul
(71) |
Aug
(57) |
Sep
(74) |
Oct
(59) |
Nov
(8) |
Dec
(32) |
| 2007 |
Jan
(60) |
Feb
(40) |
Mar
(50) |
Apr
(26) |
May
(61) |
Jun
(120) |
Jul
(119) |
Aug
(48) |
Sep
(121) |
Oct
(66) |
Nov
(103) |
Dec
(43) |
| 2008 |
Jan
(60) |
Feb
(109) |
Mar
(92) |
Apr
(106) |
May
(82) |
Jun
(59) |
Jul
(67) |
Aug
(118) |
Sep
(131) |
Oct
(56) |
Nov
(37) |
Dec
(69) |
| 2009 |
Jan
(75) |
Feb
(76) |
Mar
(103) |
Apr
(78) |
May
(61) |
Jun
(35) |
Jul
(66) |
Aug
(69) |
Sep
(166) |
Oct
(46) |
Nov
(72) |
Dec
(65) |
| 2010 |
Jan
(48) |
Feb
(57) |
Mar
(93) |
Apr
(85) |
May
(123) |
Jun
(82) |
Jul
(98) |
Aug
(121) |
Sep
(146) |
Oct
(86) |
Nov
(72) |
Dec
(34) |
| 2011 |
Jan
(96) |
Feb
(55) |
Mar
(73) |
Apr
(57) |
May
(33) |
Jun
(74) |
Jul
(89) |
Aug
(71) |
Sep
(103) |
Oct
(76) |
Nov
(52) |
Dec
(61) |
| 2012 |
Jan
(48) |
Feb
(54) |
Mar
(78) |
Apr
(60) |
May
(75) |
Jun
(59) |
Jul
(33) |
Aug
(66) |
Sep
(43) |
Oct
(46) |
Nov
(75) |
Dec
(51) |
| 2013 |
Jan
(112) |
Feb
(72) |
Mar
(49) |
Apr
(48) |
May
(42) |
Jun
(44) |
Jul
(80) |
Aug
(19) |
Sep
(33) |
Oct
(37) |
Nov
(38) |
Dec
(98) |
| 2014 |
Jan
(113) |
Feb
(93) |
Mar
(49) |
Apr
(106) |
May
(97) |
Jun
(155) |
Jul
(87) |
Aug
(127) |
Sep
(85) |
Oct
(48) |
Nov
(41) |
Dec
(37) |
| 2015 |
Jan
(34) |
Feb
(50) |
Mar
(104) |
Apr
(80) |
May
(82) |
Jun
(66) |
Jul
(41) |
Aug
(84) |
Sep
(37) |
Oct
(65) |
Nov
(83) |
Dec
(52) |
| 2016 |
Jan
(68) |
Feb
(35) |
Mar
(42) |
Apr
(35) |
May
(54) |
Jun
(75) |
Jul
(45) |
Aug
(52) |
Sep
(60) |
Oct
(52) |
Nov
(36) |
Dec
(64) |
| 2017 |
Jan
(92) |
Feb
(59) |
Mar
(35) |
Apr
(53) |
May
(83) |
Jun
(43) |
Jul
(65) |
Aug
(68) |
Sep
(46) |
Oct
(75) |
Nov
(40) |
Dec
(49) |
| 2018 |
Jan
(68) |
Feb
(54) |
Mar
(48) |
Apr
(58) |
May
(51) |
Jun
(44) |
Jul
(40) |
Aug
(68) |
Sep
(35) |
Oct
(15) |
Nov
(7) |
Dec
(37) |
| 2019 |
Jan
(43) |
Feb
(7) |
Mar
(22) |
Apr
(21) |
May
(31) |
Jun
(39) |
Jul
(73) |
Aug
(45) |
Sep
(47) |
Oct
(89) |
Nov
(19) |
Dec
(69) |
| 2020 |
Jan
(52) |
Feb
(63) |
Mar
(45) |
Apr
(59) |
May
(42) |
Jun
(57) |
Jul
(30) |
Aug
(29) |
Sep
(75) |
Oct
(64) |
Nov
(96) |
Dec
(22) |
| 2021 |
Jan
(14) |
Feb
(24) |
Mar
(35) |
Apr
(58) |
May
(36) |
Jun
(15) |
Jul
(18) |
Aug
(31) |
Sep
(30) |
Oct
(33) |
Nov
(27) |
Dec
(16) |
| 2022 |
Jan
(35) |
Feb
(22) |
Mar
(14) |
Apr
(20) |
May
(44) |
Jun
(53) |
Jul
(25) |
Aug
(56) |
Sep
(11) |
Oct
(47) |
Nov
(22) |
Dec
(36) |
| 2023 |
Jan
(30) |
Feb
(17) |
Mar
(31) |
Apr
(48) |
May
(31) |
Jun
(7) |
Jul
(25) |
Aug
(26) |
Sep
(61) |
Oct
(66) |
Nov
(19) |
Dec
(21) |
| 2024 |
Jan
(37) |
Feb
(29) |
Mar
(26) |
Apr
(26) |
May
(34) |
Jun
(9) |
Jul
(27) |
Aug
(13) |
Sep
(15) |
Oct
(25) |
Nov
(13) |
Dec
(8) |
| 2025 |
Jan
(13) |
Feb
(1) |
Mar
(16) |
Apr
(17) |
May
(8) |
Jun
(6) |
Jul
(9) |
Aug
|
Sep
(6) |
Oct
(15) |
Nov
(6) |
Dec
|
| 2026 |
Jan
(6) |
Feb
(4) |
Mar
(20) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Peter C. <pca...@gm...> - 2022-10-15 15:58:44
|
Just to add to what Jonathan said: QuantLib does not model SOFR swaptions correctly at the moment, so even if the technical issue is resolved you'll not get an accurate valuation. Best, Peter On Sat, 15 Oct 2022 at 11:23, Jonathan Sweemer <sw...@gm...> wrote: > > Hi Mark, > > You can find the source of the error message here: https://github.com/lballabio/QuantLib/blob/master/ql/processes/gsrprocess.cpp#L92-L93 > > Looks like your Sofr term structure somehow contains a forward from 0.915068 to 0.912329, which of course is not allowed, but it's a bit hard to know why without seeing the rest of your code. > > > On Sat, Oct 15, 2022 at 11:58 AM Mark <gr...@gm...> wrote: >> >> Hi, >> >> If I used index=Euribor6M(termstructure) as the yield curve I can calculate European swaption through GSR model, but once I changed the index to index=Sofr(termstructure), I will get below error: >> >> atmSwaption.NPV() >> Return _QuantLib.Intrument_NPV(self) >> RuntimeError: G(t,w) should be called with w (0.912329) not lesser than t(0.915068) >> >> Does anyone know what this error message means? >> >> Thanks, >> Mark >> _______________________________________________ >> QuantLib-users mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-users > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users |
|
From: Jonathan S. <sw...@gm...> - 2022-10-15 12:02:40
|
Looks like it's due to some numerical error in
the FdBlackScholesVanillaEngine. If I replace FdBlackScholesVanillaEngine
with AnalyticDividendEuropeanEngine in your code then I get 0.37 as the
breakeven vol for both the constant vol case as well as the vol surface
case as expected.
Is there any reason that you need to use the FdBlackScholesVanillaEngine?
If not then I suppose you can use the AnalyticDividendEuropeanEngine
instead. But if your question is what is causing the numerical error in the
FdBlackScholesVanillaEngine then that will require more debugging.
I'm sure you know already, but a constant vol surface is not suitable for
real-world pricing, especially for short maturities where the skew in SPX
is most extreme. You'll want to try out other pricing engines to obtain
meaningful results on real-world data.
On Tue, Oct 11, 2022 at 11:31 PM Dan VolPM <dan...@gm...> wrote:
> Hi,
>
> I am running into an issue where quantlib outputs different thetas whether
> i price with a blackvariancesurface or with the constant vol extracted from
> the surface.
>
> I have a vol surface from the market on the SPX index. Not all
> strikes/maturities are populated. In addition, there could potentially be
> arbitrages in short maturities since we have lots of daily options and I am
> not correcting yet for arbitrages.
>
> Yet when building a BlackVarianceSurface with this data and price a
> vanilla option, I expect that option to be priced with a constant vol
> interpolated from the grid.
>
> When I pass the surface object to the pricer I am getting a very different
> theta (and therefore breakeven vol) from simply passing the constant vol
> taken from the surface.
>
> Could you help me understand exactly how QLIB handles the surface and how
> is theta computed ?
>
> Thank you very very much.
>
> Here's some sample code that compares a constant vol with a surface vol
> pricing. Notice how the theta changes between the 2 cases leading to a very
> different break even vol.
>
>
> import pandas as pd, QuantLib as ql, math, numpy as npfrom datetime import datetime
>
>
> def from_YYYYMMDD_to_ql_date(ymd):
> ymd = int(ymd)
> year = math.floor(ymd / 10000)
> month = int(ymd / 100) % 100
> day = ymd % 100
>
> ql_date = ql.Date(day, month, year)
> return ql_date
>
>
> def run_test():
>
> ####################################################################
> #### Global Variables
> ####################################################################
> pricing_date = datetime.strptime('20220916', '%Y%m%d')
> ql_pricing_date = ql.Date(16, 9, 2022)
> calendar = ql.UnitedStates(ql.UnitedStates.Settlement)
> day_counter = ql.ActualActual()
> spot = 3876.00
> spot_handle = ql.QuoteHandle(ql.SimpleQuote(spot))
> flat_ts = ql.YieldTermStructureHandle(ql.FlatForward(ql_pricing_date, 0, day_counter))
> dividend_yield = ql.YieldTermStructureHandle(ql.FlatForward(ql_pricing_date, 0, day_counter))
> K = 3800
> ql_date_expiry = ql.Date(16, 12, 2022)
> exercise = ql.EuropeanExercise(ql_date_expiry)
> payoff = ql.PlainVanillaPayoff(ql.Option.Put, strike=K)
>
>
> ####################################################################
> #### Build Vol surface
> ####################################################################
> list_opts = []
> expirations = [datetime.strptime('20220921', '%Y%m%d'), datetime.strptime('20221118', '%Y%m%d'), datetime.strptime('20221216', '%Y%m%d'), ]
> list_opts.append([pricing_date, expirations[0], 3800., 45.])
> list_opts.append([pricing_date, expirations[0], 3900., 40.])
>
> list_opts.append([pricing_date, expirations[1], 3800., 27.])
> list_opts.append([pricing_date, expirations[1], 3900., 25.])
>
> list_opts.append([pricing_date, expirations[2], 3800., 37.])
> list_opts.append([pricing_date, expirations[2], 3900., 31.])
>
> df = pd.DataFrame(list_opts, columns=['date', 'maturity', 'strike', 'vol'])
>
> df['ymd'] = df['maturity'].dt.strftime('%Y%m%d')
> df['q_exp_dates'] = df['ymd'].apply(from_YYYYMMDD_to_ql_date)
>
> strikes = sorted(df.strike.unique())
> expirations = sorted(df['q_exp_dates'].unique())
>
> df['strike_idx'] = df['strike'].apply(lambda x: strikes.index(x))
> df['expiry_idx'] = df['q_exp_dates'].apply(lambda x: expirations.index(x))
>
> volMat_np = np.full((len(strikes), len(expirations)), np.nan)
>
> for strk, exp, vol in zip(df['strike_idx'], df['expiry_idx'], df['vol']):
> volMat_np[strk][exp] = vol / 100
>
> df_vals = pd.DataFrame(volMat_np, index=strikes, columns=expirations)
> print(df_vals)
>
> ql_Matrix = ql.Matrix(len(strikes), len(expirations), np.nan)
> for i in range(len(strikes)):
> for j in range(len(expirations)):
> ql_Matrix[i][j] = volMat_np[i, j]
>
>
> ####################################################################
> #### We build 1 vol surface and a constant vol = BlackVol(surface)
> ####################################################################
>
> vol_process = ql.BlackVarianceSurface(ql_pricing_date, calendar, expirations, strikes,
> ql_Matrix, day_counter)
>
> option_vol = vol_process.blackVol(ql_date_expiry,K)
> constant_vol = ql.BlackConstantVol(ql_pricing_date, calendar, option_vol, day_counter)
>
> ####################################################################
> #### Build Process
> ####################################################################
>
> process_surface = ql.BlackScholesMertonProcess(spot_handle, dividendTS=dividend_yield, riskFreeTS=flat_ts,
> volTS=ql.BlackVolTermStructureHandle(vol_process))
>
> process_constant = ql.BlackScholesMertonProcess(spot_handle, dividendTS=dividend_yield, riskFreeTS=flat_ts,
> volTS=ql.BlackVolTermStructureHandle(constant_vol))
>
>
> ####################################################################
> #### Build Option to price
> ####################################################################
> option_surface = ql.DividendVanillaOption(payoff, exercise, [], [])
> engine_surface = ql.FdBlackScholesVanillaEngine(process_surface, 200, 200)
> option_surface.setPricingEngine(engine_surface)
>
> option_constant = ql.DividendVanillaOption(payoff, exercise, [], [])
> engine_constant = ql.FdBlackScholesVanillaEngine(process_constant, 200, 200)
> option_constant.setPricingEngine(engine_constant)
>
> prc_cst = option_constant.NPV()
> gamma_cst = option_constant.gamma()
> theta_cst = option_constant.theta() / 252. # biz day theta
> vol_be_sqrt252_cst = round(math.sqrt(-2. * theta_cst / (gamma_cst * spot ** 2)) * math.sqrt(252),4) # calculate theta-gamma break even vol to estimate what vol is being used by quantlib
> print(f'Option details')
> print(f'-------------------------------------------------')
> print(f'Maturity: {ql_date_expiry}')
> print(f'Strike: {K}')
> print(f'Vol from surface: {option_vol}')
> print(f'')
> print(f'-------------------------------------------------')
> print(f'Constant vol case')
> print(f'-----------------')
> print(f'Option price: {prc_cst}')
> print(f'Option gamma: {gamma_cst}')
> print(f'Option theta: {theta_cst}')
> print(f'Break even Vol = {vol_be_sqrt252_cst} should be {option_vol}')
>
> prc_surface = option_surface.NPV()
> gamma_surface = option_surface.gamma()
> theta_surface = option_surface.theta() / 252. # biz day theta
> vol_be_sqrt252_surface = round(math.sqrt(-2. * theta_surface / (gamma_surface * spot ** 2)) * math.sqrt(252),4) # calculate theta-gamma break even vol to estimate what vol is being used by quantlib
> print(f'-------------------------------------------------')
> print(f'Vol Surface case')
> print(f'----------------')
> print(f'Option price: {prc_surface}')
> print(f'Option gamma: {gamma_surface}')
> print(f'Option theta: {theta_surface}')
> print(f'Break even Vol = {vol_be_sqrt252_surface} should be {option_vol}')
>
>
> if __name__ == '__main__':
> run_test()
>
>
>
> We get the following results:
>
> September 21st, 2022 November 18th, 2022 December 16th, 2022
> 3800.0 0.45 0.27 0.37
> 3900.0 0.40 0.25 0.31
> Option details
> -------------------------------------------------
> Maturity: December 16th, 2022
> Strike: 3800
> Vol from surface: 0.37
>
> -------------------------------------------------
> Constant vol case
> -----------------
> Option price: 246.10555275972283
> Option gamma: 0.0005462073912642451
> Option theta: -2.2348817578128877
> Break even Vol = 0.3705 should be 0.37
> -------------------------------------------------
> Vol Surface case
> ----------------
> Option price: 246.10595637993455
> Option gamma: 0.0005462035022605052
> Option theta: -3.3101198905503284
> Break even Vol = 0.4509 should be 0.37
>
> If you change the vol surface to something which is not arbitrable but
> still has high very short term vol, the problem persists and even
> accentuates. In all cases the difference appears on the theta. The price of
> the option does not change.
>
> list_opts.append([pricing_date, expirations[0], 3800., 45.])
> list_opts.append([pricing_date, expirations[0], 3900., 40.])
>
> list_opts.append([pricing_date, expirations[1], 3800., 27.])
> list_opts.append([pricing_date, expirations[1], 3900., 25.])
>
> list_opts.append([pricing_date, expirations[2], 3800., 27.])
> list_opts.append([pricing_date, expirations[2], 3900., 25.])
>
> We get the following:
>
> Option details
> -------------------------------------------------
> Maturity: December 16th, 2022
> Strike: 3800
> Vol from surface: 0.27
>
> -------------------------------------------------Constant vol case
> -----------------
> Option price: 170.495477037466
> Option gamma: 0.0007462620578669159
> Option theta: -1.6258437988242298Break even Vol = 0.2703 should be 0.27
> -------------------------------------------------Vol Surface case
> ----------------
> Option price: 170.49560335893932
> Option gamma: 0.0007462597949764497
> Option theta: -4.538109308076177
> Break even Vol = 0.4517 should be 0.27
>
>
> Thank you very much
>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Jonathan S. <sw...@gm...> - 2022-10-15 09:21:50
|
Hi Mark, You can find the source of the error message here: https://github.com/lballabio/QuantLib/blob/master/ql/processes/gsrprocess.cpp#L92-L93 Looks like your Sofr term structure somehow contains a forward from 0.915068 to 0.912329, which of course is not allowed, but it's a bit hard to know why without seeing the rest of your code. On Sat, Oct 15, 2022 at 11:58 AM Mark <gr...@gm...> wrote: > Hi, > > If I used index=Euribor6M(termstructure) as the yield curve I can > calculate European swaption through GSR model, but once I changed the index > to index=Sofr(termstructure), I will get below error: > > atmSwaption.NPV() > Return _QuantLib.Intrument_NPV(self) > RuntimeError: G(t,w) should be called with w (0.912329) not lesser than > t(0.915068) > > Does anyone know what this error message means? > > Thanks, > Mark > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: Mark <gr...@gm...> - 2022-10-15 02:55:28
|
Hi, If I used index=Euribor6M(termstructure) as the yield curve I can calculate European swaption through GSR model, but once I changed the index to index=Sofr(termstructure), I will get below error: atmSwaption.NPV() Return _QuantLib.Intrument_NPV(self) RuntimeError: G(t,w) should be called with w (0.912329) not lesser than t(0.915068) Does anyone know what this error message means? Thanks, Mark |
|
From: Luigi B. <lui...@gm...> - 2022-10-14 07:12:29
|
Thanks! On Fri, Oct 14, 2022 at 3:22 AM Dirk Eddelbuettel <ed...@de...> wrote: > > On 11 October 2022 at 19:01, Luigi Ballabio wrote: > | Ok, the ones now at < > | https://github.com/lballabio/QuantLib/releases/tag/1.28-rc> should be > | viable. Thanks! > > A day or two late but I just pushed it to Debian (into the 'experimental' > non-release flavour) and we should see compilation results here in a few > hours: > > > https://buildd.debian.org/status/package.php?p=quantlib&suite=experimental > > Dirk > > -- > dirk.eddelbuettel.com | @eddelbuettel | ed...@de... > |
|
From: Dirk E. <ed...@de...> - 2022-10-14 01:51:11
|
On 11 October 2022 at 19:01, Luigi Ballabio wrote: | Ok, the ones now at < | https://github.com/lballabio/QuantLib/releases/tag/1.28-rc> should be | viable. Thanks! A day or two late but I just pushed it to Debian (into the 'experimental' non-release flavour) and we should see compilation results here in a few hours: https://buildd.debian.org/status/package.php?p=quantlib&suite=experimental Dirk -- dirk.eddelbuettel.com | @eddelbuettel | ed...@de... |
|
From: Luigi B. <lui...@gm...> - 2022-10-11 17:01:21
|
Ok, the ones now at < https://github.com/lballabio/QuantLib/releases/tag/1.28-rc> should be viable. Thanks! Luigi On Tue, Oct 11, 2022 at 1:50 PM Luigi Ballabio <lui...@gm...> wrote: > Please belay that — I discovered a problem with some non-standard > configurations right after I posted. I'll update the RC shortly. > > Luigi > > > On Tue, Oct 11, 2022 at 11:53 AM Luigi Ballabio <lui...@gm...> > wrote: > >> Hello everybody, >> I just published a RC for version 1.28 at < >> https://github.com/lballabio/QuantLib/releases/tag/1.28-rc>. If you >> have some time, please give it a spin and report any problems here on the >> mailing list. Thanks! >> >> Luigi >> >> |
|
From: Luigi B. <lui...@gm...> - 2022-10-11 11:50:35
|
Please belay that — I discovered a problem with some non-standard configurations right after I posted. I'll update the RC shortly. Luigi On Tue, Oct 11, 2022 at 11:53 AM Luigi Ballabio <lui...@gm...> wrote: > Hello everybody, > I just published a RC for version 1.28 at < > https://github.com/lballabio/QuantLib/releases/tag/1.28-rc>. If you have > some time, please give it a spin and report any problems here on the > mailing list. Thanks! > > Luigi > > |
|
From: Luigi B. <lui...@gm...> - 2022-10-11 09:53:24
|
Hello everybody,
I just published a RC for version 1.28 at <
https://github.com/lballabio/QuantLib/releases/tag/1.28-rc>. If you have
some time, please give it a spin and report any problems here on the
mailing list. Thanks!
Luigi
|
|
From: Dan V. <dan...@gm...> - 2022-10-10 19:25:39
|
Hi, I'm running into an odd behavior of the surface when pricing a simple vanilla option. I am using a surface that includes many strikes, it has holes, and the short term vols are very high vs longer term. Still I would expect QL to simply price with the vol queried from the surface. I'm running into the following issues: 1. The theta of the option varies dramatically if I use the actual surface or a constant vol built from the vol queried from the surface (note only the theta changes, the price and other greeks are roughly the same) 2. When pricing with the surface, sometimes the pricer breaks and complains of falling variances even though I'm not doing any kind of local vol calculation. Isn't there a way to ask quantlib to simply price with the actual vol from the surface without looking for arbitrages in the curve. I'd rather leave the cleaning of the curve for a later date when using LV, and also I'd rather the pricing be super fast and avoid these checks from vanillas. Thank you, Dan |
|
From: Ioannis R. <qua...@de...> - 2022-10-08 17:12:22
|
Hi Peter, I will explain my issue. My Deriscope software consists of custom code that makes use of methods implemented either in ORE or QuantLib. Until ORE release 6 I was able to upgrade to the latest QuantLib release without any problems. But now with the current ORE release 7 I am stuck with the forked QuantLib code in the ORE repository. For example, if tomorrow Luigi makes a new QuantLib release, I will not be able to incorporate it into my code as it would be incompatible with what ORE expects. So, right now everything seems to work, but I am mostly concerned about the future. Optimally, the next ORE release 8 will link to a main branch (official) QuantLib version rather than a forked one. I can only hope this will be technically possible. Regards, Ioannis On 10/8/2022 5:07 PM, Peter Caspers wrote: > Hi Ioannis > > there is definitely no such thing as a "divorce from QuantLib" or any > other change in our dev strategy with release 7. That would be rather > silly indeed. Quite on the contrary I mentioned in a recent post that > it would make a lot of sense to consolidate some QuantExt classes with > QuantLib to reduce redundancies in (for example) the short rate models > (in the discussion around the Hull White 1F / GSR / LGM models, which > are all essentially the same). > > What is the concrete issue you have? Can you elaborate a bit, maybe we > can help mitigating it until the libraries are more in line again. I > am actually aware of a breaking change in the inflation framework, > this was reported on github recently. This is something we should > surely try to straighten out relatively soon. > > Thanks > Peter > > > On Sat, 8 Oct 2022 at 10:42, Ioannis Rigopoulos > <qua...@de...> wrote: > > Hi Roland, Peter, > > I am personally very keen on the continuous success of both > QuantLib and ORE as I am using both in my Deriscope application, > which is currently deployed successfully to a few bank clients, > including trading desks. > > I have opted to link to both QuantLib and ORE because of their > distinct competencies. > > Through the interaction with my clients, I often feel the need to > edit certain code segments. In the past I tried to add my edits to > the QuantLib and ORE main branches, but I have now refrained from > this practice due to a) QuantLib team's "less-than-enthusiastic" > response on issues I was raising and b) ORE's recent "disappearance". > > I felt very glad with ORE's comeback with release 7, its new > Acadia venture and its commitment to regular quarterly releases to > the point that I thought of transferring all my own code edits to > the ORE main branch. > > But I see now that the ORE release 7 marks a kind of "divorce" > from QuantLib, which is not good news for developers like me. > > To put it simply, I am now forced to choose one or the other: > > If I choose ORE, I will be distancing myself from the original > QuantLib branch, which would be dangerous if tomorrow ORE stops > being developed and also prohibit me from using recent additions > to QuantLib that are not yet incorporated in the ORE releases. > > If I choose QuantLib, I will not be able to use ORE, which > admittedly has very important stuff! > > A bit of an unfortunate deadlock really, which was not there until > release 6. > > Ioannis > > On 10/8/2022 9:49 AM, Peter Caspers wrote: >> Hi Ioannis >> >> we try to keep the diff between the original QL and our fork as >> small as possible. These particular differences refer to >> >> https://github.com/lballabio/QuantLib/pull/1222 >> >> which was needed to resolve major performance problems on our >> side. The discussion went a bit stale admittedly. I'll try to >> reignite it and flesh out the suggestions in the thread a bit more. >> >> Thank you >> Peter >> >> >> >> On Fri, 7 Oct 2022 at 19:29, Ioannis Rigopoulos >> <qua...@de...> wrote: >> >> Hi Roland, >> >> I have managed to compile and build ORE using the forked >> QuantLib version as suggested, but now I am stumbling on >> deep-rooted run time errors. >> >> It seems to me that the forked version of QuantLib deviates >> from the original in quite deep and subtle ways to the point >> that the rest of my code that used to work well with both ORE >> and QuantLib, now behaves in unexpected ways. >> >> One example is the very important QuantLib class >> FloatingRateCoupon , of which the original declaration >> >> class FloatingRateCoupon : public Coupon, public Observer >> >> has been changed to >> >> class FloatingRateCoupon : public Coupon, public LazyObject >> >> Another example that affected my run time behavior of OIS >> curve building concerns the implementation of >> OISRateHelper::impliedQuote(). >> >> The original QuantLib implementation contains the statement >> >> swap_->recalculate(); >> >> The forked version has replaced the above with >> >> swap_->deepUpdate(); >> >> It thus seems that the ORE version 7 marks a significant >> break from its previous versions as it requires a profoundly >> different underlying QuantLib code. >> >> I am sure that the ORE developers had good reasons for doing >> so, but the sad fact is that developers like me have to >> decide between using the original lballabio QuantLib branch >> or the one forked and maintained by ORE. >> >> Until ORE version 6, such a dilemma did not exist! >> >> Best regards, >> >> Ioannis >> >> On 10/4/2022 12:59 PM, Ioannis Rigopoulos wrote: >>> >>> Thanks for the quick turnaround. I have already extracted >>> the code using git, but it is nice to have this download >>> option as well. >>> >>> On 10/4/2022 12:46 PM, Roland Lichters wrote: >>>> >>>> Hi Ioannis, >>>> >>>> That’s a good point, we have added a release zip/tgz to the >>>> QuantLib repo in ORE: >>>> >>>> https://github.com/OpenSourceRisk/QuantLib/releases/tag/ORE-QuantLib-v1.27.1 >>>> >>>> I hope that works! >>>> >>>> Best regards, >>>> >>>> Roland >>>> >>>> *From: *Ioannis Rigopoulos <qua...@de...> >>>> <mailto:qua...@de...> >>>> *Date: *Tuesday, 4 October 2022 at 09:40 >>>> *To: *Roland Lichters <rol...@ac...> >>>> <mailto:rol...@ac...>, QuantLib users >>>> <qua...@li...> >>>> <mailto:qua...@li...>, QuantLib >>>> Mailing Lists <qua...@li...> >>>> <mailto:qua...@li...> >>>> *Subject: *Re: [Quantlib-dev] ORE 7 >>>> >>>> CAUTION:External email warning. This email originated from >>>> outside acadia.inc. Beware of phishing attempts. Comply >>>> with all acadia.inc policy to confirm sender identity >>>> before responding, forwarding, and especially clicking >>>> links or opening attachments. >>>> >>>> Thanks for the quick reply Roland. >>>> >>>> I will certainly try your suggestion, although I am using >>>> GitHub Desktop and I am not very familiar with the git dos >>>> commands. >>>> >>>> But since several people rely on the compressed forms (zip, >>>> tar) of the ORE and QuantLib releases, I am wondering if it >>>> would be possible to also provide the required QuantLib >>>> source code in compressed form, which is anyway done for >>>> all the official ORE and QuantLib releases. >>>> >>>> For example, you will see at the page >>>> https://github.com/OpenSourceRisk/Engine/releases/tag/v1.8.7.0 >>>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk%2FEngine%2Freleases%2Ftag%2Fv1.8.7.0&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3gnaMN97LTtKtZrRDG4GkT8op1tAABa%2BHjSWjvUZnz8%3D&reserved=0> >>>> the compressed ORE code. It would be certainly helpful if >>>> the corresponding QuantLib code could be similarly found >>>> somewhere, either as stand alone or embedded in the ORE >>>> compressed file. >>>> >>>> Ioannis >>>> >>>> On 10/4/2022 9:03 AM, Roland Lichters wrote: >>>> >>>> Hi Ioannis, >>>> >>>> Ah, maybe that wasn’t clear in the mail, we use a fork >>>> of QuantLib 1.27.1 with a few changes. >>>> >>>> So when you build ORE from sources on gihub, then >>>> please do a >>>> >>>> git submodule update --init >>>> >>>> That checks out our QuantLib 1.27.1 fork, and it should >>>> remove your build errors. >>>> >>>> Best regards, >>>> >>>> Roland >>>> >>>> *From: *Ioannis Rigopoulos <qua...@de...> >>>> <mailto:qua...@de...> >>>> *Date: *Monday, 3 October 2022 at 17:47 >>>> *To: *Roland Lichters <rol...@ac...> >>>> <mailto:rol...@ac...>, QuantLib users >>>> <qua...@li...> >>>> <mailto:qua...@li...>, QuantLib >>>> Mailing Lists <qua...@li...> >>>> <mailto:qua...@li...> >>>> *Subject: *Re: [Quantlib-dev] ORE 7 >>>> >>>> CAUTION:External email warning. This email originated >>>> from outside acadia.inc. Beware of phishing attempts. >>>> Comply with all acadia.inc policy to confirm sender >>>> identity before responding, forwarding, and especially >>>> clicking links or opening attachments. >>>> >>>> Thank you Roland for this new release, but I have >>>> experienced several compilation errors when trying to >>>> build the QuantExt library. >>>> >>>> I am using the official release of the 1.27.1 version >>>> of the QuantLib library as suggested in your email. >>>> >>>> One simple example of the several failures concerns the >>>> second CPICoupon constructor implemented online in the >>>> header cpicoupon.hpp >>>> >>>> Its top part looks as below: >>>> >>>> */CPICoupon(Real baseCPI, >>>> const Date& baseDate, // user provided, >>>> could be arbitrary >>>> const Date& paymentDate, Real nominal, >>>> const Date& startDate, const Date& endDate,/* >>>> >>>> */ (... more input arguments here ...)/* >>>> >>>> */ : QuantLib::CPICoupon(baseCPI, baseDate, >>>> paymentDate, nominal, startDate, endDate, index, >>>> observationLag,/* >>>> >>>> The compile-time error is caused by the implementation >>>> line: >>>> >>>> */QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, >>>> nominal, startDate, endDate, index,/* >>>> >>>> The above line passes the argument */baseDate /*to the >>>> constructor of the */QuantLib::CPICoupon /*class. >>>> >>>> But this fails because the CPICoupon class in QuantLib >>>> does not contain any constructor that expects a second >>>> argument of type Date. >>>> >>>> Best regards, >>>> >>>> Ioannis Rigopoulos >>>> >>>> On 9/22/2022 5:29 PM, Roland Lichters via QuantLib-dev >>>> wrote: >>>> >>>> Dear all, >>>> >>>> we have just published the 7th release of ORE and >>>> ORE-SWIG, updating the codebase at >>>> https://github.com/OpenSourceRisk >>>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=E5qyW6bz6HQr%2F7oX8jjB6CapFKyvOT%2BGsG5yjmE8jgo%3D&reserved=0>. >>>> ORE 7 depends on QuantLib 1.27.1 and QuantLib-SWIG >>>> 1.27. >>>> >>>> The release contains many fixes and improvements >>>> over the past year that were triggered by our main >>>> sponsor’s (Acadia) use of ORE in their Initial >>>> Margin Risk Generator services. The full release >>>> notes can be found in the user guide under the >>>> DOCUMENTATION menu on https://opensourcerisk.org >>>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopensourcerisk.org%2F&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=0NJEv%2BU4J7%2BpBN8A0GiK47iTduCXRaGVnc5fQZcoHlU%3D&reserved=0>. >>>> >>>> With this release we have started publishing a wide >>>> range of additional financial instruments. You will >>>> see various Equity/FX Exotics in this release. >>>> Commodity, Credit, Hybrids, Exotics with scripted >>>> payoffs will follow in the next releases in >>>> quarterly steps, see also the Acadia press release >>>> and roadmap here >>>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.acadia.inc%2Fnews%2Facadia-announces-seventh-release-of-open-source-risk-engine-with-quarterly-releases-to-follow&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=F0Uj0LGndGDHUqM573QS2VPbSGKfv%2FSCAz1nMYxJztM%3D&reserved=0>. >>>> >>>> >>>> If you want to hear from Acadia about latest ORE >>>> developments, then feel free to sign up here >>>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fshare.hsforms.com%2F1eqcUZ-9_QdSH__M7_YPSig43ul4&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=s5ye1RwJNE3OVVAPYeXyAaDyPI8iW7De8TE1lnVxuMI%3D&reserved=0> >>>> to receive updates by email. >>>> >>>> Please explore ORE – download the release >>>> executable, or clone the repositories and build. >>>> >>>> As usual, all feedback is welcome! >>>> >>>> Best regards, >>>> >>>> Roland >>>> >>>> >>>> /The information contained in this e-mail, and any >>>> attachment, is confidential and is intended solely >>>> for the use of the intended recipient. Access, >>>> copying or re-use of the e-mail or any attachment, >>>> or any information contained therein, by any other >>>> person is not authorized. If you are not the >>>> intended recipient please return the e-mail to the >>>> sender and delete it from your computer. The >>>> acadia.inc privacy policy is available on our >>>> website. / >>>> >>>> >>>> >>>> _______________________________________________ >>>> >>>> QuantLib-dev mailing list >>>> >>>> Qua...@li... >>>> >>>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fquantlib-dev&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TqiZ79kCKWOAYyYp5j9dsrhEATGPZJ6iCvM7RnPu0mE%3D&reserved=0> >>>> >>>> width= >>>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> >>>> >>>> >>>> >>>> Virenfrei.www.avast.com >>>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> >>>> >>>> >>>> /The information contained in this e-mail, and any >>>> attachment, is confidential and is intended solely for >>>> the use of the intended recipient. Access, copying or >>>> re-use of the e-mail or any attachment, or any >>>> information contained therein, by any other person is >>>> not authorized. If you are not the intended recipient >>>> please return the e-mail to the sender and delete it >>>> from your computer. The acadia.inc privacy policy is >>>> available on our website. / >>>> >>>> >>>> The information contained in this e-mail, and any >>>> attachment, is confidential and is intended solely for the >>>> use of the intended recipient. Access, copying or re-use of >>>> the e-mail or any attachment, or any information contained >>>> therein, by any other person is not authorized. If you are >>>> not the intended recipient please return the e-mail to the >>>> sender and delete it from your computer. The acadia.inc >>>> privacy policy is available on our website. >>> >>> >>> _______________________________________________ >>> QuantLib-dev mailing list >>> Qua...@li... >>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev >> _______________________________________________ >> QuantLib-dev mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-dev >> -- Diese E-Mail wurde von Avast-Antivirussoftware auf Viren geprüft. www.avast.com |
|
From: Peter C. <pca...@gm...> - 2022-10-08 15:08:17
|
Hi Ioannis there is definitely no such thing as a "divorce from QuantLib" or any other change in our dev strategy with release 7. That would be rather silly indeed. Quite on the contrary I mentioned in a recent post that it would make a lot of sense to consolidate some QuantExt classes with QuantLib to reduce redundancies in (for example) the short rate models (in the discussion around the Hull White 1F / GSR / LGM models, which are all essentially the same). What is the concrete issue you have? Can you elaborate a bit, maybe we can help mitigating it until the libraries are more in line again. I am actually aware of a breaking change in the inflation framework, this was reported on github recently. This is something we should surely try to straighten out relatively soon. Thanks Peter On Sat, 8 Oct 2022 at 10:42, Ioannis Rigopoulos <qua...@de...> wrote: > Hi Roland, Peter, > > I am personally very keen on the continuous success of both QuantLib and > ORE as I am using both in my Deriscope application, which is currently > deployed successfully to a few bank clients, including trading desks. > > I have opted to link to both QuantLib and ORE because of their distinct > competencies. > > Through the interaction with my clients, I often feel the need to edit > certain code segments. In the past I tried to add my edits to the QuantLib > and ORE main branches, but I have now refrained from this practice due to > a) QuantLib team's "less-than-enthusiastic" response on issues I was > raising and b) ORE's recent "disappearance". > > I felt very glad with ORE's comeback with release 7, its new Acadia > venture and its commitment to regular quarterly releases to the point that > I thought of transferring all my own code edits to the ORE main branch. > > But I see now that the ORE release 7 marks a kind of "divorce" from > QuantLib, which is not good news for developers like me. > > To put it simply, I am now forced to choose one or the other: > > If I choose ORE, I will be distancing myself from the original QuantLib > branch, which would be dangerous if tomorrow ORE stops being developed and > also prohibit me from using recent additions to QuantLib that are not yet > incorporated in the ORE releases. > > If I choose QuantLib, I will not be able to use ORE, which admittedly has > very important stuff! > > A bit of an unfortunate deadlock really, which was not there until release > 6. > > Ioannis > On 10/8/2022 9:49 AM, Peter Caspers wrote: > > Hi Ioannis > > we try to keep the diff between the original QL and our fork as small as > possible. These particular differences refer to > > https://github.com/lballabio/QuantLib/pull/1222 > > which was needed to resolve major performance problems on our side. The > discussion went a bit stale admittedly. I'll try to reignite it and flesh > out the suggestions in the thread a bit more. > > Thank you > Peter > > > > On Fri, 7 Oct 2022 at 19:29, Ioannis Rigopoulos <qua...@de...> > wrote: > >> Hi Roland, >> >> I have managed to compile and build ORE using the forked QuantLib version >> as suggested, but now I am stumbling on deep-rooted run time errors. >> >> It seems to me that the forked version of QuantLib deviates from the >> original in quite deep and subtle ways to the point that the rest of my >> code that used to work well with both ORE and QuantLib, now behaves in >> unexpected ways. >> >> One example is the very important QuantLib class FloatingRateCoupon , of >> which the original declaration >> >> class FloatingRateCoupon : public Coupon, public Observer >> >> has been changed to >> >> class FloatingRateCoupon : public Coupon, public LazyObject >> >> Another example that affected my run time behavior of OIS curve building >> concerns the implementation of OISRateHelper::impliedQuote(). >> >> The original QuantLib implementation contains the statement >> >> swap_->recalculate(); >> >> The forked version has replaced the above with >> >> swap_->deepUpdate(); >> >> It thus seems that the ORE version 7 marks a significant break from its >> previous versions as it requires a profoundly different underlying QuantLib >> code. >> >> I am sure that the ORE developers had good reasons for doing so, but the >> sad fact is that developers like me have to decide between using the >> original lballabio QuantLib branch or the one forked and maintained by ORE. >> >> Until ORE version 6, such a dilemma did not exist! >> >> Best regards, >> >> Ioannis >> On 10/4/2022 12:59 PM, Ioannis Rigopoulos wrote: >> >> Thanks for the quick turnaround. I have already extracted the code using >> git, but it is nice to have this download option as well. >> On 10/4/2022 12:46 PM, Roland Lichters wrote: >> >> Hi Ioannis, >> >> >> >> That’s a good point, we have added a release zip/tgz to the QuantLib repo >> in ORE: >> >> >> https://github.com/OpenSourceRisk/QuantLib/releases/tag/ORE-QuantLib-v1.27.1 >> >> I hope that works! >> >> >> >> Best regards, >> >> Roland >> >> >> >> *From: *Ioannis Rigopoulos <qua...@de...> >> <qua...@de...> >> *Date: *Tuesday, 4 October 2022 at 09:40 >> *To: *Roland Lichters <rol...@ac...> >> <rol...@ac...>, QuantLib users >> <qua...@li...> >> <qua...@li...>, QuantLib Mailing Lists >> <qua...@li...> <qua...@li...> >> *Subject: *Re: [Quantlib-dev] ORE 7 >> >> CAUTION: External email warning. This email originated from outside >> acadia.inc. Beware of phishing attempts. Comply with all acadia.inc policy >> to confirm sender identity before responding, forwarding, and especially >> clicking links or opening attachments. >> >> >> >> Thanks for the quick reply Roland. >> >> I will certainly try your suggestion, although I am using GitHub Desktop >> and I am not very familiar with the git dos commands. >> >> But since several people rely on the compressed forms (zip, tar) of the >> ORE and QuantLib releases, I am wondering if it would be possible to also >> provide the required QuantLib source code in compressed form, which is >> anyway done for all the official ORE and QuantLib releases. >> >> For example, you will see at the page >> https://github.com/OpenSourceRisk/Engine/releases/tag/v1.8.7.0 >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk%2FEngine%2Freleases%2Ftag%2Fv1.8.7.0&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3gnaMN97LTtKtZrRDG4GkT8op1tAABa%2BHjSWjvUZnz8%3D&reserved=0> >> the compressed ORE code. It would be certainly helpful if the corresponding >> QuantLib code could be similarly found somewhere, either as stand alone or >> embedded in the ORE compressed file. >> >> Ioannis >> >> On 10/4/2022 9:03 AM, Roland Lichters wrote: >> >> Hi Ioannis, >> >> >> >> Ah, maybe that wasn’t clear in the mail, we use a fork of QuantLib 1.27.1 >> with a few changes. >> >> So when you build ORE from sources on gihub, then please do a >> >> git submodule update --init >> >> That checks out our QuantLib 1.27.1 fork, and it should remove your build >> errors. >> >> >> >> Best regards, >> >> Roland >> >> >> >> *From: *Ioannis Rigopoulos <qua...@de...> >> <qua...@de...> >> *Date: *Monday, 3 October 2022 at 17:47 >> *To: *Roland Lichters <rol...@ac...> >> <rol...@ac...>, QuantLib users >> <qua...@li...> >> <qua...@li...>, QuantLib Mailing Lists >> <qua...@li...> <qua...@li...> >> *Subject: *Re: [Quantlib-dev] ORE 7 >> >> CAUTION: External email warning. This email originated from outside >> acadia.inc. Beware of phishing attempts. Comply with all acadia.inc policy >> to confirm sender identity before responding, forwarding, and especially >> clicking links or opening attachments. >> >> >> >> Thank you Roland for this new release, but I have experienced several >> compilation errors when trying to build the QuantExt library. >> >> I am using the official release of the 1.27.1 version of the QuantLib >> library as suggested in your email. >> >> One simple example of the several failures concerns the second CPICoupon >> constructor implemented online in the header cpicoupon.hpp >> >> Its top part looks as below: >> >> >> >> *CPICoupon(Real baseCPI, const Date& baseDate, // user >> provided, could be arbitrary const Date& paymentDate, Real >> nominal, const Date& startDate, const Date& endDate,* >> >> * (... more input arguments here ...)* >> >> >> * : QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, >> startDate, endDate, index, observationLag,* >> >> The compile-time error is caused by the implementation line: >> >> *QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, startDate, >> endDate, index,* >> >> The above line passes the argument *baseDate *to the constructor of the *QuantLib::CPICoupon >> *class. >> >> But this fails because the CPICoupon class in QuantLib does not contain >> any constructor that expects a second argument of type Date. >> >> Best regards, >> >> Ioannis Rigopoulos >> >> >> >> On 9/22/2022 5:29 PM, Roland Lichters via QuantLib-dev wrote: >> >> Dear all, >> >> >> >> we have just published the 7th release of ORE and ORE-SWIG, updating the >> codebase at https://github.com/OpenSourceRisk >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=E5qyW6bz6HQr%2F7oX8jjB6CapFKyvOT%2BGsG5yjmE8jgo%3D&reserved=0>. >> ORE 7 depends on QuantLib 1.27.1 and QuantLib-SWIG 1.27. >> >> >> >> The release contains many fixes and improvements over the past year that >> were triggered by our main sponsor’s (Acadia) use of ORE in their Initial >> Margin Risk Generator services. The full release notes can be found in the >> user guide under the DOCUMENTATION menu on https://opensourcerisk.org >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopensourcerisk.org%2F&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=0NJEv%2BU4J7%2BpBN8A0GiK47iTduCXRaGVnc5fQZcoHlU%3D&reserved=0> >> . >> >> >> >> With this release we have started publishing a wide range of additional >> financial instruments. You will see various Equity/FX Exotics in this >> release. Commodity, Credit, Hybrids, Exotics with scripted payoffs will >> follow in the next releases in quarterly steps, see also the Acadia press >> release and roadmap here >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.acadia.inc%2Fnews%2Facadia-announces-seventh-release-of-open-source-risk-engine-with-quarterly-releases-to-follow&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=F0Uj0LGndGDHUqM573QS2VPbSGKfv%2FSCAz1nMYxJztM%3D&reserved=0>. >> >> >> >> >> If you want to hear from Acadia about latest ORE developments, then feel >> free to sign up here >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fshare.hsforms.com%2F1eqcUZ-9_QdSH__M7_YPSig43ul4&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=s5ye1RwJNE3OVVAPYeXyAaDyPI8iW7De8TE1lnVxuMI%3D&reserved=0> >> to receive updates by email. >> >> Please explore ORE – download the release executable, or clone the >> repositories and build. >> >> >> >> As usual, all feedback is welcome! >> >> >> >> Best regards, >> >> Roland >> >> >> *The information contained in this e-mail, and any attachment, is >> confidential and is intended solely for the use of the intended recipient. >> Access, copying or re-use of the e-mail or any attachment, or any >> information contained therein, by any other person is not authorized. If >> you are not the intended recipient please return the e-mail to the sender >> and delete it from your computer. The acadia.inc privacy policy is >> available on our website. * >> >> >> >> _______________________________________________ >> >> QuantLib-dev mailing list >> >> Qua...@li... >> >> https://lists.sourceforge.net/lists/listinfo/quantlib-dev <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fquantlib-dev&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TqiZ79kCKWOAYyYp5j9dsrhEATGPZJ6iCvM7RnPu0mE%3D&reserved=0> >> >> >> >> [image: width=] >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> >> >> Virenfrei.www.avast.com >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> >> >> >> >> >> *The information contained in this e-mail, and any attachment, is >> confidential and is intended solely for the use of the intended recipient. >> Access, copying or re-use of the e-mail or any attachment, or any >> information contained therein, by any other person is not authorized. If >> you are not the intended recipient please return the e-mail to the sender >> and delete it from your computer. The acadia.inc privacy policy is >> available on our website. * >> >> >> The information contained in this e-mail, and any attachment, is >> confidential and is intended solely for the use of the intended recipient. >> Access, copying or re-use of the e-mail or any attachment, or any >> information contained therein, by any other person is not authorized. If >> you are not the intended recipient please return the e-mail to the sender >> and delete it from your computer. The acadia.inc privacy policy is >> available on our website. >> >> >> >> _______________________________________________ >> QuantLib-dev mailing lis...@li...://lists.sourceforge.net/lists/listinfo/quantlib-dev >> >> _______________________________________________ >> QuantLib-dev mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-dev >> > |
|
From: Peter C. <pca...@gm...> - 2022-10-08 10:57:38
|
Hi Mark 1) no - the model and the engine do not interoperate 2) there is no GSR engine for American swaptions, for Bermudan swaptions you can use Gaussian1dSwaptionEngine, Gaussian1dNonstandardSwaptionEngine Kind Regards Peter On Fri, 7 Oct 2022 at 16:50, Mark <gr...@gm...> wrote: > > Hi, > > I used GSR model with Gaussian1dSwaptionEngine for bermudan swaption, I can get some result, but if I used GSR together with TreeSwaptionEngine, I will get below error. So I have two questions: > 1) are we able to use GSR together with TreeSwaptionEngine? > 2) Is there some particular swaption engine for Bermudan swaption and American swaption compatible with GSR model? > > Thanks, > Mark > > > TypeError: Wrong number or type of arguments for overloaded function 'new_TreeSwaptionEngine'. > Possible C/C++ prototypes are: > TreeSwaptionEngine::TreeSwaptionEngine(ext::shared_ptr< ShortRateModel > const &,Size,Handle< YieldTermStructure > const &) > TreeSwaptionEngine::TreeSwaptionEngine(ext::shared_ptr< ShortRateModel > const &,Size) > TreeSwaptionEngine::TreeSwaptionEngine(ext::shared_ptr< ShortRateModel > const &,TimeGrid const &,Handle< YieldTermStructure > const &) > TreeSwaptionEngine::TreeSwaptionEngine(ext::shared_ptr< ShortRateModel > const &,TimeGrid const &) > TreeSwaptionEngine::TreeSwaptionEngine(Handle< ShortRateModel > const &,Size,Handle< YieldTermStructure > const &) > TreeSwaptionEngine::TreeSwaptionEngine(Handle< ShortRateModel > const &,Size) > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users |
|
From: Ioannis R. <qua...@de...> - 2022-10-08 08:42:14
|
Hi Roland, Peter, I am personally very keen on the continuous success of both QuantLib and ORE as I am using both in my Deriscope application, which is currently deployed successfully to a few bank clients, including trading desks. I have opted to link to both QuantLib and ORE because of their distinct competencies. Through the interaction with my clients, I often feel the need to edit certain code segments. In the past I tried to add my edits to the QuantLib and ORE main branches, but I have now refrained from this practice due to a) QuantLib team's "less-than-enthusiastic" response on issues I was raising and b) ORE's recent "disappearance". I felt very glad with ORE's comeback with release 7, its new Acadia venture and its commitment to regular quarterly releases to the point that I thought of transferring all my own code edits to the ORE main branch. But I see now that the ORE release 7 marks a kind of "divorce" from QuantLib, which is not good news for developers like me. To put it simply, I am now forced to choose one or the other: If I choose ORE, I will be distancing myself from the original QuantLib branch, which would be dangerous if tomorrow ORE stops being developed and also prohibit me from using recent additions to QuantLib that are not yet incorporated in the ORE releases. If I choose QuantLib, I will not be able to use ORE, which admittedly has very important stuff! A bit of an unfortunate deadlock really, which was not there until release 6. Ioannis On 10/8/2022 9:49 AM, Peter Caspers wrote: > Hi Ioannis > > we try to keep the diff between the original QL and our fork as small > as possible. These particular differences refer to > > https://github.com/lballabio/QuantLib/pull/1222 > > which was needed to resolve major performance problems on our side. > The discussion went a bit stale admittedly. I'll try to reignite it > and flesh out the suggestions in the thread a bit more. > > Thank you > Peter > > > > On Fri, 7 Oct 2022 at 19:29, Ioannis Rigopoulos > <qua...@de...> wrote: > > Hi Roland, > > I have managed to compile and build ORE using the forked QuantLib > version as suggested, but now I am stumbling on deep-rooted run > time errors. > > It seems to me that the forked version of QuantLib deviates from > the original in quite deep and subtle ways to the point that the > rest of my code that used to work well with both ORE and QuantLib, > now behaves in unexpected ways. > > One example is the very important QuantLib class > FloatingRateCoupon , of which the original declaration > > class FloatingRateCoupon : public Coupon, public Observer > > has been changed to > > class FloatingRateCoupon : public Coupon, public LazyObject > > Another example that affected my run time behavior of OIS curve > building concerns the implementation of OISRateHelper::impliedQuote(). > > The original QuantLib implementation contains the statement > > swap_->recalculate(); > > The forked version has replaced the above with > > swap_->deepUpdate(); > > It thus seems that the ORE version 7 marks a significant break > from its previous versions as it requires a profoundly different > underlying QuantLib code. > > I am sure that the ORE developers had good reasons for doing so, > but the sad fact is that developers like me have to decide between > using the original lballabio QuantLib branch or the one forked and > maintained by ORE. > > Until ORE version 6, such a dilemma did not exist! > > Best regards, > > Ioannis > > On 10/4/2022 12:59 PM, Ioannis Rigopoulos wrote: >> >> Thanks for the quick turnaround. I have already extracted the >> code using git, but it is nice to have this download option as well. >> >> On 10/4/2022 12:46 PM, Roland Lichters wrote: >>> >>> Hi Ioannis, >>> >>> That’s a good point, we have added a release zip/tgz to the >>> QuantLib repo in ORE: >>> >>> https://github.com/OpenSourceRisk/QuantLib/releases/tag/ORE-QuantLib-v1.27.1 >>> >>> I hope that works! >>> >>> Best regards, >>> >>> Roland >>> >>> *From: *Ioannis Rigopoulos <qua...@de...> >>> <mailto:qua...@de...> >>> *Date: *Tuesday, 4 October 2022 at 09:40 >>> *To: *Roland Lichters <rol...@ac...> >>> <mailto:rol...@ac...>, QuantLib users >>> <qua...@li...> >>> <mailto:qua...@li...>, QuantLib Mailing >>> Lists <qua...@li...> >>> <mailto:qua...@li...> >>> *Subject: *Re: [Quantlib-dev] ORE 7 >>> >>> CAUTION:External email warning. This email originated from >>> outside acadia.inc. Beware of phishing attempts. Comply with all >>> acadia.inc policy to confirm sender identity before responding, >>> forwarding, and especially clicking links or opening attachments. >>> >>> Thanks for the quick reply Roland. >>> >>> I will certainly try your suggestion, although I am using GitHub >>> Desktop and I am not very familiar with the git dos commands. >>> >>> But since several people rely on the compressed forms (zip, tar) >>> of the ORE and QuantLib releases, I am wondering if it would be >>> possible to also provide the required QuantLib source code in >>> compressed form, which is anyway done for all the official ORE >>> and QuantLib releases. >>> >>> For example, you will see at the page >>> https://github.com/OpenSourceRisk/Engine/releases/tag/v1.8.7.0 >>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk%2FEngine%2Freleases%2Ftag%2Fv1.8.7.0&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3gnaMN97LTtKtZrRDG4GkT8op1tAABa%2BHjSWjvUZnz8%3D&reserved=0> >>> the compressed ORE code. It would be certainly helpful if the >>> corresponding QuantLib code could be similarly found somewhere, >>> either as stand alone or embedded in the ORE compressed file. >>> >>> Ioannis >>> >>> On 10/4/2022 9:03 AM, Roland Lichters wrote: >>> >>> Hi Ioannis, >>> >>> Ah, maybe that wasn’t clear in the mail, we use a fork of >>> QuantLib 1.27.1 with a few changes. >>> >>> So when you build ORE from sources on gihub, then please do a >>> >>> git submodule update --init >>> >>> That checks out our QuantLib 1.27.1 fork, and it should >>> remove your build errors. >>> >>> Best regards, >>> >>> Roland >>> >>> *From: *Ioannis Rigopoulos <qua...@de...> >>> <mailto:qua...@de...> >>> *Date: *Monday, 3 October 2022 at 17:47 >>> *To: *Roland Lichters <rol...@ac...> >>> <mailto:rol...@ac...>, QuantLib users >>> <qua...@li...> >>> <mailto:qua...@li...>, QuantLib >>> Mailing Lists <qua...@li...> >>> <mailto:qua...@li...> >>> *Subject: *Re: [Quantlib-dev] ORE 7 >>> >>> CAUTION:External email warning. This email originated from >>> outside acadia.inc. Beware of phishing attempts. Comply with >>> all acadia.inc policy to confirm sender identity before >>> responding, forwarding, and especially clicking links or >>> opening attachments. >>> >>> Thank you Roland for this new release, but I have >>> experienced several compilation errors when trying to build >>> the QuantExt library. >>> >>> I am using the official release of the 1.27.1 version of the >>> QuantLib library as suggested in your email. >>> >>> One simple example of the several failures concerns the >>> second CPICoupon constructor implemented online in the >>> header cpicoupon.hpp >>> >>> Its top part looks as below: >>> >>> */CPICoupon(Real baseCPI, >>> const Date& baseDate, // user provided, could >>> be arbitrary >>> const Date& paymentDate, Real nominal, const >>> Date& startDate, const Date& endDate,/* >>> >>> */ (... more input arguments here ...)/* >>> >>> */ : QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, >>> nominal, startDate, endDate, index, >>> observationLag,/* >>> >>> The compile-time error is caused by the implementation line: >>> >>> */QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, >>> nominal, startDate, endDate, index,/* >>> >>> The above line passes the argument */baseDate /*to the >>> constructor of the */QuantLib::CPICoupon /*class. >>> >>> But this fails because the CPICoupon class in QuantLib does >>> not contain any constructor that expects a second argument >>> of type Date. >>> >>> Best regards, >>> >>> Ioannis Rigopoulos >>> >>> On 9/22/2022 5:29 PM, Roland Lichters via QuantLib-dev wrote: >>> >>> Dear all, >>> >>> we have just published the 7th release of ORE and >>> ORE-SWIG, updating the codebase at >>> https://github.com/OpenSourceRisk >>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=E5qyW6bz6HQr%2F7oX8jjB6CapFKyvOT%2BGsG5yjmE8jgo%3D&reserved=0>. >>> ORE 7 depends on QuantLib 1.27.1 and QuantLib-SWIG 1.27. >>> >>> The release contains many fixes and improvements over >>> the past year that were triggered by our main sponsor’s >>> (Acadia) use of ORE in their Initial Margin Risk >>> Generator services. The full release notes can be found >>> in the user guide under the DOCUMENTATION menu on >>> https://opensourcerisk.org >>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopensourcerisk.org%2F&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=0NJEv%2BU4J7%2BpBN8A0GiK47iTduCXRaGVnc5fQZcoHlU%3D&reserved=0>. >>> >>> With this release we have started publishing a wide >>> range of additional financial instruments. You will see >>> various Equity/FX Exotics in this release. Commodity, >>> Credit, Hybrids, Exotics with scripted payoffs will >>> follow in the next releases in quarterly steps, see also >>> the Acadia press release and roadmap here >>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.acadia.inc%2Fnews%2Facadia-announces-seventh-release-of-open-source-risk-engine-with-quarterly-releases-to-follow&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=F0Uj0LGndGDHUqM573QS2VPbSGKfv%2FSCAz1nMYxJztM%3D&reserved=0>. >>> >>> >>> If you want to hear from Acadia about latest ORE >>> developments, then feel free to sign up here >>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fshare.hsforms.com%2F1eqcUZ-9_QdSH__M7_YPSig43ul4&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=s5ye1RwJNE3OVVAPYeXyAaDyPI8iW7De8TE1lnVxuMI%3D&reserved=0> >>> to receive updates by email. >>> >>> Please explore ORE – download the release executable, or >>> clone the repositories and build. >>> >>> As usual, all feedback is welcome! >>> >>> Best regards, >>> >>> Roland >>> >>> >>> /The information contained in this e-mail, and any >>> attachment, is confidential and is intended solely for >>> the use of the intended recipient. Access, copying or >>> re-use of the e-mail or any attachment, or any >>> information contained therein, by any other person is >>> not authorized. If you are not the intended recipient >>> please return the e-mail to the sender and delete it >>> from your computer. The acadia.inc privacy policy is >>> available on our website. / >>> >>> >>> >>> _______________________________________________ >>> >>> QuantLib-dev mailing list >>> >>> Qua...@li... >>> >>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fquantlib-dev&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TqiZ79kCKWOAYyYp5j9dsrhEATGPZJ6iCvM7RnPu0mE%3D&reserved=0> >>> >>> width= >>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> >>> >>> >>> >>> Virenfrei.www.avast.com >>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> >>> >>> >>> /The information contained in this e-mail, and any >>> attachment, is confidential and is intended solely for the >>> use of the intended recipient. Access, copying or re-use of >>> the e-mail or any attachment, or any information contained >>> therein, by any other person is not authorized. If you are >>> not the intended recipient please return the e-mail to the >>> sender and delete it from your computer. The acadia.inc >>> privacy policy is available on our website. / >>> >>> >>> The information contained in this e-mail, and any attachment, is >>> confidential and is intended solely for the use of the intended >>> recipient. Access, copying or re-use of the e-mail or any >>> attachment, or any information contained therein, by any other >>> person is not authorized. If you are not the intended recipient >>> please return the e-mail to the sender and delete it from your >>> computer. The acadia.inc privacy policy is available on our >>> website. >> >> >> _______________________________________________ >> QuantLib-dev mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-dev > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > -- Diese E-Mail wurde von Avast-Antivirussoftware auf Viren geprüft. www.avast.com |
|
From: Peter C. <pca...@gm...> - 2022-10-08 07:49:47
|
Hi Ioannis we try to keep the diff between the original QL and our fork as small as possible. These particular differences refer to https://github.com/lballabio/QuantLib/pull/1222 which was needed to resolve major performance problems on our side. The discussion went a bit stale admittedly. I'll try to reignite it and flesh out the suggestions in the thread a bit more. Thank you Peter On Fri, 7 Oct 2022 at 19:29, Ioannis Rigopoulos <qua...@de...> wrote: > Hi Roland, > > I have managed to compile and build ORE using the forked QuantLib version > as suggested, but now I am stumbling on deep-rooted run time errors. > > It seems to me that the forked version of QuantLib deviates from the > original in quite deep and subtle ways to the point that the rest of my > code that used to work well with both ORE and QuantLib, now behaves in > unexpected ways. > > One example is the very important QuantLib class FloatingRateCoupon , of > which the original declaration > > class FloatingRateCoupon : public Coupon, public Observer > > has been changed to > > class FloatingRateCoupon : public Coupon, public LazyObject > > Another example that affected my run time behavior of OIS curve building > concerns the implementation of OISRateHelper::impliedQuote(). > > The original QuantLib implementation contains the statement > > swap_->recalculate(); > > The forked version has replaced the above with > > swap_->deepUpdate(); > > It thus seems that the ORE version 7 marks a significant break from its > previous versions as it requires a profoundly different underlying QuantLib > code. > > I am sure that the ORE developers had good reasons for doing so, but the > sad fact is that developers like me have to decide between using the > original lballabio QuantLib branch or the one forked and maintained by ORE. > > Until ORE version 6, such a dilemma did not exist! > > Best regards, > > Ioannis > On 10/4/2022 12:59 PM, Ioannis Rigopoulos wrote: > > Thanks for the quick turnaround. I have already extracted the code using > git, but it is nice to have this download option as well. > On 10/4/2022 12:46 PM, Roland Lichters wrote: > > Hi Ioannis, > > > > That’s a good point, we have added a release zip/tgz to the QuantLib repo > in ORE: > > > https://github.com/OpenSourceRisk/QuantLib/releases/tag/ORE-QuantLib-v1.27.1 > > I hope that works! > > > > Best regards, > > Roland > > > > *From: *Ioannis Rigopoulos <qua...@de...> > <qua...@de...> > *Date: *Tuesday, 4 October 2022 at 09:40 > *To: *Roland Lichters <rol...@ac...> > <rol...@ac...>, QuantLib users > <qua...@li...> > <qua...@li...>, QuantLib Mailing Lists > <qua...@li...> <qua...@li...> > *Subject: *Re: [Quantlib-dev] ORE 7 > > CAUTION: External email warning. This email originated from outside > acadia.inc. Beware of phishing attempts. Comply with all acadia.inc policy > to confirm sender identity before responding, forwarding, and especially > clicking links or opening attachments. > > > > Thanks for the quick reply Roland. > > I will certainly try your suggestion, although I am using GitHub Desktop > and I am not very familiar with the git dos commands. > > But since several people rely on the compressed forms (zip, tar) of the > ORE and QuantLib releases, I am wondering if it would be possible to also > provide the required QuantLib source code in compressed form, which is > anyway done for all the official ORE and QuantLib releases. > > For example, you will see at the page > https://github.com/OpenSourceRisk/Engine/releases/tag/v1.8.7.0 > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk%2FEngine%2Freleases%2Ftag%2Fv1.8.7.0&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3gnaMN97LTtKtZrRDG4GkT8op1tAABa%2BHjSWjvUZnz8%3D&reserved=0> > the compressed ORE code. It would be certainly helpful if the corresponding > QuantLib code could be similarly found somewhere, either as stand alone or > embedded in the ORE compressed file. > > Ioannis > > On 10/4/2022 9:03 AM, Roland Lichters wrote: > > Hi Ioannis, > > > > Ah, maybe that wasn’t clear in the mail, we use a fork of QuantLib 1.27.1 > with a few changes. > > So when you build ORE from sources on gihub, then please do a > > git submodule update --init > > That checks out our QuantLib 1.27.1 fork, and it should remove your build > errors. > > > > Best regards, > > Roland > > > > *From: *Ioannis Rigopoulos <qua...@de...> > <qua...@de...> > *Date: *Monday, 3 October 2022 at 17:47 > *To: *Roland Lichters <rol...@ac...> > <rol...@ac...>, QuantLib users > <qua...@li...> > <qua...@li...>, QuantLib Mailing Lists > <qua...@li...> <qua...@li...> > *Subject: *Re: [Quantlib-dev] ORE 7 > > CAUTION: External email warning. This email originated from outside > acadia.inc. Beware of phishing attempts. Comply with all acadia.inc policy > to confirm sender identity before responding, forwarding, and especially > clicking links or opening attachments. > > > > Thank you Roland for this new release, but I have experienced several > compilation errors when trying to build the QuantExt library. > > I am using the official release of the 1.27.1 version of the QuantLib > library as suggested in your email. > > One simple example of the several failures concerns the second CPICoupon > constructor implemented online in the header cpicoupon.hpp > > Its top part looks as below: > > > > *CPICoupon(Real baseCPI, const Date& baseDate, // user > provided, could be arbitrary const Date& paymentDate, Real > nominal, const Date& startDate, const Date& endDate,* > > * (... more input arguments here ...)* > > > * : QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, > startDate, endDate, index, observationLag,* > > The compile-time error is caused by the implementation line: > > *QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, startDate, > endDate, index,* > > The above line passes the argument *baseDate *to the constructor of the *QuantLib::CPICoupon > *class. > > But this fails because the CPICoupon class in QuantLib does not contain > any constructor that expects a second argument of type Date. > > Best regards, > > Ioannis Rigopoulos > > > > On 9/22/2022 5:29 PM, Roland Lichters via QuantLib-dev wrote: > > Dear all, > > > > we have just published the 7th release of ORE and ORE-SWIG, updating the > codebase at https://github.com/OpenSourceRisk > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=E5qyW6bz6HQr%2F7oX8jjB6CapFKyvOT%2BGsG5yjmE8jgo%3D&reserved=0>. > ORE 7 depends on QuantLib 1.27.1 and QuantLib-SWIG 1.27. > > > > The release contains many fixes and improvements over the past year that > were triggered by our main sponsor’s (Acadia) use of ORE in their Initial > Margin Risk Generator services. The full release notes can be found in the > user guide under the DOCUMENTATION menu on https://opensourcerisk.org > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopensourcerisk.org%2F&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=0NJEv%2BU4J7%2BpBN8A0GiK47iTduCXRaGVnc5fQZcoHlU%3D&reserved=0> > . > > > > With this release we have started publishing a wide range of additional > financial instruments. You will see various Equity/FX Exotics in this > release. Commodity, Credit, Hybrids, Exotics with scripted payoffs will > follow in the next releases in quarterly steps, see also the Acadia press > release and roadmap here > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.acadia.inc%2Fnews%2Facadia-announces-seventh-release-of-open-source-risk-engine-with-quarterly-releases-to-follow&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=F0Uj0LGndGDHUqM573QS2VPbSGKfv%2FSCAz1nMYxJztM%3D&reserved=0>. > > > > > If you want to hear from Acadia about latest ORE developments, then feel > free to sign up here > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fshare.hsforms.com%2F1eqcUZ-9_QdSH__M7_YPSig43ul4&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=s5ye1RwJNE3OVVAPYeXyAaDyPI8iW7De8TE1lnVxuMI%3D&reserved=0> > to receive updates by email. > > Please explore ORE – download the release executable, or clone the > repositories and build. > > > > As usual, all feedback is welcome! > > > > Best regards, > > Roland > > > *The information contained in this e-mail, and any attachment, is > confidential and is intended solely for the use of the intended recipient. > Access, copying or re-use of the e-mail or any attachment, or any > information contained therein, by any other person is not authorized. If > you are not the intended recipient please return the e-mail to the sender > and delete it from your computer. The acadia.inc privacy policy is > available on our website. * > > > > _______________________________________________ > > QuantLib-dev mailing list > > Qua...@li... > > https://lists.sourceforge.net/lists/listinfo/quantlib-dev <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fquantlib-dev&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TqiZ79kCKWOAYyYp5j9dsrhEATGPZJ6iCvM7RnPu0mE%3D&reserved=0> > > > > [image: width=] > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> > > Virenfrei.www.avast.com > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> > > > > > *The information contained in this e-mail, and any attachment, is > confidential and is intended solely for the use of the intended recipient. > Access, copying or re-use of the e-mail or any attachment, or any > information contained therein, by any other person is not authorized. If > you are not the intended recipient please return the e-mail to the sender > and delete it from your computer. The acadia.inc privacy policy is > available on our website. * > > > The information contained in this e-mail, and any attachment, is > confidential and is intended solely for the use of the intended recipient. > Access, copying or re-use of the e-mail or any attachment, or any > information contained therein, by any other person is not authorized. If > you are not the intended recipient please return the e-mail to the sender > and delete it from your computer. The acadia.inc privacy policy is > available on our website. > > > > _______________________________________________ > QuantLib-dev mailing lis...@li...://lists.sourceforge.net/lists/listinfo/quantlib-dev > > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > |
|
From: Ioannis R. <qua...@de...> - 2022-10-07 17:28:51
|
Hi Roland, I have managed to compile and build ORE using the forked QuantLib version as suggested, but now I am stumbling on deep-rooted run time errors. It seems to me that the forked version of QuantLib deviates from the original in quite deep and subtle ways to the point that the rest of my code that used to work well with both ORE and QuantLib, now behaves in unexpected ways. One example is the very important QuantLib class FloatingRateCoupon , of which the original declaration class FloatingRateCoupon : public Coupon, public Observer has been changed to class FloatingRateCoupon : public Coupon, public LazyObject Another example that affected my run time behavior of OIS curve building concerns the implementation of OISRateHelper::impliedQuote(). The original QuantLib implementation contains the statement swap_->recalculate(); The forked version has replaced the above with swap_->deepUpdate(); It thus seems that the ORE version 7 marks a significant break from its previous versions as it requires a profoundly different underlying QuantLib code. I am sure that the ORE developers had good reasons for doing so, but the sad fact is that developers like me have to decide between using the original lballabio QuantLib branch or the one forked and maintained by ORE. Until ORE version 6, such a dilemma did not exist! Best regards, Ioannis On 10/4/2022 12:59 PM, Ioannis Rigopoulos wrote: > > Thanks for the quick turnaround. I have already extracted the code > using git, but it is nice to have this download option as well. > > On 10/4/2022 12:46 PM, Roland Lichters wrote: >> >> Hi Ioannis, >> >> That’s a good point, we have added a release zip/tgz to the QuantLib >> repo in ORE: >> >> https://github.com/OpenSourceRisk/QuantLib/releases/tag/ORE-QuantLib-v1.27.1 >> >> I hope that works! >> >> Best regards, >> >> Roland >> >> *From: *Ioannis Rigopoulos <qua...@de...> >> *Date: *Tuesday, 4 October 2022 at 09:40 >> *To: *Roland Lichters <rol...@ac...>, QuantLib users >> <qua...@li...>, QuantLib Mailing Lists >> <qua...@li...> >> *Subject: *Re: [Quantlib-dev] ORE 7 >> >> CAUTION:External email warning. This email originated from outside >> acadia.inc. Beware of phishing attempts. Comply with all acadia.inc >> policy to confirm sender identity before responding, forwarding, and >> especially clicking links or opening attachments. >> >> Thanks for the quick reply Roland. >> >> I will certainly try your suggestion, although I am using GitHub >> Desktop and I am not very familiar with the git dos commands. >> >> But since several people rely on the compressed forms (zip, tar) of >> the ORE and QuantLib releases, I am wondering if it would be possible >> to also provide the required QuantLib source code in compressed form, >> which is anyway done for all the official ORE and QuantLib releases. >> >> For example, you will see at the page >> https://github.com/OpenSourceRisk/Engine/releases/tag/v1.8.7.0 >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk%2FEngine%2Freleases%2Ftag%2Fv1.8.7.0&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3gnaMN97LTtKtZrRDG4GkT8op1tAABa%2BHjSWjvUZnz8%3D&reserved=0> >> the compressed ORE code. It would be certainly helpful if the >> corresponding QuantLib code could be similarly found somewhere, >> either as stand alone or embedded in the ORE compressed file. >> >> Ioannis >> >> On 10/4/2022 9:03 AM, Roland Lichters wrote: >> >> Hi Ioannis, >> >> Ah, maybe that wasn’t clear in the mail, we use a fork of >> QuantLib 1.27.1 with a few changes. >> >> So when you build ORE from sources on gihub, then please do a >> >> git submodule update --init >> >> That checks out our QuantLib 1.27.1 fork, and it should remove >> your build errors. >> >> Best regards, >> >> Roland >> >> *From: *Ioannis Rigopoulos <qua...@de...> >> <mailto:qua...@de...> >> *Date: *Monday, 3 October 2022 at 17:47 >> *To: *Roland Lichters <rol...@ac...> >> <mailto:rol...@ac...>, QuantLib users >> <qua...@li...> >> <mailto:qua...@li...>, QuantLib Mailing >> Lists <qua...@li...> >> <mailto:qua...@li...> >> *Subject: *Re: [Quantlib-dev] ORE 7 >> >> CAUTION:External email warning. This email originated from >> outside acadia.inc. Beware of phishing attempts. Comply with all >> acadia.inc policy to confirm sender identity before responding, >> forwarding, and especially clicking links or opening attachments. >> >> Thank you Roland for this new release, but I have experienced >> several compilation errors when trying to build the QuantExt library. >> >> I am using the official release of the 1.27.1 version of the >> QuantLib library as suggested in your email. >> >> One simple example of the several failures concerns the second >> CPICoupon constructor implemented online in the header cpicoupon.hpp >> >> Its top part looks as below: >> >> */CPICoupon(Real baseCPI, >> const Date& baseDate, // user provided, could be >> arbitrary >> const Date& paymentDate, Real nominal, const Date& >> startDate, const Date& endDate,/* >> >> */ (... more input arguments here ...)/* >> >> */ : QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, >> nominal, startDate, endDate, index, >> observationLag,/* >> >> The compile-time error is caused by the implementation line: >> >> */QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, >> startDate, endDate, index,/* >> >> The above line passes the argument */baseDate /*to the >> constructor of the */QuantLib::CPICoupon /*class. >> >> But this fails because the CPICoupon class in QuantLib does not >> contain any constructor that expects a second argument of type Date. >> >> Best regards, >> >> Ioannis Rigopoulos >> >> On 9/22/2022 5:29 PM, Roland Lichters via QuantLib-dev wrote: >> >> Dear all, >> >> we have just published the 7th release of ORE and ORE-SWIG, >> updating the codebase at https://github.com/OpenSourceRisk >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=E5qyW6bz6HQr%2F7oX8jjB6CapFKyvOT%2BGsG5yjmE8jgo%3D&reserved=0>. >> ORE 7 depends on QuantLib 1.27.1 and QuantLib-SWIG 1.27. >> >> The release contains many fixes and improvements over the >> past year that were triggered by our main sponsor’s (Acadia) >> use of ORE in their Initial Margin Risk Generator services. >> The full release notes can be found in the user guide under >> the DOCUMENTATION menu on https://opensourcerisk.org >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopensourcerisk.org%2F&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=0NJEv%2BU4J7%2BpBN8A0GiK47iTduCXRaGVnc5fQZcoHlU%3D&reserved=0>. >> >> With this release we have started publishing a wide range of >> additional financial instruments. You will see various >> Equity/FX Exotics in this release. Commodity, Credit, >> Hybrids, Exotics with scripted payoffs will follow in the >> next releases in quarterly steps, see also the Acadia press >> release and roadmap here >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.acadia.inc%2Fnews%2Facadia-announces-seventh-release-of-open-source-risk-engine-with-quarterly-releases-to-follow&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=F0Uj0LGndGDHUqM573QS2VPbSGKfv%2FSCAz1nMYxJztM%3D&reserved=0>. >> >> >> If you want to hear from Acadia about latest ORE >> developments, then feel free to sign up here >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fshare.hsforms.com%2F1eqcUZ-9_QdSH__M7_YPSig43ul4&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=s5ye1RwJNE3OVVAPYeXyAaDyPI8iW7De8TE1lnVxuMI%3D&reserved=0> >> to receive updates by email. >> >> Please explore ORE – download the release executable, or >> clone the repositories and build. >> >> As usual, all feedback is welcome! >> >> Best regards, >> >> Roland >> >> >> /The information contained in this e-mail, and any >> attachment, is confidential and is intended solely for the >> use of the intended recipient. Access, copying or re-use of >> the e-mail or any attachment, or any information contained >> therein, by any other person is not authorized. If you are >> not the intended recipient please return the e-mail to the >> sender and delete it from your computer. The acadia.inc >> privacy policy is available on our website. / >> >> >> >> _______________________________________________ >> >> QuantLib-dev mailing list >> >> Qua...@li... >> >> https://lists.sourceforge.net/lists/listinfo/quantlib-dev <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fquantlib-dev&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TqiZ79kCKWOAYyYp5j9dsrhEATGPZJ6iCvM7RnPu0mE%3D&reserved=0> >> >> width= >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> >> >> >> >> Virenfrei.www.avast.com >> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> >> >> >> /The information contained in this e-mail, and any attachment, is >> confidential and is intended solely for the use of the intended >> recipient. Access, copying or re-use of the e-mail or any >> attachment, or any information contained therein, by any other >> person is not authorized. If you are not the intended recipient >> please return the e-mail to the sender and delete it from your >> computer. The acadia.inc privacy policy is available on our >> website. / >> >> >> The information contained in this e-mail, and any attachment, is >> confidential and is intended solely for the use of the intended >> recipient. Access, copying or re-use of the e-mail or any attachment, >> or any information contained therein, by any other person is not >> authorized. If you are not the intended recipient please return the >> e-mail to the sender and delete it from your computer. The acadia.inc >> privacy policy is available on our website. > > > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev -- Diese E-Mail wurde von Avast-Antivirussoftware auf Viren geprüft. www.avast.com |
|
From: Mark <gr...@gm...> - 2022-10-07 14:48:16
|
Hi,
I used GSR model with Gaussian1dSwaptionEngine for bermudan swaption, I can
get some result, but if I used GSR together with TreeSwaptionEngine, I will
get below error. So I have two questions:
1) are we able to use GSR together with TreeSwaptionEngine?
2) Is there some particular swaption engine for Bermudan swaption and
American swaption compatible with GSR model?
Thanks,
Mark
TypeError: Wrong number or type of arguments for overloaded function
'new_TreeSwaptionEngine'.
Possible C/C++ prototypes are:
TreeSwaptionEngine::TreeSwaptionEngine(ext::shared_ptr<
ShortRateModel > const &,Size,Handle< YieldTermStructure > const &)
TreeSwaptionEngine::TreeSwaptionEngine(ext::shared_ptr<
ShortRateModel > const &,Size)
TreeSwaptionEngine::TreeSwaptionEngine(ext::shared_ptr<
ShortRateModel > const &,TimeGrid const &,Handle< YieldTermStructure >
const &)
TreeSwaptionEngine::TreeSwaptionEngine(ext::shared_ptr<
ShortRateModel > const &,TimeGrid const &)
TreeSwaptionEngine::TreeSwaptionEngine(Handle< ShortRateModel >
const &,Size,Handle< YieldTermStructure > const &)
TreeSwaptionEngine::TreeSwaptionEngine(Handle< ShortRateModel >
const &,Size)
|
|
From: Dan V. <dan...@gm...> - 2022-10-06 19:05:04
|
Hi,
I am running into an issue where quantlib outputs different thetas whether
i price with a blackvariancesurface or with the constant vol extracted from
the surface.
I have a vol surface from the market on the SPX index. Not all
strikes/maturities are populated. In addition, there could potentially be
arbitrages in short maturities since we have lots of daily options and I am
not correcting yet for arbitrages.
Yet when building a BlackVarianceSurface with this data and price a vanilla
option, I expect that option to be priced with a constant vol interpolated
from the grid.
When I pass the surface object to the pricer I am getting a very different
theta (and therefore breakeven vol) from simply passing the constant vol
taken from the surface.
Could you help me understand exactly how QLIB handles the surface and how
is theta computed ?
Thank you very very much.
Here's some sample code that compares a constant vol with a surface vol
pricing. Notice how the theta changes between the 2 cases leading to a very
different break even vol.
import pandas as pd, QuantLib as ql, math, numpy as npfrom datetime
import datetime
def from_YYYYMMDD_to_ql_date(ymd):
ymd = int(ymd)
year = math.floor(ymd / 10000)
month = int(ymd / 100) % 100
day = ymd % 100
ql_date = ql.Date(day, month, year)
return ql_date
def run_test():
####################################################################
#### Global Variables
####################################################################
pricing_date = datetime.strptime('20220916', '%Y%m%d')
ql_pricing_date = ql.Date(16, 9, 2022)
calendar = ql.UnitedStates(ql.UnitedStates.Settlement)
day_counter = ql.ActualActual()
spot = 3876.00
spot_handle = ql.QuoteHandle(ql.SimpleQuote(spot))
flat_ts = ql.YieldTermStructureHandle(ql.FlatForward(ql_pricing_date,
0, day_counter))
dividend_yield =
ql.YieldTermStructureHandle(ql.FlatForward(ql_pricing_date, 0,
day_counter))
K = 3800
ql_date_expiry = ql.Date(16, 12, 2022)
exercise = ql.EuropeanExercise(ql_date_expiry)
payoff = ql.PlainVanillaPayoff(ql.Option.Put, strike=K)
####################################################################
#### Build Vol surface
####################################################################
list_opts = []
expirations = [datetime.strptime('20220921', '%Y%m%d'),
datetime.strptime('20221118', '%Y%m%d'), datetime.strptime('20221216',
'%Y%m%d'), ]
list_opts.append([pricing_date, expirations[0], 3800., 45.])
list_opts.append([pricing_date, expirations[0], 3900., 40.])
list_opts.append([pricing_date, expirations[1], 3800., 27.])
list_opts.append([pricing_date, expirations[1], 3900., 25.])
list_opts.append([pricing_date, expirations[2], 3800., 37.])
list_opts.append([pricing_date, expirations[2], 3900., 31.])
df = pd.DataFrame(list_opts, columns=['date', 'maturity', 'strike', 'vol'])
df['ymd'] = df['maturity'].dt.strftime('%Y%m%d')
df['q_exp_dates'] = df['ymd'].apply(from_YYYYMMDD_to_ql_date)
strikes = sorted(df.strike.unique())
expirations = sorted(df['q_exp_dates'].unique())
df['strike_idx'] = df['strike'].apply(lambda x: strikes.index(x))
df['expiry_idx'] = df['q_exp_dates'].apply(lambda x: expirations.index(x))
volMat_np = np.full((len(strikes), len(expirations)), np.nan)
for strk, exp, vol in zip(df['strike_idx'], df['expiry_idx'], df['vol']):
volMat_np[strk][exp] = vol / 100
df_vals = pd.DataFrame(volMat_np, index=strikes, columns=expirations)
print(df_vals)
ql_Matrix = ql.Matrix(len(strikes), len(expirations), np.nan)
for i in range(len(strikes)):
for j in range(len(expirations)):
ql_Matrix[i][j] = volMat_np[i, j]
####################################################################
#### We build 1 vol surface and a constant vol =
BlackVol(surface)
####################################################################
vol_process = ql.BlackVarianceSurface(ql_pricing_date, calendar,
expirations, strikes,
ql_Matrix, day_counter)
option_vol = vol_process.blackVol(ql_date_expiry,K)
constant_vol = ql.BlackConstantVol(ql_pricing_date, calendar,
option_vol, day_counter)
####################################################################
#### Build Process
####################################################################
process_surface = ql.BlackScholesMertonProcess(spot_handle,
dividendTS=dividend_yield, riskFreeTS=flat_ts,
volTS=ql.BlackVolTermStructureHandle(vol_process))
process_constant = ql.BlackScholesMertonProcess(spot_handle,
dividendTS=dividend_yield, riskFreeTS=flat_ts,
volTS=ql.BlackVolTermStructureHandle(constant_vol))
####################################################################
#### Build Option to price
####################################################################
option_surface = ql.DividendVanillaOption(payoff, exercise, [], [])
engine_surface = ql.FdBlackScholesVanillaEngine(process_surface, 200, 200)
option_surface.setPricingEngine(engine_surface)
option_constant = ql.DividendVanillaOption(payoff, exercise, [], [])
engine_constant = ql.FdBlackScholesVanillaEngine(process_constant, 200, 200)
option_constant.setPricingEngine(engine_constant)
prc_cst = option_constant.NPV()
gamma_cst = option_constant.gamma()
theta_cst = option_constant.theta() / 252. # biz day theta
vol_be_sqrt252_cst = round(math.sqrt(-2. * theta_cst / (gamma_cst
* spot ** 2)) * math.sqrt(252),4) # calculate theta-gamma break
even vol to estimate what vol is being used by quantlib
print(f'Option details')
print(f'-------------------------------------------------')
print(f'Maturity: {ql_date_expiry}')
print(f'Strike: {K}')
print(f'Vol from surface: {option_vol}')
print(f'')
print(f'-------------------------------------------------')
print(f'Constant vol case')
print(f'-----------------')
print(f'Option price: {prc_cst}')
print(f'Option gamma: {gamma_cst}')
print(f'Option theta: {theta_cst}')
print(f'Break even Vol = {vol_be_sqrt252_cst} should be {option_vol}')
prc_surface = option_surface.NPV()
gamma_surface = option_surface.gamma()
theta_surface = option_surface.theta() / 252. # biz day theta
vol_be_sqrt252_surface = round(math.sqrt(-2. * theta_surface /
(gamma_surface * spot ** 2)) * math.sqrt(252),4) # calculate
theta-gamma break even vol to estimate what vol is being used by
quantlib
print(f'-------------------------------------------------')
print(f'Vol Surface case')
print(f'----------------')
print(f'Option price: {prc_surface}')
print(f'Option gamma: {gamma_surface}')
print(f'Option theta: {theta_surface}')
print(f'Break even Vol = {vol_be_sqrt252_surface} should be {option_vol}')
if __name__ == '__main__':
run_test()
We get the following results:
September 21st, 2022 November 18th, 2022 December 16th, 2022
3800.0 0.45 0.27 0.37
3900.0 0.40 0.25 0.31
Option details
-------------------------------------------------
Maturity: December 16th, 2022
Strike: 3800
Vol from surface: 0.37
-------------------------------------------------
Constant vol case
-----------------
Option price: 246.10555275972283
Option gamma: 0.0005462073912642451
Option theta: -2.2348817578128877
Break even Vol = 0.3705 should be 0.37
-------------------------------------------------
Vol Surface case
----------------
Option price: 246.10595637993455
Option gamma: 0.0005462035022605052
Option theta: -3.3101198905503284
Break even Vol = 0.4509 should be 0.37
If you change the vol surface to something which is not arbitrable but
still has high very short term vol, the problem persists and even
accentuates. In all cases the difference appears on the theta. The price of
the option does not change.
list_opts.append([pricing_date, expirations[0], 3800., 45.])
list_opts.append([pricing_date, expirations[0], 3900., 40.])
list_opts.append([pricing_date, expirations[1], 3800., 27.])
list_opts.append([pricing_date, expirations[1], 3900., 25.])
list_opts.append([pricing_date, expirations[2], 3800., 27.])
list_opts.append([pricing_date, expirations[2], 3900., 25.])
We get the following:
Option details
-------------------------------------------------
Maturity: December 16th, 2022
Strike: 3800
Vol from surface: 0.27
-------------------------------------------------Constant vol case
-----------------
Option price: 170.495477037466
Option gamma: 0.0007462620578669159
Option theta: -1.6258437988242298Break even Vol = 0.2703 should be 0.27
-------------------------------------------------Vol Surface case
----------------
Option price: 170.49560335893932
Option gamma: 0.0007462597949764497
Option theta: -4.538109308076177
Break even Vol = 0.4517 should be 0.27
Thank you very much
|
|
From: Luigi B. <lui...@gm...> - 2022-10-05 20:26:37
|
Hello,
looking at your snippet, I would say you're setting the evaluation date
to 11/18/2021 but the spot curve starts at 9/30/2022. There are probably
coupons that pay between those two dates and need to be discounted, but
they're before the start of the curve so the code complains of a negative
time.
Luigi
On Mon, Oct 3, 2022 at 3:12 PM Lasha Daushvili <las...@gm...>
wrote:
> Hi I Have a problem with QuantLib C# Wrapper,
> There is code snippet,
>
> Please help me :)
>
> DateTime date = DateTime.Parse("9/30/2022");
>
> var dSettlementDate = new Date(date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy");
> Settings.instance().setEvaluationDate(dSettlementDate);
> var spot_dates = new DateVector();
> var spot_rates = new DoubleVector();
>
> //spot_dates.Add(new
> Date(DateTime.Parse("9/30/2022").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> //spot_rates.Add((double)10.6372 / 100.0);
>
> spot_dates.Add(new
> Date(DateTime.Parse("10/01/2022").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> spot_rates.Add((double)10.6372 / 100.0);
>
> spot_dates.Add(new
> Date(DateTime.Parse("10/2/2022").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> spot_rates.Add((double)10.6372 / 100.0);
>
> spot_dates.Add(new
> Date(DateTime.Parse("10/8/2022").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> spot_rates.Add((double)10.6372 / 100.0);
>
> spot_dates.Add(new
> Date(DateTime.Parse("10/15/2022").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> spot_rates.Add((double)10.6079 / 100.0);
>
> spot_dates.Add(new
> Date(DateTime.Parse("10/31/2022").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> spot_rates.Add((double)10.5428 / 100.0);
>
> spot_dates.Add(new
> Date(DateTime.Parse("12/1/2022").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> spot_rates.Add((double)10.4244 / 100.0);
>
> spot_dates.Add(new
> Date(DateTime.Parse("12/31/2022").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> spot_rates.Add((double)10.3189 / 100.0);
>
> spot_dates.Add(new
> Date(DateTime.Parse("3/31/2023").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> spot_rates.Add((double)10.0451 / 100.0);
>
> spot_dates.Add(new
> Date(DateTime.Parse("10/1/2023").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> spot_rates.Add((double)9.6805 / 100.0);
>
> spot_dates.Add(new
> Date(DateTime.Parse("10/1/2024").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> spot_rates.Add((double)9.3918 / 100.0);
>
> spot_dates.Add(new
> Date(DateTime.Parse("10/1/2027").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> spot_rates.Add((double)9.6234 / 100.0);
>
> spot_dates.Add(new
> Date(DateTime.Parse("10/1/2032").Date.ToString("dd/MM/yyyy"),
> "dd/mm/yyyy"));
> spot_rates.Add((double)10.0937 / 100.0);
>
> var curveDayCounter = new Actual365Fixed();
> var curveCalendar = new NullCalendar();
> var curveInterpolation = new Linear();
> var curveCompounding = Compounding.Compounded;
> var curveFrquency = Frequency.Semiannual;
> var spot_curve = new ZeroCurve(spot_dates, spot_rates,
> curveDayCounter, curveCalendar, curveInterpolation, curveCompounding,
> curveFrquency);
> var spot_curve_handle = new
> YieldTermStructureHandle(spot_curve);
>
> var engine = new DiscountingBondEngine(spot_curve_handle);
>
> DateTime startDate = DateTime.Parse("11/18/2021");
> DateTime endDate = DateTime.Parse("9/27/2023");
> DateTime paymentDate = DateTime.Parse("9/30/2022");
>
> Settings.instance().setEvaluationDate(new
> Date(startDate.ToString("dd/MM/yyyy"), "dd/mm/yyyy"));
> Calendar calendarQ = new WeekendsOnly();
>
> Frequency frquency = Frequency.Semiannual;
>
> DayCounter dayCounter = new
> ActualActual(ActualActual.Convention.ISMA);
>
> Schedule schedule = new Schedule(new
> Date(startDate.ToString("dd/MM/yyyy"), "dd/mm/yyyy"),
> new
> Date(endDate.ToString("dd/MM/yyyy"), "dd/mm/yyyy"),
> new Period(frquency),
> calendarQ,
> BusinessDayConvention.Unadjusted,
> BusinessDayConvention.Unadjusted,
> DateGeneration.Rule.Backward,
> false);
>
> var bond = new FixedRateBond(0, //settlementDays,
> 100.0,
> schedule,
> new DoubleVector(1) { 0.07375 },
> dayCounter,
>
> BusinessDayConvention.Unadjusted,
> 100.0
>
> );
>
> bond.setPricingEngine(engine);
>
> Settings.instance().setEvaluationDate(new
> Date(paymentDate.ToString("dd/MM/yyyy"), "dd/mm/yyyy"));
> var CleanPrice = bond.NPV();
>
> Console.WriteLine(CleanPrice);
>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Ioannis R. <qua...@de...> - 2022-10-04 10:59:22
|
Thanks for the quick turnaround. I have already extracted the code using git, but it is nice to have this download option as well. On 10/4/2022 12:46 PM, Roland Lichters wrote: > > Hi Ioannis, > > That’s a good point, we have added a release zip/tgz to the QuantLib > repo in ORE: > > https://github.com/OpenSourceRisk/QuantLib/releases/tag/ORE-QuantLib-v1.27.1 > > I hope that works! > > Best regards, > > Roland > > *From: *Ioannis Rigopoulos <qua...@de...> > *Date: *Tuesday, 4 October 2022 at 09:40 > *To: *Roland Lichters <rol...@ac...>, QuantLib users > <qua...@li...>, QuantLib Mailing Lists > <qua...@li...> > *Subject: *Re: [Quantlib-dev] ORE 7 > > CAUTION:External email warning. This email originated from outside > acadia.inc. Beware of phishing attempts. Comply with all acadia.inc > policy to confirm sender identity before responding, forwarding, and > especially clicking links or opening attachments. > > Thanks for the quick reply Roland. > > I will certainly try your suggestion, although I am using GitHub > Desktop and I am not very familiar with the git dos commands. > > But since several people rely on the compressed forms (zip, tar) of > the ORE and QuantLib releases, I am wondering if it would be possible > to also provide the required QuantLib source code in compressed form, > which is anyway done for all the official ORE and QuantLib releases. > > For example, you will see at the page > https://github.com/OpenSourceRisk/Engine/releases/tag/v1.8.7.0 > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk%2FEngine%2Freleases%2Ftag%2Fv1.8.7.0&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3gnaMN97LTtKtZrRDG4GkT8op1tAABa%2BHjSWjvUZnz8%3D&reserved=0> > the compressed ORE code. It would be certainly helpful if the > corresponding QuantLib code could be similarly found somewhere, either > as stand alone or embedded in the ORE compressed file. > > Ioannis > > On 10/4/2022 9:03 AM, Roland Lichters wrote: > > Hi Ioannis, > > Ah, maybe that wasn’t clear in the mail, we use a fork of QuantLib > 1.27.1 with a few changes. > > So when you build ORE from sources on gihub, then please do a > > git submodule update --init > > That checks out our QuantLib 1.27.1 fork, and it should remove > your build errors. > > Best regards, > > Roland > > *From: *Ioannis Rigopoulos <qua...@de...> > <mailto:qua...@de...> > *Date: *Monday, 3 October 2022 at 17:47 > *To: *Roland Lichters <rol...@ac...> > <mailto:rol...@ac...>, QuantLib users > <qua...@li...> > <mailto:qua...@li...>, QuantLib Mailing > Lists <qua...@li...> > <mailto:qua...@li...> > *Subject: *Re: [Quantlib-dev] ORE 7 > > CAUTION:External email warning. This email originated from outside > acadia.inc. Beware of phishing attempts. Comply with all > acadia.inc policy to confirm sender identity before responding, > forwarding, and especially clicking links or opening attachments. > > Thank you Roland for this new release, but I have experienced > several compilation errors when trying to build the QuantExt library. > > I am using the official release of the 1.27.1 version of the > QuantLib library as suggested in your email. > > One simple example of the several failures concerns the second > CPICoupon constructor implemented online in the header cpicoupon.hpp > > Its top part looks as below: > > */CPICoupon(Real baseCPI, > const Date& baseDate, // user provided, could be > arbitrary > const Date& paymentDate, Real nominal, const Date& > startDate, const Date& endDate,/* > > */ (... more input arguments here ...)/* > > */ : QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, > nominal, startDate, endDate, index, > observationLag,/* > > The compile-time error is caused by the implementation line: > > */QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, > startDate, endDate, index,/* > > The above line passes the argument */baseDate /*to the constructor > of the */QuantLib::CPICoupon /*class. > > But this fails because the CPICoupon class in QuantLib does not > contain any constructor that expects a second argument of type Date. > > Best regards, > > Ioannis Rigopoulos > > On 9/22/2022 5:29 PM, Roland Lichters via QuantLib-dev wrote: > > Dear all, > > we have just published the 7th release of ORE and ORE-SWIG, > updating the codebase at https://github.com/OpenSourceRisk > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=E5qyW6bz6HQr%2F7oX8jjB6CapFKyvOT%2BGsG5yjmE8jgo%3D&reserved=0>. > ORE 7 depends on QuantLib 1.27.1 and QuantLib-SWIG 1.27. > > The release contains many fixes and improvements over the past > year that were triggered by our main sponsor’s (Acadia) use of > ORE in their Initial Margin Risk Generator services. The full > release notes can be found in the user guide under the > DOCUMENTATION menu on https://opensourcerisk.org > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopensourcerisk.org%2F&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=0NJEv%2BU4J7%2BpBN8A0GiK47iTduCXRaGVnc5fQZcoHlU%3D&reserved=0>. > > With this release we have started publishing a wide range of > additional financial instruments. You will see various > Equity/FX Exotics in this release. Commodity, Credit, Hybrids, > Exotics with scripted payoffs will follow in the next releases > in quarterly steps, see also the Acadia press release and > roadmap here > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.acadia.inc%2Fnews%2Facadia-announces-seventh-release-of-open-source-risk-engine-with-quarterly-releases-to-follow&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=F0Uj0LGndGDHUqM573QS2VPbSGKfv%2FSCAz1nMYxJztM%3D&reserved=0>. > > > If you want to hear from Acadia about latest ORE developments, > then feel free to sign up here > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fshare.hsforms.com%2F1eqcUZ-9_QdSH__M7_YPSig43ul4&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=s5ye1RwJNE3OVVAPYeXyAaDyPI8iW7De8TE1lnVxuMI%3D&reserved=0> > to receive updates by email. > > Please explore ORE – download the release executable, or clone > the repositories and build. > > As usual, all feedback is welcome! > > Best regards, > > Roland > > > /The information contained in this e-mail, and any attachment, > is confidential and is intended solely for the use of the > intended recipient. Access, copying or re-use of the e-mail or > any attachment, or any information contained therein, by any > other person is not authorized. If you are not the intended > recipient please return the e-mail to the sender and delete it > from your computer. The acadia.inc privacy policy is available > on our website. / > > > > _______________________________________________ > > QuantLib-dev mailing list > > Qua...@li... > > https://lists.sourceforge.net/lists/listinfo/quantlib-dev <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fquantlib-dev&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TqiZ79kCKWOAYyYp5j9dsrhEATGPZJ6iCvM7RnPu0mE%3D&reserved=0> > > width= > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> > > > > Virenfrei.www.avast.com > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> > > > /The information contained in this e-mail, and any attachment, is > confidential and is intended solely for the use of the intended > recipient. Access, copying or re-use of the e-mail or any > attachment, or any information contained therein, by any other > person is not authorized. If you are not the intended recipient > please return the e-mail to the sender and delete it from your > computer. The acadia.inc privacy policy is available on our website. / > > > The information contained in this e-mail, and any attachment, is > confidential and is intended solely for the use of the intended > recipient. Access, copying or re-use of the e-mail or any attachment, > or any information contained therein, by any other person is not > authorized. If you are not the intended recipient please return the > e-mail to the sender and delete it from your computer. The acadia.inc > privacy policy is available on our website. -- Diese E-Mail wurde von Avast-Antivirussoftware auf Viren geprüft. www.avast.com |
|
From: Roland L. <rol...@ac...> - 2022-10-04 10:47:30
|
Hi Ioannis, That’s a good point, we have added a release zip/tgz to the QuantLib repo in ORE: https://github.com/OpenSourceRisk/QuantLib/releases/tag/ORE-QuantLib-v1.27.1 I hope that works! Best regards, Roland From: Ioannis Rigopoulos <qua...@de...> Date: Tuesday, 4 October 2022 at 09:40 To: Roland Lichters <rol...@ac...>, QuantLib users <qua...@li...>, QuantLib Mailing Lists <qua...@li...> Subject: Re: [Quantlib-dev] ORE 7 CAUTION: External email warning. This email originated from outside acadia.inc. Beware of phishing attempts. Comply with all acadia.inc policy to confirm sender identity before responding, forwarding, and especially clicking links or opening attachments. Thanks for the quick reply Roland. I will certainly try your suggestion, although I am using GitHub Desktop and I am not very familiar with the git dos commands. But since several people rely on the compressed forms (zip, tar) of the ORE and QuantLib releases, I am wondering if it would be possible to also provide the required QuantLib source code in compressed form, which is anyway done for all the official ORE and QuantLib releases. For example, you will see at the page https://github.com/OpenSourceRisk/Engine/releases/tag/v1.8.7.0<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk%2FEngine%2Freleases%2Ftag%2Fv1.8.7.0&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3gnaMN97LTtKtZrRDG4GkT8op1tAABa%2BHjSWjvUZnz8%3D&reserved=0> the compressed ORE code. It would be certainly helpful if the corresponding QuantLib code could be similarly found somewhere, either as stand alone or embedded in the ORE compressed file. Ioannis On 10/4/2022 9:03 AM, Roland Lichters wrote: Hi Ioannis, Ah, maybe that wasn’t clear in the mail, we use a fork of QuantLib 1.27.1 with a few changes. So when you build ORE from sources on gihub, then please do a git submodule update --init That checks out our QuantLib 1.27.1 fork, and it should remove your build errors. Best regards, Roland From: Ioannis Rigopoulos <qua...@de...><mailto:qua...@de...> Date: Monday, 3 October 2022 at 17:47 To: Roland Lichters <rol...@ac...><mailto:rol...@ac...>, QuantLib users <qua...@li...><mailto:qua...@li...>, QuantLib Mailing Lists <qua...@li...><mailto:qua...@li...> Subject: Re: [Quantlib-dev] ORE 7 CAUTION: External email warning. This email originated from outside acadia.inc. Beware of phishing attempts. Comply with all acadia.inc policy to confirm sender identity before responding, forwarding, and especially clicking links or opening attachments. Thank you Roland for this new release, but I have experienced several compilation errors when trying to build the QuantExt library. I am using the official release of the 1.27.1 version of the QuantLib library as suggested in your email. One simple example of the several failures concerns the second CPICoupon constructor implemented online in the header cpicoupon.hpp Its top part looks as below: CPICoupon(Real baseCPI, const Date& baseDate, // user provided, could be arbitrary const Date& paymentDate, Real nominal, const Date& startDate, const Date& endDate, (... more input arguments here ...) : QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, startDate, endDate, index, observationLag, The compile-time error is caused by the implementation line: QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, startDate, endDate, index, The above line passes the argument baseDate to the constructor of the QuantLib::CPICoupon class. But this fails because the CPICoupon class in QuantLib does not contain any constructor that expects a second argument of type Date. Best regards, Ioannis Rigopoulos On 9/22/2022 5:29 PM, Roland Lichters via QuantLib-dev wrote: Dear all, we have just published the 7th release of ORE and ORE-SWIG, updating the codebase at https://github.com/OpenSourceRisk<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660004960075%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=E5qyW6bz6HQr%2F7oX8jjB6CapFKyvOT%2BGsG5yjmE8jgo%3D&reserved=0>. ORE 7 depends on QuantLib 1.27.1 and QuantLib-SWIG 1.27. The release contains many fixes and improvements over the past year that were triggered by our main sponsor’s (Acadia) use of ORE in their Initial Margin Risk Generator services. The full release notes can be found in the user guide under the DOCUMENTATION menu on https://opensourcerisk.org<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopensourcerisk.org%2F&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=0NJEv%2BU4J7%2BpBN8A0GiK47iTduCXRaGVnc5fQZcoHlU%3D&reserved=0>. With this release we have started publishing a wide range of additional financial instruments. You will see various Equity/FX Exotics in this release. Commodity, Credit, Hybrids, Exotics with scripted payoffs will follow in the next releases in quarterly steps, see also the Acadia press release and roadmap here<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.acadia.inc%2Fnews%2Facadia-announces-seventh-release-of-open-source-risk-engine-with-quarterly-releases-to-follow&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=F0Uj0LGndGDHUqM573QS2VPbSGKfv%2FSCAz1nMYxJztM%3D&reserved=0>. If you want to hear from Acadia about latest ORE developments, then feel free to sign up here<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fshare.hsforms.com%2F1eqcUZ-9_QdSH__M7_YPSig43ul4&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=s5ye1RwJNE3OVVAPYeXyAaDyPI8iW7De8TE1lnVxuMI%3D&reserved=0> to receive updates by email. Please explore ORE – download the release executable, or clone the repositories and build. As usual, all feedback is welcome! Best regards, Roland The information contained in this e-mail, and any attachment, is confidential and is intended solely for the use of the intended recipient. Access, copying or re-use of the e-mail or any attachment, or any information contained therein, by any other person is not authorized. If you are not the intended recipient please return the e-mail to the sender and delete it from your computer. The acadia.inc privacy policy is available on our website. _______________________________________________ QuantLib-dev mailing list Qua...@li...<mailto:Qua...@li...> https://lists.sourceforge.net/lists/listinfo/quantlib-dev<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fquantlib-dev&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TqiZ79kCKWOAYyYp5j9dsrhEATGPZJ6iCvM7RnPu0mE%3D&reserved=0> [width=]<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> Virenfrei.www.avast.com<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C293729e77b074113491608daa5dba252%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004660005116456%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wl6pCFww4PCCz7iUnlp2xPrNg6Wqa4MYzWZ5WCR1RaQ%3D&reserved=0> The information contained in this e-mail, and any attachment, is confidential and is intended solely for the use of the intended recipient. Access, copying or re-use of the e-mail or any attachment, or any information contained therein, by any other person is not authorized. If you are not the intended recipient please return the e-mail to the sender and delete it from your computer. The acadia.inc privacy policy is available on our website. The information contained in this e-mail, and any attachment, is confidential and is intended solely for the use of the intended recipient. Access, copying or re-use of the e-mail or any attachment, or any information contained therein, by any other person is not authorized. If you are not the intended recipient please return the e-mail to the sender and delete it from your computer. The acadia.inc privacy policy is available on our website. |
|
From: Roland L. <rol...@ac...> - 2022-10-04 08:36:08
|
Hi Ioannis,
Ah, maybe that wasn’t clear in the mail, we use a fork of QuantLib 1.27.1 with a few changes.
So when you build ORE from sources on gihub, then please do a
git submodule update --init
That checks out our QuantLib 1.27.1 fork, and it should remove your build errors.
Best regards,
Roland
From: Ioannis Rigopoulos <qua...@de...>
Date: Monday, 3 October 2022 at 17:47
To: Roland Lichters <rol...@ac...>, QuantLib users <qua...@li...>, QuantLib Mailing Lists <qua...@li...>
Subject: Re: [Quantlib-dev] ORE 7
CAUTION: External email warning. This email originated from outside acadia.inc. Beware of phishing attempts. Comply with all acadia.inc policy to confirm sender identity before responding, forwarding, and especially clicking links or opening attachments.
Thank you Roland for this new release, but I have experienced several compilation errors when trying to build the QuantExt library.
I am using the official release of the 1.27.1 version of the QuantLib library as suggested in your email.
One simple example of the several failures concerns the second CPICoupon constructor implemented online in the header cpicoupon.hpp
Its top part looks as below:
CPICoupon(Real baseCPI,
const Date& baseDate, // user provided, could be arbitrary
const Date& paymentDate, Real nominal, const Date& startDate, const Date& endDate,
(... more input arguments here ...)
: QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, startDate, endDate, index,
observationLag,
The compile-time error is caused by the implementation line:
QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, startDate, endDate, index,
The above line passes the argument baseDate to the constructor of the QuantLib::CPICoupon class.
But this fails because the CPICoupon class in QuantLib does not contain any constructor that expects a second argument of type Date.
Best regards,
Ioannis Rigopoulos
On 9/22/2022 5:29 PM, Roland Lichters via QuantLib-dev wrote:
Dear all,
we have just published the 7th release of ORE and ORE-SWIG, updating the codebase at https://github.com/OpenSourceRisk<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=LPP0kOqdG9yckEO2fmzg76v%2BMFVj%2BTF8HubQJq4rPIg%3D&reserved=0>. ORE 7 depends on QuantLib 1.27.1 and QuantLib-SWIG 1.27.
The release contains many fixes and improvements over the past year that were triggered by our main sponsor’s (Acadia) use of ORE in their Initial Margin Risk Generator services. The full release notes can be found in the user guide under the DOCUMENTATION menu on https://opensourcerisk.org<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopensourcerisk.org%2F&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=8W9iOtukCvdP783S3HsM14B90Bsst9N8hLewa17k2H0%3D&reserved=0>.
With this release we have started publishing a wide range of additional financial instruments. You will see various Equity/FX Exotics in this release. Commodity, Credit, Hybrids, Exotics with scripted payoffs will follow in the next releases in quarterly steps, see also the Acadia press release and roadmap here<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.acadia.inc%2Fnews%2Facadia-announces-seventh-release-of-open-source-risk-engine-with-quarterly-releases-to-follow&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SHjyEn%2BwTT2sqbzhCjVeKNt0AiSysCNNja4fIUUEbbE%3D&reserved=0>.
If you want to hear from Acadia about latest ORE developments, then feel free to sign up here<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fshare.hsforms.com%2F1eqcUZ-9_QdSH__M7_YPSig43ul4&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=qdkQ4IT3GNjLlDcdP4M%2FfAEwQd1kHryVWuam21s6csM%3D&reserved=0> to receive updates by email.
Please explore ORE – download the release executable, or clone the repositories and build.
As usual, all feedback is welcome!
Best regards,
Roland
The information contained in this e-mail, and any attachment, is confidential and is intended solely for the use of the intended recipient. Access, copying or re-use of the e-mail or any attachment, or any information contained therein, by any other person is not authorized. If you are not the intended recipient please return the e-mail to the sender and delete it from your computer. The acadia.inc privacy policy is available on our website.
_______________________________________________
QuantLib-dev mailing list
Qua...@li...<mailto:Qua...@li...>
https://lists.sourceforge.net/lists/listinfo/quantlib-dev<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fquantlib-dev&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=YG85edsqS9wMLnQNoM6ncCiZ3jji%2FqXo3y96wLDi20Q%3D&reserved=0>
[width=]<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=x%2F7fB3hdubzj12Esa09LpTmIcJVvo7%2BTbx35n3ur638%3D&reserved=0>
Virenfrei.www.avast.com<https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=x%2F7fB3hdubzj12Esa09LpTmIcJVvo7%2BTbx35n3ur638%3D&reserved=0>
The information contained in this e-mail, and any attachment, is confidential and is intended solely for the use of the intended recipient. Access, copying or re-use of the e-mail or any attachment, or any information contained therein, by any other person is not authorized. If you are not the intended recipient please return the e-mail to the sender and delete it from your computer. The acadia.inc privacy policy is available on our website.
|
|
From: Ioannis R. <qua...@de...> - 2022-10-04 08:16:50
|
Thanks for the quick reply Roland. I will certainly try your suggestion, although I am using GitHub Desktop and I am not very familiar with the git dos commands. But since several people rely on the compressed forms (zip, tar) of the ORE and QuantLib releases, I am wondering if it would be possible to also provide the required QuantLib source code in compressed form, which is anyway done for all the official ORE and QuantLib releases. For example, you will see at the page https://github.com/OpenSourceRisk/Engine/releases/tag/v1.8.7.0 the compressed ORE code. It would be certainly helpful if the corresponding QuantLib code could be similarly found somewhere, either as stand alone or embedded in the ORE compressed file. Ioannis On 10/4/2022 9:03 AM, Roland Lichters wrote: > > Hi Ioannis, > > Ah, maybe that wasn’t clear in the mail, we use a fork of QuantLib > 1.27.1 with a few changes. > > So when you build ORE from sources on gihub, then please do a > > git submodule update --init > > That checks out our QuantLib 1.27.1 fork, and it should remove your > build errors. > > Best regards, > > Roland > > *From: *Ioannis Rigopoulos <qua...@de...> > *Date: *Monday, 3 October 2022 at 17:47 > *To: *Roland Lichters <rol...@ac...>, QuantLib users > <qua...@li...>, QuantLib Mailing Lists > <qua...@li...> > *Subject: *Re: [Quantlib-dev] ORE 7 > > CAUTION:External email warning. This email originated from outside > acadia.inc. Beware of phishing attempts. Comply with all acadia.inc > policy to confirm sender identity before responding, forwarding, and > especially clicking links or opening attachments. > > Thank you Roland for this new release, but I have experienced several > compilation errors when trying to build the QuantExt library. > > I am using the official release of the 1.27.1 version of the QuantLib > library as suggested in your email. > > One simple example of the several failures concerns the second > CPICoupon constructor implemented online in the header cpicoupon.hpp > > Its top part looks as below: > > */CPICoupon(Real baseCPI, > const Date& baseDate, // user provided, could be arbitrary > const Date& paymentDate, Real nominal, const Date& > startDate, const Date& endDate,/* > > */ (... more input arguments here ...)/* > > */ : QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, > startDate, endDate, index, > observationLag,/* > > The compile-time error is caused by the implementation line: > > */QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, > startDate, endDate, index,/* > > The above line passes the argument */baseDate /*to the constructor of > the */QuantLib::CPICoupon /*class. > > But this fails because the CPICoupon class in QuantLib does not > contain any constructor that expects a second argument of type Date. > > Best regards, > > Ioannis Rigopoulos > > On 9/22/2022 5:29 PM, Roland Lichters via QuantLib-dev wrote: > > Dear all, > > we have just published the 7th release of ORE and ORE-SWIG, > updating the codebase at https://github.com/OpenSourceRisk > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FOpenSourceRisk&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=LPP0kOqdG9yckEO2fmzg76v%2BMFVj%2BTF8HubQJq4rPIg%3D&reserved=0>. > ORE 7 depends on QuantLib 1.27.1 and QuantLib-SWIG 1.27. > > The release contains many fixes and improvements over the past > year that were triggered by our main sponsor’s (Acadia) use of ORE > in their Initial Margin Risk Generator services. The full release > notes can be found in the user guide under the DOCUMENTATION menu > on https://opensourcerisk.org > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopensourcerisk.org%2F&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=8W9iOtukCvdP783S3HsM14B90Bsst9N8hLewa17k2H0%3D&reserved=0>. > > With this release we have started publishing a wide range of > additional financial instruments. You will see various Equity/FX > Exotics in this release. Commodity, Credit, Hybrids, Exotics with > scripted payoffs will follow in the next releases in quarterly > steps, see also the Acadia press release and roadmap here > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.acadia.inc%2Fnews%2Facadia-announces-seventh-release-of-open-source-risk-engine-with-quarterly-releases-to-follow&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SHjyEn%2BwTT2sqbzhCjVeKNt0AiSysCNNja4fIUUEbbE%3D&reserved=0>. > > > If you want to hear from Acadia about latest ORE developments, > then feel free to sign up here > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fshare.hsforms.com%2F1eqcUZ-9_QdSH__M7_YPSig43ul4&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=qdkQ4IT3GNjLlDcdP4M%2FfAEwQd1kHryVWuam21s6csM%3D&reserved=0> > to receive updates by email. > > Please explore ORE – download the release executable, or clone the > repositories and build. > > As usual, all feedback is welcome! > > Best regards, > > Roland > > > /The information contained in this e-mail, and any attachment, is > confidential and is intended solely for the use of the intended > recipient. Access, copying or re-use of the e-mail or any > attachment, or any information contained therein, by any other > person is not authorized. If you are not the intended recipient > please return the e-mail to the sender and delete it from your > computer. The acadia.inc privacy policy is available on our website. / > > > _______________________________________________ > > QuantLib-dev mailing list > > Qua...@li... > > https://lists.sourceforge.net/lists/listinfo/quantlib-dev <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fquantlib-dev&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=YG85edsqS9wMLnQNoM6ncCiZ3jji%2FqXo3y96wLDi20Q%3D&reserved=0> > > width= > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=x%2F7fB3hdubzj12Esa09LpTmIcJVvo7%2BTbx35n3ur638%3D&reserved=0> > > > > Virenfrei.www.avast.com > <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=05%7C01%7Croland.lichters%40acadia.inc%7C48c1d386056e45ec62a508daa5569e42%7Cf432debe2aae495fb2dfe8458cace1da%7C0%7C0%7C638004088729420906%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=x%2F7fB3hdubzj12Esa09LpTmIcJVvo7%2BTbx35n3ur638%3D&reserved=0> > > > The information contained in this e-mail, and any attachment, is > confidential and is intended solely for the use of the intended > recipient. Access, copying or re-use of the e-mail or any attachment, > or any information contained therein, by any other person is not > authorized. If you are not the intended recipient please return the > e-mail to the sender and delete it from your computer. The acadia.inc > privacy policy is available on our website. -- Diese E-Mail wurde von Avast-Antivirussoftware auf Viren geprüft. www.avast.com |
|
From: Ioannis R. <qua...@de...> - 2022-10-03 17:11:04
|
Thank you Roland for this new release, but I have experienced several compilation errors when trying to build the QuantExt library. I am using the official release of the 1.27.1 version of the QuantLib library as suggested in your email. One simple example of the several failures concerns the second CPICoupon constructor implemented online in the header cpicoupon.hpp Its top part looks as below: /*CPICoupon(Real baseCPI,*//* *//* const Date& baseDate, // user provided, could be arbitrary*//* *//* const Date& paymentDate, Real nominal, const Date& startDate, const Date& endDate,*/ /* (... more input arguments here ...)*//* */ /* : QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, startDate, endDate, index,*//* *//* observationLag,*/ The compile-time error is caused by the implementation line: /*QuantLib::CPICoupon(baseCPI, baseDate, paymentDate, nominal, startDate, endDate, index,*/ The above line passes the argument /*baseDate */to the constructor of the /*QuantLib::CPICoupon */class. But this fails because the CPICoupon class in QuantLib does not contain any constructor that expects a second argument of type Date. Best regards, Ioannis Rigopoulos On 9/22/2022 5:29 PM, Roland Lichters via QuantLib-dev wrote: > > Dear all, > > we have just published the 7th release of ORE and ORE-SWIG, updating > the codebase at https://github.com/OpenSourceRisk. ORE 7 depends on > QuantLib 1.27.1 and QuantLib-SWIG 1.27. > > The release contains many fixes and improvements over the past year > that were triggered by our main sponsor’s (Acadia) use of ORE in their > Initial Margin Risk Generator services. The full release notes can be > found in the user guide under the DOCUMENTATION menu on > https://opensourcerisk.org. > > With this release we have started publishing a wide range of > additional financial instruments. You will see various Equity/FX > Exotics in this release. Commodity, Credit, Hybrids, Exotics with > scripted payoffs will follow in the next releases in quarterly steps, > see also the Acadia press release and roadmap here > <https://www.acadia.inc/news/acadia-announces-seventh-release-of-open-source-risk-engine-with-quarterly-releases-to-follow>. > > > If you want to hear from Acadia about latest ORE developments, then > feel free to sign up here > <https://share.hsforms.com/1eqcUZ-9_QdSH__M7_YPSig43ul4> to receive > updates by email. > > Please explore ORE – download the release executable, or clone the > repositories and build. > > As usual, all feedback is welcome! > > Best regards, > > Roland > > > The information contained in this e-mail, and any attachment, is > confidential and is intended solely for the use of the intended > recipient. Access, copying or re-use of the e-mail or any attachment, > or any information contained therein, by any other person is not > authorized. If you are not the intended recipient please return the > e-mail to the sender and delete it from your computer. The acadia.inc > privacy policy is available on our website. > > > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev -- Diese E-Mail wurde von Avast-Antivirussoftware auf Viren geprüft. www.avast.com |