Стратегия модели ФРС (C#)
Fed Model Правила торговли Порядок Universe: [акционный ETF, необязательный денежный ETF]. Используются только дневные свечи и календарь биржи первого инструмента. На закрытии последнего торгового дня...
Fed Model
Правила торговли
Порядок Universe: [акционный ETF, необязательный денежный ETF]. Используются только дневные свечи и календарь биржи первого инструмента. На закрытии последнего торгового дня месяца нужны RegressionMonths последовательных месячных наблюдений, опубликованных к этому моменту. Регрессия с константой: y = EarningsYield − BondYield, x = 0..N−1; slope = Σ((x−mean(x))×(y−mean(y))) / Σ(x−mean(x))²; forecast = mean(y) + slope×(N−mean(x)). При положительном прогнозе держать акции, при отрицательном — денежный ETF либо свободные деньги. Ноль сохраняет прежний режим. Торговать только при смене режима, без ежемесячного изменения объёма внутри режима. Сначала полностью исполнить закрытие старой позиции.
Все наблюдения должны быть опубликованы к закрытию сигнальной свечи. При внутридневном исполнении дневные цены берутся строго до текущей UTC-даты; завершённая дневная свеча учитывает собственную завершённую дату. Будущие CSV-даты не прогревают решение.
Граница доступности публикаций — последний фактический CloseTime среди синхронизированных завершённых свечей. Торговая сессия может закончиться раньше полного заданного интервала свечи.
Входные данные
YieldHistoryFile — обязательный CSV: Month,PublishedAt,EarningsYield,BondYield. Month — yyyy-MM, PublishedAt — UTC yyyy-MM-ddTHH:mm:ssZ. Доходности заданы в одинаковых единицах. Доступны только редакции, опубликованные к закрытию сигнальной свечи. Нужны последовательные месяцы до месяца решения включительно; пропуск задерживает прогноз этого месяца. Дубли редакций и публикации до месяца наблюдения запрещены. Ряды поступают из наблюдаемых рыночных/фундаментальных данных, без подмены обратной ценой или диапазоном свечи.
Параметры
| Параметр | По умолчанию |
|---|---|
Universe |
обязательный |
Capital |
100000 |
MinTradeUsd |
100 |
CandleType |
TimeSpan.FromDays(1).TimeFrame() |
RegressionMonths |
12 |
YieldHistoryFile |
обязательный |
Исполнение
Universe задаётся явно. Цены исполнения и Capital выражены в USD на торговую единицу. Длинная экспозиция ограничена min(Capital, известная Portfolio.CurrentValue); неизвестная/неположительная стоимость портфеля не даёт бюджета покупок. Плеча, стоп-лосса и тейк-профита нет.
Округлять целевые количества к нулю по VolumeStep. Перед новыми позициями дождаться фактических исполнений полного закрытия; сверяться с реальными позициями, соблюдать MinVolume/MaxVolume и разбивать крупные корректировки между следующими свечами. MinTradeUsd фильтрует корректировки ненулевых целей; полное закрытие обходит этот порог.
Проверка
Оба языка проверяются на исполнениях из имеющегося BTC/TON-архива с явными фикстурами ставок, финансовых отчётов, оценок, текстов и прогрева. Календарные фикстуры переносят даты архивных OHLC/объёмов и задают котировки исполнения; это не многолетняя рыночная история. Проверяются независимые формулы, направление/объём заявок, фактические сделки, остатки позиций и запрещённые даты решений. Два бакета, K=1 и AssetDecile=1 — явные профили механики, а не доказательство работы полного торгового универсума. Доходность не заявляется.
Отвечаю по тому, что написано на этой странице. Про остальное подскажу, где смотреть в документации.