|
From: Luigi B. <lui...@gm...> - 2023-02-16 08:26:23
|
Hello Steve,
yes, two calendars for the same market share their holidays. There's
no easy way to change that. May I ask what is the use case?
Luigi
On Tue, Feb 14, 2023 at 7:50 AM Steve Hsieh <war...@gm...> wrote:
> Hi Luigi,
>
> Can I ask one more question?
>
> I have two calendar variables which link to same US calendar.
>
> When I remove cdr2’s holiday, it also changes cdr1’s holiday?
>
> It looks like that the Calendar in QuantLib is a default global object ?
>
> If it is, is there any way I can separate the object ?
>
>
>
> import QuantLib as ql
>
>
>
> cdr1=ql.UnitedStates(ql.UnitedStates.LiborImpact)
>
> cdr2=ql.UnitedStates(ql.UnitedStates.LiborImpact)
>
>
>
> print(cdr1.isBusinessDay(date1)) =>return false
>
> cdr2.removeHoliday(date1)
>
> print(cdr1.isBusinessDay(date1)) =>return true , why ?
>
> Regards,
> Steve
>
>
>
> On Mon, Feb 13, 2023 at 8:17 PM Steve Hsieh <war...@gm...>
> wrote:
>
>> Hi Luigi,
>> Thank you very much for your reply.
>> It does help.
>>
>> Regards,
>> Steve
>>
>>
>> Luigi Ballabio <lui...@gm...> 於 2023年2月13日 週一 下午7:34寫道:
>>
>>> Hello Steve,
>>> when you join two calendars, you can join their holidays (i.e., a
>>> day is a holiday if it is for any of them) or you can join their business
>>> days (i.e., a day is a holiday if it is for both of them). The default is
>>> the first behavior, so date1 is a holiday for the joint calendar because
>>> it's a holiday for cdr2 and date2 because it's a holiday for cdr1.
>>> If you want the opposite behavior, use cdr3=ql.JointCalendar(cdr1,cdr2,ql.JoinBusinessDays)
>>> instead.
>>>
>>> Luigi
>>>
>>>
>>> On Mon, Feb 13, 2023 at 9:45 AM Steve Hsieh <war...@gm...>
>>> wrote:
>>>
>>>>
>>>> Hi all,
>>>>
>>>> I’m doing some study on JointCalendar.
>>>>
>>>> I make two calendar and remove one holiday for each calendar
>>>> respectively.
>>>>
>>>> Then I make a joint calendar to combine the above calendars.
>>>>
>>>> I use isBusinessDay to check if I can get the desired result.
>>>>
>>>> I find joint calendar doesn’t return the expected result as both
>>>> calendars.
>>>>
>>>> If I am not using JointCalendar correctly?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> import QuantLib as ql
>>>>
>>>> cdr1=ql.UnitedStates(ql.UnitedStates.LiborImpact)
>>>>
>>>> cdr2=ql.UnitedStates(ql.UnitedStates.Settlement)
>>>>
>>>> date1=ql.Date(11, 2 , 2023)
>>>>
>>>> date2=ql.Date(12, 2 , 2023)
>>>>
>>>> cdr1.removeHoliday(date1)
>>>>
>>>> cdr2.removeHoliday(date2)
>>>>
>>>> cdr3=ql.JointCalendar(cdr1,cdr2)
>>>>
>>>>
>>>>
>>>> print(cdr1.isBusinessDay(date1))
>>>>
>>>> =>return True
>>>>
>>>>
>>>>
>>>> print(cdr2.isBusinessDay(date2))
>>>>
>>>> =>return True
>>>>
>>>>
>>>>
>>>> print(cdr3.isBusinessDay(date1))
>>>>
>>>> =>return False , why ?
>>>>
>>>>
>>>>
>>>> print(cdr3.isBusinessDay(date2))
>>>>
>>>> =>return Fasle , why ?
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Steve
>>>>
>>>>
>>>> _______________________________________________
>>>> QuantLib-users mailing list
>>>> Qua...@li...
>>>> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>>>>
>>>
|