МЕТОДИКА · ДАННЫЕ
Правила формирования финансовых рядов: акции, валюты, золото
Правила построения рядов полной доходности: режимы торгов, учёт дивидендов и дроблений, календарь оценки и контроль качества выпуска.
Номера выпусков и даты в тексте относятся к редакции методики. Действующие данные — выпуск 0.5.2.20261026, рыночный срез 26.10.2026; правила расчёта описаны ниже.
Правила формирования финансовых рядов
Следующие правила финансового выпуска 0.4.3 сохраняются. Упоминания прежних выпусков описывают происхождение принятых решений; их протоколы не подменяют текущий контроль. Команды tools относятся к исходному финансовому архиву, а не каталогу Site.
Область и идентификация
Базовый финансовый слой 0.4.3 содержит 281 запись, включая 127 кодов акций и отдельные производные ценовые ряды с суффиксом _PRICE. Производные ряды не являются новыми биржевыми выпусками или дополнительными компаниями. Историческая вселенная расширена по официальным составам IMOEX с 03.01.2001. Публичные российские акции за пределами этой исторической вселенной не объявляются полностью охваченными. Облигационная экспозиция представлена БПИФ; индивидуальные облигации не подключены.
У бумаги сохраняются исходный код, ISIN, идентификатор эмитента, режим и источник наблюдения. Префы и обыкновенные акции разделены. Связь старого и нового кода фонда допускается только при доказанном совпадении ISIN и валюты. Редомициляция, новая расписка или обмен акций не склеиваются автоматически.
Слои данных
- Неизменяемые первичные HTTP-ответы с URL, временем получения и SHA-256.
- Нормализованные исходные OHLC, обороты, корпоративные события, справочные цены и интервалы качества.
- Исследовательские полные доходности и отдельные ценовые ряды.
- Серверная SQL-проекция и API сайта. Каталог и ряды одного расчёта имеют единую data_version; арифметика портфеля выполняется на сервере; браузер отображает ответ.
Ранние значения могут существовать в архиве, но не допускаться к расчёту. Даты начала исходных наблюдений, расчётной серии и допущенного исследовательского окна хранятся раздельно. Справочные цены ЦБ и индексы не объявляются ценами исполнения сделок.
Акции: история, режимы и свечи
Загружается доступная история основных режимов групп 6 и 57 в RUB/SUR/RUR. До 30.08.2013 предпочтителен основной T0, с 02.09.2013 — T+. При нескольких наблюдениях сначала выделяются строки с положительным объёмом; если такие строки есть, выбор идёт среди них. Затем внутри полученного набора предпочтительна расчётная группа соответствующей даты, после неё действует документированный порядок режимов. При отсутствии строк с положительным объёмом доступны оценки с запретом биржевой сделки; альтернативы сохраняются. По одному режиму и дате используется последнее сохранённое свидетельство. Котировки разных режимов не усредняются. Высокорисковый режим TQPI сохраняет собственную идентичность в источнике.
Основная база теперь содержит OPEN, HIGH, LOW, CLOSE и обороты. Ранние дневные свечи сохраняются отдельно в candle_archive, поскольку ретроспективное изменение единиц и история режима не следуют из URL свечи. Раннее дополнение допускается только для RU-бумаги при минимум 100 перекрывающихся наблюдениях и совпадении не менее 99.5% CLOSE с исходной неадаптированной историей в относительном допуске 1e-7, при отсутствии отношений соседних цен вне интервала [0.5; 2.0] в добавляемом участке. Такие строки имеют basis=ISS_CANDLE_UNITS_CROSSCHECKED_RESEARCH. Это исследовательская проверка единиц, а не сертификация всех корпоративных действий. Не прошедшие условия свечи не используются в расчётном ряду.
Полная доходность: r(t)=(k(t)P(t)+D_old(t))/P(t-1)-1; TRI(t)=TRI(t-1)(1+r(t)). k — новых акций на старую, D_old — выплата на предыдущую бумагу. Дробление не создаёт прибыль. Дивиденды учитываются один раз на ex-date, с дробным реинвестированием без налогов. Зачисление на брокерский счёт не моделируется.
Ранний участок полной доходности не открывается из-за наличия одной более поздней выплаты. return_coverage сохраняет прежнее поддержанное окно; расширение влево требует непрерывной последовательности лет, для которых явно опубликованная годовая сумма согласуется с каноническим реестром выплат. Для частичного первого года отдельно сверяются выплаты внутри доступного ценового интервала. Это контроль внутренней согласованности источников, не независимая сертификация полноты эмитента. Неподтверждённое отсутствие выплат не считается нулём.
TICKER_PRICE — отдельный исследовательский индекс изменения цены с известными поправками на дробления, без дивидендов. Он связан с исходным кодом через underlying_symbol и имеет is_reference=1. Отсутствие полной доходности акции не мешает сохранить её исходные цены, однако ценовой ряд явно подписывается и не выдаётся за полную доходность.
События и доступность информации
Выпуск данных 0.4.0 содержит 15 прежних проверенных решений и 13 дополнительных решений по ранним MTSS, RTKM/RTKMP и MOEX. У MOEX за 2023 год одна выплата 17.35 RUB на реестр 14.06.2024; прежняя дата предложения не создаёт вторую выплату. Две выплаты AKRN по 40 в 2008 году относятся к разным периодам и не объединяются по сходству дат и сумм.
Старые первичные свидетельства сохраняются. Закрытый срез вторичных дивидендных источников повторно разобран на всю доступную глубину; свежие строки добавляются после прежнего среза. Изменения источника внутри закрытого периода формируют отдельную очередь, а не незаметную замену факта. Канонический ID проверенного события зависит от инструмента и периода; aliases/evidence сохраняют происхождение.
До перехода на T+2 ex-date оценивается по следующей фактической основной торговой дате после реестра для T0. Позднее используется соответствующий T+2/T+1 календарный прокси или подтверждённая дата источника. Рабочие субботы раннего T0 не отбрасываются только по номеру дня недели. Прокси не объявляется подтверждённой биржевой ex-date.
Даты реестра, утверждения, объявления и доступности инвестору различаются. event_timing сохраняет известную дату утверждения; available_at остаётся NULL, если момент публикации не подтверждён. Особенно до 2014 года реестр мог предшествовать окончательному утверждению суммы. Ретроспективная TRI и факторные показатели из неё не объявляются сертифицированной point-in-time информацией для торгового решения.
Валюты
Первичные Value, Nominal, исходная дата и единицы сохранены в reference_observations и отдельной reference_archives.sqlite вместе с gzip-байтами источников. Цена одной единицы валюты = Value/Nominal. Значения исходных рублей до 01.01.1998 делятся на 1000; деноминация не является инвестиционным убытком.
USD, GBP, CHF: архив с 01.07.1992; EUR: с 01.01.1999. CNY: ранний архив с 1992 года сохраняется для проверки, расчётный дневной участок начинается 11.05.2006 из-за неоднозначных ранних номиналов и аномалий. HKD: отдельные блоки 01.04.1998–11.01.2010 и с 01.04.2017; промежуток не заполняется. Месячная публикация не превращается в ежедневное рыночное наблюдение.
Даты валютного XML являются действующими датами и не сдвигаются ещё на сутки. Перенос допускается вперёд только в разрешённом интервале действия; известные прекращения публикации обрывают интервал. Для дневных рядов предел возраста 14 дней, для раннего месячного HKD учитывается его собственная частота. Данные до 1997 года остаются в самостоятельном архиве и не называютcя биржевым календарём. Сохранённые архивы административных курсов до 1992 года не присоединяются к инвестиционной FX-истории.
Золото
GOLD_RUB — учётная цена ЦБ с действующей даты 08.07.2003, с отдельной отметкой режима дисконта до июля 2008. GOLD_RUB_LEGACY — самостоятельная историческая цена покупки ЦБ с исходных наблюдений 25.03.1997, действующая дата 26.03.1997; она не склеивается молча с учётной ценой. Исходные Buy/Sell сохранены в XML, в модели используется Buy.
До 01.07.2008 XML-дата установления сдвигается на один календарный день вперёд; далее дата уже действующая. Деноминация определяется по исходной денежной единице и исходной дате, даже если дата действия перешла в 1998 год. Противоречащая подпись старой HTML-таблицы сохранена как замечание; приоритет у XML-контракта и нормативного правила.
Индексы, фонды, денежная модель и календарь
IMOEX: официальный календарь с 22.09.1997. MCFTR: основная серия с публичной базовой даты 30.12.2004; доставленные провайдером более ранние значения с 2003 года сохранены в архиве и не присоединены к основному бенчмарку без согласования методики.
У 15 БПИФ сохраняется фактическое начало положительных котировок и исследовательская накопительная политика. Купоны внутри стоимости пая и уже отражённые расходы фонда повторно не добавляются и не вычитаются. История LQDT включает VTBM с 20.01.2020, GOLD включает VTBG с 15.07.2020; до появления фонда котировки не создаются. Правила распределения дохода на всём периоде ещё требуют проверки.
MM_CBR остаётся отдельной теоретической моделью с полной календарной историей с 01.01.1992: рефинансирование до 15.09.2013, ключевая с 16.09.2013, ежедневная капитализация ACT/ACT, налоги 0, базовые расходы 0. Ставки хранятся раздельно. Их доступность не означает возможность инвестировать по ставке ЦБ. Основной импорт модели согласован с календарём IMOEX, полный календарный ряд доступен отдельно. Методика денежной подбазы 0.3 сохраняется.
До первого и после последнего биржевого наблюдения цены не дописываются. Перенос между наблюдениями служит оценке позиции, а не разрешению сделки. Возраст оценки акций вычисляется календарными днями от последней доступной торговли. Торговля требует фактической цены и положительного объёма. Неизвестная доходность внутри окна вызывает ошибку; HKD не заполняется через многолетний разрыв.
Портфель и риск
Расчёт в RUB, long-only, без плеча, с дробными долями. Ребалансировка на первом доступном закрытии нового периода после изменения стоимости старых позиций. Расходы применяются к обороту, включая первоначальную покупку; CASH_RUB не облагается комиссией перевода. Внешние потоки отделены от TWR. CAGR использует календарную длительность; дневная волатильность — выборочное стандартное отклонение с множителем sqrt(252). RF/MAR по умолчанию 0 — допущение, а не реальная безрисковая ставка.
Пропуски, редкая торговля и официальные справочные оценки могут снижать измеренный риск. Ранняя редкая FX-история не подаётся на дневной расчёт риска по фиктивным торговым сессиям. Историческая симуляция и оптимизация не доказывают исполнимость и будущую доходность.
Реализованные решения 0.4.2
Отмена рекомендации не является выплатой. Кандидат PLZL 436,79 ₽ на 16.06.2023 исключён из экономического реестра; свидетельства сохранены, решение записано в event_exclusions. Пересчитаны TRI и факторы, использовавшие это событие.
Все 43 изменения закрытых вторичных источников получили отдельное решение в source_revision_reviews. Дробления PLZL/T 1:10 и TRNFP 1:100 учитываются один раз; точные исторические суммы не заменяются округлёнными значениями на новую акцию. Декабрьский PLZL 2024 сохраняет первичные 1301,75 ₽; свежие 127,80 ₽ не соответствуют делению на 10 и отклонены.
TRNFP: точные суммы на историческую акцию уточнены до 724,21; 757,87; 823,31 и 4296,48 ₽ для реестров 2014–2017. Выплата 3875,49 ₽ за первое полугодие 2017 остаётся отдельной.
По TCSG исправлены две даты реестра: 28→29 мая 2020 и 25→27 ноября 2020. Для 11 выплат T/TCSG сохранены даты выплаты из истории эмитента. Это сведения о выплате эмитентом, не подтверждение даты зачисления каждому инвестору. Четыре ранних RUB-эквивалента сохраняют rub_currency_conversion_proxy; первичная валюта USD указана отдельно в решении.
MTSI→MTSS и NOTK→NVTK с 21.11.2011 подтверждены официальным реестром ISS changeover. Совпали ISIN, регномер, номинал, тип и эмитент, а также 268 и 525 закрытий в перекрытии. Коэффициент 1 — исследовательский вывод по совокупности доказательств. security_code_changes хранит обратимую карту; canonical_price_history выбирает исходный старый код до перехода и новый после, без усреднения и подгонки стыка. Ценовая история MTSS начинается 11.02.2004, NVTK — 18.08.2006; исходные SECID/режим/источник сохраняются. canonical_index_members показывает связь, не переписывая исходные веса. Эти представления не расширяют допустимый TRI автоматически.
AGRO и RAGR остаются разными выпусками. Старые 13 строк 2015–2021 не относятся к ценовому окну новой российской акции RAGR. Их сравнение сохраняется в архиве; самостоятельные суммы AGRO требуют валютной сверки. Распределение 7,0135 новой акции на ГДР не является обычной сменой тикера.
Формирование и контроль исходного финансового выпуска
Полный контроль выпуска включает сохранность пакета, экономические проверки, проверку первичных источников, экспорт каждого ряда, сценарии JavaScript/Python, восстановление SQL и офлайн-пересборку обеих баз с сопоставлением таблиц. Детальные результаты сохраняются в отчётах контроля выпуска. PASS подтверждает выполненные проверки, но не закрывает перечисленные ограничения полноты, валют, фондов или времени доступности.
Финансовый выпуск 0.4.3 фиксирует исправления существующего среза, а не новые рыночные наблюдения после 16.10.2026. Исторические отчёты 0.4.0/0.4.1 сохранены в архиве проекта и не являются результатами повторного контроля этой редакции.
Требования к качеству и дальнейшему развитию
Единица учёта и устойчивые идентификаторы
Основная экономическая единица — конкретный выпуск с классом прав и интервалом существования. Тикер является датированным обозначением. Обыкновенная акция, преф, расписка, новая акция после обмена и производный _PRICE разделяются. Числовой evidence_id в SQLite служит внутренней ссылкой сборки; внешняя прослеживаемость опирается на снимок, хеш источника и исходную строку. Для следующего этапа предусмотрены issue_id и устойчивый ключ свидетельства.
Статус задаётся для интервала
Архивное наблюдение, исследовательская цена, исследовательская TRI, документально проверенный интервал и блокировка имеют разный смысл. Текущие quality и return_coverage описывают исследовательский допуск. Новая классификация является требованием к следующим изменениям схемы; текущие ряды не переименованы в сертифицированные.
Граница доказательства полноты
Два совпавших агрегатора могут использовать общий источник. Совпадение с годовой суммой не доказывает отсутствие иных событий, корректность единицы или времени публикации. Для документально проверенного окна нужен реестр всех выплат, решений о невыплате и корпоративных действий по выбранному выпуску и периоду. Каждый открытый год и неполный первый/последний год проверяется отдельно.
События и пересчёт единиц
Экономический платёж определяется выпуском, правом и отчётным периодом. Дата, сумма, валюта и единица сохраняются в исходном виде; отдельно задаются нормализованные значения, коэффициенты и решение. Одинаковые суммы разных периодов остаются разными событиями. Изменение закрытого источника запускает проверку единиц и влияния на результат; подтверждённое старое свидетельство сохраняется.
Преемственность кодов
Совпадающий ISIN является основанием для проверки связи, а не достаточным основанием для автоматической склейки всей истории. Нужны интервалы действия кодов, документ перехода, проверка количества прав, денежных единиц и стыка цен. Состав IMOEX сохраняет исходный исторический код; непрерывная история выпуска должна иметь обратимую карту соответствий.
Время знания и время действия
Для будущего строгого режима используются effective_date, подтверждённый available_at и время фактического получения seen_at. Историческая дата реестра не заменяет публикацию; полученный в 2026 году документ не доказывает доступность его содержания инвестору в 2005 году. В текущих данных 0.4.3 available_at не подтверждён у всех 1320 событий; текущая ретроспективная TRI остаётся исследовательской.
Календари и исполнимость
Календарь оценок, фактическая торговая сессия бумаги, действующая дата ЦБ и календарное начисление MM_CBR описываются раздельно. Перенесённая оценка допускается только в установленном интервале и возрасте. Биржевая операция требует фактической доступности инструмента и цены. Расчёты со справочными _PRICE, индексами, курсами ЦБ и моделью являются условными аналитическими позициями; наличие ряда не доказывает исполнимость.
БПИФ и денежная модель
По каждому фонду нужен паспорт версий правил и режимов распределения дохода. Купоны и расходы, отражённые в цене пая, не добавляются и не вычитаются повторно. Дробления, смены кода и завершение обращения проверяются отдельно. Параметры MM_CBR сохраняются: ACT/ACT, налоги 0, расходы 0, рефинансирование до перехода на ключевую; реальные свойства биржевого фонда этой моделью не воспроизводятся.
Покрытие исследования
Для каждой даты состава C_TRI(d)=сумма известных весов кодов с доступным TRI / сумма всех известных весов наблюдаемого состава. Годовая метрика — среднее арифметическое дневных долей, а не доля компаний и не доходность. Аналогично публикуются фактические цены и ценовые оценки. Перенесённые оценки включаются только в метрику оценок. Неизвестные веса и пропущенные даты состава указываются отдельно; при нулевом знаменателе результат NULL.
Состав выборки и риск
Исследование полной исторической вселенной сопровождается перечнем исключений, долями потерянных весов и указанием режима времени знания. Нельзя заявлять полный охват по одному лишь раннему календарю или увеличению числа строк. Сравнение выполняется на общем интервале; редкость и перенос оценок раскрываются рядом с риском. Фиксированный множитель 252 в текущем движке описывается как допущение; для редких рядов требуется отдельная оценка применимости.
Версии и приёмка
Каждая последующая редакция содержит ссылку на исходный снимок, data_version, хеш SQLite, методику, код, параметры, журнал принятых и отклонённых изменений. Численные эталоны меняются только с объяснением экономической причины. Перед выпуском повторяются структурные проверки, независимые денежные сценарии, сопоставление экспорта и офлайн-воспроизведение; открытые ограничения остаются в паспорте.
Регулярный контроль покрытия P08
Расчёт покрытия входит в полный контроль выпуска. Отчёт покрытия содержит ежедневные и годовые метрики: доли известных весов и кодов с фактической котировкой, котировкой с положительным объёмом, ценовой оценкой и TRI; минимальное и среднее покрытие, количество неизвестных весов, нулевые знаменатели, число и возраст перенесённых оценок. Среднее строится из дневных долей; четыре отсутствующих состава не дописываются. Независимый Python-реестр сверяет веса и возраст с SQL. Метрика измеряет доступность данных, а не независимую полноту корпоративных событий.
Дополнение 0.4.3 — ранние реестры и исходные валюты
MTSS и NVTK: расчётная ценовая траектория выбирает MTSI/NOTK до 21.11.2011 и MTSS/NVTK начиная с этой даты. Исходная price_daily и index_member_daily не переписываются. Коэффициент 1 используется только для двух подтверждённых одинаковых выпусков; цепочки смен кодов и реорганизации не обобщаются.
primary_dividend_facts содержит 18 первичных событий, primary_annual_coverage —14 ограниченных годовых проверок. Годы группируются по record_date, финансовый период сохраняется отдельно. Восьмилетний реестр МТС включает точные 3,20217480 рубля за 2003FY с реестром 10.05.2004. Граница NVTK18.08.2006 не даёт прав на реестр 31.07.2006: ограниченная сумма в хвосте 2006 равна 0, без утверждения нулевых дивидендов за весь год. Расширение TRI требует непрерывного ряда подтверждённых годовых проверок до прежней опорной границы.
В историческом режиме record_date может предшествовать утверждению. При неизвестной фактической дате выплаты условный cash-mode использует max(record_date+30 календарных дней, approved_at), если утверждение подтверждено. Это допущение не является реальным сроком зачисления. Ex-date остаётся календарной исследовательской оценкой. До даты утверждения ретроспективный TRI не означает доступности окончательного решения; available_at=NULL.
dividend_currency_facts разделяет nativeUSD/историческуюГДР, объявленныйRUB, фактический округлённыйRUB-эквивалент эмитента, бухгалтерскийRUB, FXдату/курс и дату зачисления инвестору.13 событийAGRO относятся к US7496552057(5 ГДР=1 кипрская акция),6TCSG —US87238U2033(1 ГДР=1 акция). AGROнепереноситсянаRAGR. Для 11AGRO основная исследовательская RUBмодель использует прямо сообщённые эмитентом платёжные эквиваленты, округлённые до 0,01; валюта выплатыUSD и индивидуальное зачислениеNULL сохраняются. Два раннихAGRO и все 6TCSG не получают фактическогоRUB/FX из бухгалтерского эквивалента или курсаЦБ.
49 прежних решений сохранены байт-в-байт по содержимому. Дополнения и применённые model_overrides имеют собственный фактID, источники, SHA и исходный исследовательский JSON. Повторная сборка не обращается к сети.
Для 11 уточнённыхAGRO дата списания Компанией сохранена в payment_date_actual и используется cash-mode. Как и ранее для 11T/TCSG, это дата эмитента, не дата поступления конкретному инвестору; всего 22 таких даты.
Исторический контроль формирования финансового выпуска 0.4.3
Независимая проверка продолжения в составе полного контроля охватывает все 49 прежних решений и 2101 свидетельство, исходные котировки и веса,14 первичных календарных сумм,18 событий,19 валютных фактов, границу NVTK, отсутствие искусственного скачка на смене кода и независимое владение акциями. Отчёт и исходные факты с SHA-256 сохранены в контрольном комплекте выпуска. Браузерное взаимодействие в этом выпуске не проверялось.