ir.date_time package¶
ir.date_time.conv module¶
Convert date_time module
-
ir.date_time.conv.py_to_ql_date(py_date)¶ Convert from datetime.date to QuantLib date
Parameters: py_date (datetime.date) – Python date Returns: QuantLib date Return type: ql.Date
-
ir.date_time.conv.ql_period_to_str(ql_period)¶
-
ir.date_time.conv.ql_to_py_date(ql_date)¶ Convert from ql.Date to datetime.date
Parameters: ql_date (ql.Date) – QuantLib Date Returns: Python date Return type: datetime.date
-
ir.date_time.conv.str_to_ql_date(str_date)¶ Convert string date to QuantLib date
Parameters: str_date (list, str) – String date in %m/%d/%Y format (e.g., ‘8/4/2016’) Returns: QuantLib date in list Return type: list Examples
>>> print(conv.str_to_ql_date('8/4/2016')) August 4th, 2016
-
ir.date_time.conv.str_to_ql_period(str_period)¶ Convert string period to Quantlib period
Parameters: str_period (str) – String period (e.g., ‘1Y’, ‘2M’, ‘3W’, ‘4D’) Returns: QuantLib period Return type: ql.Period Examples
>>> print(conv.str_to_ql_period(['6m', '12Y', '30d', '45D'])) [Period("6M"), Period("12Y"), Period("4W2D"), Period("6W3D")]
ir.date_time.enum module¶
Enumerator for DayCount, Compounding, Freq
See also
-
class
ir.date_time.enum.Compounding¶ Bases:
enum.EnumEnum for compounding
-
Compounded= <Compounding.Compounded: 1>¶ (1 + r)^t
-
Continuous= <Compounding.Continuous: 2>¶ exp(rt)
-
Simple= <Compounding.Simple: 0>¶ 1 + rt
-
-
class
ir.date_time.enum.DayCount¶ Bases:
enum.EnumEnum for day count
-
Act360= <DayCount.Act360: <QuantLib.QuantLib.Actual360; proxy of <Swig Object of type 'QuantLib::Actual360 *' at 0x000000000696E0F0> >>¶
-
Act365= <DayCount.Act365: <QuantLib.QuantLib.Actual365Fixed; proxy of <Swig Object of type 'QuantLib::Actual365Fixed *' at 0x000000000696E180> >>¶
-
ActAct= <DayCount.ActAct: <QuantLib.QuantLib.ActualActual; proxy of <Swig Object of type 'QuantLib::ActualActual *' at 0x000000000696E1B0> >>¶
-
Simple= <DayCount.Simple: <QuantLib.QuantLib.SimpleDayCounter; proxy of <Swig Object of type 'QuantLib::SimpleDayCounter *' at 0x000000000696E630> >>¶
-
Thirty360= <DayCount.Thirty360: <QuantLib.QuantLib.Thirty360; proxy of <Swig Object of type 'QuantLib::Thirty360 *' at 0x000000000696E600> >>¶
-
ir.date_time.util module¶
Utilities for date_time
-
ir.date_time.util.get_daycount_from_str(daycount_str)¶ Get date_time.enum.DayCount from string daycount
Parameters: daycount_str (str) – daycount string (e.g., ‘Act360’) Returns: Enum for DayCount Return type: ir.date_time.enum.DayCount Raises: IOError– If the string daycount cannot be matched.Examples
>>> util.get_daycount_from_str('Act360') <DayCount.Act360: <QuantLib.QuantLib.Actual360; proxy of <Swig Object of type 'QuantLib::Actual360 *' at 0x00000000046A5BD0> >>
-
ir.date_time.util.notify_val_date_ch(val_date, is_raise_error=False)¶ Notify the valuation date change. Also, update ql.Settings.instance().evaluationDate
Parameters: - val_date (ql.Date) – Valuation date
- is_raise_error (bool) – Raise error (Default: False, only show warning)
Examples
>>> util.notify_val_date_ch(ql.Date(1, 1, 2000)) 2016-05-11 15:51:29 WARNING Valuation date is changed to [January 1st, 2000]