Фактор остаточного импульса (C#)
Residual Momentum Factor Правила торговли ResidualMomentumFile содержит остаточный импульс, рассчитанный внешним исследовательским источником. Остатки не заменяются OHLC или доходностью бенчмарка. Каж...
Residual Momentum Factor
Правила торговли
ResidualMomentumFile содержит остаточный импульс, рассчитанный внешним исследовательским источником. Остатки не заменяются OHLC или доходностью бенчмарка. Каждый месяц последние доступные опубликованные баллы сортируются по убыванию: купить floor(n/Decile) лидеров и продать столько же отстающих. Нужно не менее Decile подходящих инструментов.
Universe задаётся явно. Цены и Capital выражены в USD: одна единица цены соответствует одной торгуемой единице. Capital — фиксированный бюджет; Leverage задаёт валовую экспозицию. Стоп-лосс и тейк-профит не добавляются.
Обрабатываются только синхронизированные завершённые свечи. Для статистики считаются разные даты UTC; новая внутридневная свеча заменяет цену той же даты. Ребалансировка выполняется один раз на первой подходящей общей свече месяца; непрогретые данные откладывают решение. Равные оценки упорядочиваются по Security.Id.
На длинную и короткую корзины выделяется по половине Capital × Leverage. Внутри стороны капитал делится поровну, переводится в количество по цене закрытия сигнальной свечи и округляется к нулю по VolumeStep. Корректировка опирается на исполненные позиции, ждёт активные заявки, учитывает MinVolume/MaxVolume и разбивает крупные объёмы на последующие свечи. MinTradeUsd отсекает малые корректировки; полное закрытие проходит без этого фильтра.
Параметры
| Параметр | По умолчанию |
|---|---|
Universe |
обязательный |
Capital |
100000 |
Leverage |
1 |
MinTradeUsd |
200 |
CandleType |
TimeSpan.FromMinutes(5).TimeFrame() |
ResidualMomentumFile |
обязательный |
Decile |
10 |
MaxScoreAgeDays |
400 |
Входные данные
Обязательный CSV баллов: SecurityId,PeriodEnd,PublishedAt,Score. PeriodEnd: yyyy-MM-dd; PublishedAt: UTC yyyy-MM-ddTHH:mm:ssZ; Score — десятичное число. Повторы редакций и публикации до окончания периода запрещены. Выбирается последний отчётный/измерительный период и последняя его редакция, опубликованная к фактическому CloseTime общей свечи. MaxScoreAgeDays отсчитывается от PeriodEnd. Пропуски, устаревшие данные и недостаточный универсум откладывают пересмотр с сохранением текущих позиций; цена не заменяет балл.
Проверка
Оба языка проверяются на имеющемся архиве BTC/TON: независимые формулы, стороны и объёмы заявок, реальные исполнения, позиции и выходы. Датированные ценовые/факторные и календарные данные проверяют механику; перенос дат OHLC/объёмов не является многолетней рыночной историей. Две корзины рангов, TopN=1 и SMA=2 — явные профили для малого универсума. Исходные длинные периоды и defaults проверяются отдельно. Доходность не заявляется.
Отвечаю по тому, что написано на этой странице. Про остальное подскажу, где смотреть в документации.