1 votos

QuantLib-Python: Obtener una lista de todos los días festivos entre D1 y D2 con la función "holidayList"

He descubierto que la versión C++ de QuantLib ofrece una función llamada holidayList en la clase calendario.

//! Returns the holidays between two dates
static std::vector<Date> holidayList(const Calendar& calendar,
                                     const Date& from,
                                     const Date& to,
                                     bool includeWeekEnds = false);

He intentado obtener todos los días festivos entre dos fechas utilizando esta llamada:

TARGET_calendar = TARGET()
TARGET_calendar.holidayList(TARGET_calendar, Date(1,1,2015), Date(1,1,2016))

AttributeError: 'TARGET' object has no attribute 'holidayList'

Como no estoy muy familiarizado con la conversión de C++ a Python, también lo he intentado:

holidayList(TARGET_calendar, Date(1,1,2015), Date(1,1,2016))

NameError: name 'holidayList' is not defined

¿Puede alguien ayudarme, por favor?

¡Muchas gracias!

3voto

tralston Puntos 76

El holidayList() no está expuesta en Python: https://github.com/lballabio/QuantLib-SWIG/blob/master/SWIG/calendars.i

Puedes enviar un issue pidiendo que se añada, o hacerlo tú mismo a través de un pull request o sólo localmente pero en este último caso tendrías que reconstruir la librería QuantLib Python, etc.

Como solución, puede utilizar la función isHoliday() para obtener esta lista, combinada con la función isWeekend() si quiere excluir los fines de semana de la lista de vacaciones:

TARGET_calendar = TARGET()
date = Date(1,1,2015)
holiday_list = []
while date < Date(1,1,2016):
    if(TARGET_calendar.isHoliday(date) and not
       TARGET_calendar.isWeekend(date.weekday())):
        holiday_list.append(date)
    date = date + Period(1, Days)

0 votos

En caso de que quieras abrir una incidencia, el lugar para hacerlo es github.com/lballabio/QuantLib-SWIG/issues .

0 votos

¡Querido byouness, querido Luigi! Muchas gracias por sus respuestas. La solución funciona de maravilla. Gracias. Desafortunadamente soy un principiante en Python y no tengo idea de C++, así que no soy capaz de integrar la función por mí mismo. He abierto un tema aquí: github.com/lballabio/QuantLib-SWIG/issues/112

0 votos

¡Hola @BerndMeyer! Me alegro de que esto te haya ayudado. Si responde a tu pregunta, por favor, márcala como aceptada para que la gente que tenga la misma pregunta pueda encontrarla más rápidamente. Gracias.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X