Эффект ROA для акций (C#)
ROAEffect Stocks Правила торговли RoaFile содержит опубликованную внешним источником рентабельность активов в одинаковых десятичных единицах. ROA не вычисляется из тела или диапазона свечи. Каждый мес...
ROAEffect Stocks
Правила торговли
RoaFile содержит опубликованную внешним источником рентабельность активов в одинаковых десятичных единицах. ROA не вычисляется из тела или диапазона свечи. Каждый месяц последние доступные ROA сортируются по убыванию: купить 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() |
RoaFile |
обязательный |
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 проверяются отдельно. Доходность не заявляется.
Отвечаю по тому, что написано на этой странице. Про остальное подскажу, где смотреть в документации.