Я пытаюсь создать собственный календарь zipline, но, похоже, он не работает, когда я регистрирую календарь. У меня есть собственный файл календаря с именем exchange_calendar_cme_rates
, а класс в этом файле - CMERATESExchangeCalendar
. По сути, это копия exchange_calendar_cmes
, за исключением измененных часов праздников.
У меня есть образец файла sample.py
, который пытается выполнить некоторые методы в календарях, похоже, они не работают, поэтому похоже, что календарь никогда не регистрировался.
# sample.py
from exchange_calendar_cme_rates import CMERATESExchangeCalendar
from trading_calendars import register_calendar, get_calendar
import pandas as pd
import datetime as dt
def main():
register_calendar("CME_Rates", CMERATESExchangeCalendar, True)
cme_calendar_rates = get_calendar("CME_Rates")
sample_time = pd.Timestamp(2020, 7, 10, 12)
print(cme_calendar_rates.next_close(sample_time))
if __name__ == '__main__':
main()
Я получаю ошибку: TypeError: next_close() missing 1 required positional argument: 'dt'
Я не редактировал ни один из файлов в каталоге trading_calendars. Вместо этого файл exchange_calendar_cme_rates
находится в том же каталоге venv, что и sample.py
Есть ли какие-то дополнительные шаги, которые мне нужно предпринять для регистрации календаря?