Ставка против беты (акции) (C#)
Betting Against Beta Stocks Правила торговли Дневные даты синхронизируются между Universe и BenchmarkSecurity. Нужны WindowDays + 1 общих разных дат. Простые доходности: r[d] = P[d] / P[d−1] − 1; beta...
Betting Against Beta Stocks
Правила торговли
Дневные даты синхронизируются между Universe и BenchmarkSecurity. Нужны WindowDays + 1 общих разных дат. Простые доходности: r[d] = P[d] / P[d−1] − 1; beta = Σ((r − mean(r)) × (доходность бенчмарка − её среднее)) / Σ((доходность бенчмарка − её среднее)²). При нулевой дисперсии распределение откладывается. Покупается нижний дециль beta, продаётся верхний: floor(размер Universe / Deciles) на сторону. Внутридневных порогов beta, стоповых выходов и поправки плеча до beta-нейтральности нет.
Обрабатываются только синхронизированные завершённые свечи. Для статистики считаются разные даты UTC; новая внутридневная свеча заменяет цену той же даты. Ребалансировка выполняется один раз на первой подходящей общей свече месяца; непрогретые данные откладывают решение. Равные оценки упорядочиваются по Security.Id.
При внутридневном CandleType в дневную статистику входят только даты UTC строго раньше даты текущего сигнала. Незавершённый день исключается. Завершённая однодневная свеча учитывается за собственную завершённую дату.
Входные данные
PriceHistoryFile — необязательный CSV положительных дневных цен: SecurityId,Date,Close. Дата имеет формат yyyy-MM-dd. Текущие и будущие даты не прогревают решение заранее; завершённые свечи заменяют цену своей даты UTC. Повторы дат запрещены. Файл позволяет прогреть длинный период при коротком архиве исполнения.
Параметры
| Параметр | Значение по умолчанию |
|---|---|
Universe |
обязательный |
Capital |
100000 |
Leverage |
1 |
MinTradeUsd |
100 |
CandleType |
TimeSpan.FromMinutes(5).TimeFrame() |
Deciles |
10 |
PriceHistoryFile |
необязательный — не задан |
BenchmarkSecurity |
обязательный |
WindowDays |
252 |
Исполнение
Universe задаётся явно. Цены и Capital выражены в USD: одна единица цены соответствует одной торгуемой единице. Capital — фиксированный бюджет; Leverage задаёт валовую экспозицию. Стоп-лосс и тейк-профит не добавляются.
На длинную и короткую корзины выделяется по половине Capital × Leverage. Внутри стороны капитал делится поровну, переводится в количество по цене закрытия сигнальной свечи и округляется к нулю по VolumeStep. Корректировка опирается на исполненные позиции, ждёт активные заявки, учитывает MinVolume/MaxVolume и разбивает крупные объёмы на последующие свечи. MinTradeUsd отсекает малые корректировки; полное закрытие проходит без этого фильтра.
Проверка
Исполнения проверяются только на имеющемся архиве BTC/TON. Явные тестовые отчёты, наблюдения опционов и данные прогрева проверяют механику и не выдаются за настоящую отчётность компаний или опционную историю. Сокращённые периоды, две корзины и мартовская годовая ребалансировка — отдельные тестовые профили, а не подтверждение торговли с неизменёнными долгосрочными defaults. Доходность не заявляется.
Отвечаю по тому, что написано на этой странице. Про остальное подскажу, где смотреть в документации.