Skip to content

Функция вычисления торговых дней на Московской Бирже

Notifications You must be signed in to change notification settings

madby31/moex_trade_dates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

MOEX TRADE DATES

Функция вычисления торговых дней на Московской Бирже

При тесте стратегий, зачастую есть необходимость определить диапазон дат, когда проводились торги на Московской бирже, то есть, когда доступны котировки. Немного надоело вручную вбивать дни, поэтому написал функцию, так как торговые дни отличаются от производственного календаря. В функции есть два списка - WHITE LIST и BLACK LIST. В WHITE LIST внесены нерабочие дни посреди недели. В BLACK LIST внесены рабочие дни в субботу или воскресенье. Списки составлены с 2012 по 2024 год (то, что доступно на сайте Московской биржи). Функции передаются следующие аргументы:

  1. Дата расчета. Дата может передаваться в любом виде, функция обработает ее с помощью dateutil.parser. По умолчанию, текущая дата.
  2. Количество торговых дней. На сколько торговых дней надо отсчитать назад. По умолчанию, 10 дней.
  3. Режим возврата данных. Показано в примерах. По умолчанию - 1 режим.

Примеры использования:

Без аргументов (по умолчанию). Возвращает список торговых дней от даты текущей даты с указанной глубиной 10 дней.

from moex_trade_dates import func_moex_trade_dates

print(func_moex_trade_dates())

Вывод:

['2022-10-11', '2022-10-12', '2022-10-13', '2022-10-14', '2022-10-17', '2022-10-18', '2022-10-19', '2022-10-20', '2022-10-21', '2022-10-24']

Режим 1: Возвращает список торговых дней от даты ('2021-01-01') с указанной глубиной (5 дней).

Обратите внимание, что последняя дата не 2021-01-01, а 2020-12-30, так как 2021-01-01 и 2020-12-31 были не торговыми днями.

from moex_trade_dates import func_moex_trade_dates

print(func_moex_trade_dates('2021-01-01', 5, 1))

Вывод:

['2020-12-24', '2020-12-25', '2020-12-28', '2020-12-29', '2020-12-30']

Режим 2: Возвращает первый день от даты ('2021-01-01') с указанной глубиной (5 дней).

from moex_trade_dates import func_moex_trade_dates

print('Первый день: '+func_moex_trade_dates('2021-01-01', 5, 2))

Вывод:

Первый день: 2020-12-24

Режим 3: Возвращает первый день и предыдущий день от даты ('2021-01-01') с указанной глубиной (5 дней).

Данный режим удобен, когда запрашиваются данные от текущей даты, которая является торговым днем. Например, скачать котировки за предыдущие пять дней.

from moex_trade_dates import func_moex_trade_dates

first_day, previous_day = func_moex_trade_dates('2021-01-01', 5, 3)
print('Первый день: '+first_day+'\nПредпоследний день: '+ previous_day)

Вывод:

Первый день: 2020-12-24
Предпоследний день: 2020-12-29

Пишите, какие режимы еще Вам интересны в функции, я их включу. Не забывайте следить за обновлениями, так как функция будет обновляться в конце года, с выходом нового торгового календаря Московской биржи.

Удачной торговли!

About

Функция вычисления торговых дней на Московской Бирже

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages