|
From: Tom A. <tw...@ur...> - 2018-07-23 16:49:02
|
Hi Evgenia,
Those time calculations look correct to me. My code is basically the same:
Date spot = iborIndex->valueDate(today);
Date start = iborIndex->valueDate(expiryDate);
Date end = iborIndex->fixingCalendar().advance(start, Period(3, TimeUnit::Months));
DayCounter dayCounter = Actual360();
double yf1 = dayCounter.yearFraction(spot, start);
double yf2 = dayCounter.yearFraction(spot, end);
double convexity = HullWhite::convexityBias(price, yf1, yf2, sigma, alpha);
The differences are trivial. There's no good reason for me to use an
explicit period rather than the maturityDate method that you use, i don't
know why i did!
tom
On Mon, 23 Jul 2018, Васильева Евгения Алексеевна wrote:
> Hi Arkadiy, thank you.
>
> But I still cannot understand some issues:
>
> 1. the value date of the future
> It is like t. How do we calculate date to time? I try to get it from Actual360: Time t = futDayCounter.yearFraction(settlementDate, imm);
> Is it right way?
>
> 2. the maturity date of the future's notional deposit
> It is like T. I try this function Time T = futDayCounter.yearFraction(settlementDate, swFloatingLegIndex->maturityDate(imm));
> How do we calculate date to time in this case?
>
> Can you please help me.
>
> Thank you,
> Evgenia
>
>
>
> From: Arkadiy Naumov [mailto:ark...@gm...]
> Sent: Saturday, July 21, 2018 7:32 PM
> To: Васильева Евгения Алексеевна
> Cc: Tom Anderson; qua...@li...
> Subject: Re: [Quantlib-users] FuturesConvAdjustmentQuote issue in Quantlib
>
> Evgeniya, I may be mistaken (others, please feel free to chime in), but as far as I understand, convexityBias function returns an adjustment, not the underlying adjusted fwd rate. So you pass the outcome of convexityBias into futures rate helper along with the original quote, not instead of original quote
>
> On Thu, Jul 19, 2018 at 4:45 AM, Васильева Евгения Алексеевна <e.v...@1p...<mailto:e.v...@1p...>> wrote:
> Hi Tom,
>
> Could you please help in case as per below:
>
> Real futureQuote = 94.0;
> Real a = 0.03;
> Real sigma = 0.015;
> Time t = 5.0;
> Time T = 5.25;
> HullWhite::convexityBias(futureQuote,t,T,sigma,a); i got this example from internet source. So there are being used Time, not Date. I can't have Dates as input for HullWhite::convexityBias
> You say inputs should be:
> 1. the value date of the future
> It is like t. How do we calculate date to time? I try to get it from Actual360: Time t = futDayCounter.yearFraction(settlementDate, imm);
> Is it right way?
>
> 2. the maturity date of the future's notional deposit
> It is like T. I try this function Time T = futDayCounter.yearFraction(settlementDate, swFloatingLegIndex->maturityDate(imm));
> Then i use HullWhite::convexityBias(97.54, t, T, 0.0754, 0.03)
> But output is not even close to implied rate.
>
> Thank you,
> Evgenia
>
> -----Original Message-----
> From: Tom Anderson [mailto:tw...@ur...<mailto:tw...@ur...>]
> Sent: Tuesday, July 17, 2018 7:07 PM
> To: Васильева Евгения Алексеевна
> Cc: qua...@li...<mailto:qua...@li...>
> Subject: Re: [Quantlib-users] FuturesConvAdjustmentQuote issue in Quantlib
> Hi Evgenia,
>
> FuturesConvAdjustmentQuote is a wrapper around the HullWhite::convexityBias function:
>
> https://www.quantlib.org/reference/class_quant_lib_1_1_hull_white.html#af554e020436a6a21568f1149d61e2f54
>
> It is a 'plumbing' component which lets you use an automatically updated convexity value with the FuturesRateHelper, which you use to build a yield curve from futures prices. You would use it as the convexityAdjustment parameter to the FuturesRateHelper, constructor:
>
> https://www.quantlib.org/reference/class_quant_lib_1_1_futures_rate_helper.html
>
> If you just want to calculate convexities, it would be simpler to call HullWhite::convexityBias directly.
>
> Either way, you need the same inputs:
>
> 1. the value date of the future
>
> 2. the maturity date of the future's notional deposit
>
> 3. the price of the future
>
> 4. the volatility of the yield curve at that point (HullWhite::convexityBias calls this sigma); i am a bit hazy about the exact nomenclature, but i believe this is a normal, aka Bachelier, volatility
>
> 5. a mean-reversion constant (HullWhite::convexityBias calls this alpha, or a); i don't know if there's a way to derive this from market data, but i have been told it is done "empirically"
>
> Those are all simple parameters to HullWhite::convexityBias. If you want to use a FuturesConvAdjustmentQuote, you need to create one with handles linked to quotes, and set the values on the quotes.
>
> tom
>
> On Tue, 17 Jul 2018, Васильева Евгения Алексеевна wrote:
>
>> Dear All!
>>
>> First of all , my apologies for sending my question directly. I'm really have some technical issues with access to site.
>> Could you please help me, how to use FuturesConvAdjustmentQuote in Quantlib to get convexity adjustment for 3M Eurodollar futures?
>>
>> Hope for your understanding!
>>
>> Thank you,
>> Evgenia
>
> --
> If you tolerate this, your children will be next.
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...<mailto:Qua...@li...>
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
--
The future is still out there, somewhere. |