Мои комментарии
  • DSTprincipium
    28 июня 2026, 22:17
    master1, да, пропечаталось лишнее, не смог найти в карте такого
  • DSTprincipium
    28 июня 2026, 22:03
    Владимир, 26/06 Швецов назвал текущую доходность по длинным ОФЗ (около 10% реальной доходности) «золотым дождём» для инвесторов, отметив уникальность ситуации с фиксированной доходностью в РФ – Интервью на Радио РБК
  • DSTprincipium
    01 марта 2026, 11:26
    Архипов Владимир, Полный список 28 признаков вектора F (в порядке добавления)
    Группа 1: Базовые характеристики свечи (5 признаков)

        ret1: Доходность текущей свечи к предыдущей (Close[t] / Close[t-1] — 1.0). Зажимается в диапазон [-0.2, 0.2].

        range: Относительный диапазон свечи (High — Low) / Close. Показатель волатильности за 1 минуту. Зажимается в [0, 0.5].

        body: Относительный размер тела свечи |Close — Open| / Close. Показывает силу покупателей/продавцов. Зажимается в [0, 0.5].

        vLog: Логарифм объема log(Volume + 1). Приводится к масштабу, сопоставимому с другими признаками, делением на 20 и зажимается в [-5, 5].

        vChg: Изменение объема относительно предыдущей свечи (Volume[t] / Volume[t-1] — 1.0). Зажимается в [-5, 5].

    Группа 2: Технические индикаторы и моментум (5 признаков)

        rsiVal / 100.0: Значение RSI(14), нормализованное к диапазону [0, 1].

        (ema9 — ema21) / Close: Относительное расстояние между быстрой и медленной EMA. Показывает силу тренда. Зажимается в [-0.1, 0.1].

        Math.Abs(ret1): Абсолютное значение доходности к предыдущей свече (еще раз, как дополнительный признак волатильности). Зажимается в [0, 0.2].

        range (дубль): Признак №9 дублирует признак №2. Это не ошибка, а сознательное усиление веса волатильности. Она добавляется еще раз в этой группе.

        div: Признак дивергенции. Равен 1.0, если за последние 5 свечей направление изменения цены и RSI противоположны. Сигнал о возможном развороте.

    Группа 3: Временные и циклические признаки (6 признаков)

        sin(ang): Синус угла, соответствующего минуте текущего торгового дня. (ang = 2 * PI * minuteOfDay / 1440).

        cos(ang): Косинус угла минуты дня. (В паре с синусом позволяет модели понять точное время суток).

        minuteIndexScaled: Порядковый номер минуты с начала сегодняшней торговой сессии, масштабированный делением на 1000. Зажимается в [0, 2].

        sin(dowAng): Синус угла, соответствующего дню недели. (dowAng = 2 * PI * DayOfWeek / 7).

        cos(dowAng): Косинус угла дня недели. (Позволяет модели учитывать день недели).

        Math.Abs(ret1) (дубль): Еще одно дублирование признака ret1, но на этот раз в группе временных признаков. Код просто перечисляет его здесь еще раз, увеличивая его вес в общей сумме.

    Группа 4: Признаки на основе скользящих значений (5 признаков)

        ret1m1: Доходность предыдущей свечи (Close[t-1] / Close[t-2] — 1.0). Зажимается в [-0.2, 0.2].

        ret1m2: Доходность позапрошлой свечи (Close[t-2] / Close[t-3] — 1.0). Зажимается в [-0.2, 0.2].

        ret5: Доходность за 5 свечей (Close[t] / Close[t-5] — 1.0). Зажимается в [-0.5, 0.5].

        upperW: Относительный размер верхней тени (High — max(Open, Close)) / Close. Зажимается в [0, 0.5].

        lowerW: Относительный размер нижней тени (min(Open, Close) — Low) / Close. Зажимается в [0, 0.5].

    Группа 5: Производные от RSI (5 признаков)

        rsiZ: Z-оценка RSI (RSI — 50) / 15. Показывает, насколько RSI далек от нейтрального уровня. Зажимается в [-5, 5].

        rsiExtreme: Бинарный признак экстремума: +1 если RSI <= 30 (перепроданность), -1 если RSI >= 70 (перекупленность), иначе 0.

        rsiDelta1 / 10.0: Изменение RSI за одну свечу. Зажимается в [-5, 5].

        div (дубль): Признак дивергенции из группы 2 дублируется и здесь.

    Группа 6: Долгосрочные и экстремальные признаки (3 признака)

        np1Scaled: Нормализованная цена от DailyBandNormalizer с периодом 30 дней. Показывает, насколько текущая цена отклонилась от средней точки за последний месяц. (Price / 30d_mid — 1). Зажимается в [-2.0, 2.0]. Это уровень перекупленности/перепроданности на месячном горизонте.

        np2Scaled: То же самое, но с периодом 180 дней (полгода). (Price / 180d_mid — 1). Глобальный уровень.

        extPctScaled: Признак недавнего экстремума. Показывает, насколько текущая цена отклонилась от максимума или минимума за последние extWindowMinutes (полтора от торгового горизонта). (Peak_or_Trough_Price / Current_Price — 1). Зажимается в [-2.0, 2.0].

            Важно: в коде за этим признаком должны следовать extT01 и extVolScaled, но они, судя по индексации, не включены в итоговый массив X[t] в функции BuildSlidingDatasetNormalized. Это потенциальный момент для проверки, но вопрос был именно про F, который сейчас равен 28.

    Итоговая структура вектора F

    В итоге, модель получает на вход «мгновенный снимок» рынка, описываемый 28 числами, которые кодируют:

        Текущую волатильность и объем (признаки 1-5, 8-9, 20-21).

        Краткосрочный тренд и импульс (признаки 6-7, 10, 17-19, 25).

        Время и циклические закономерности (признаки 11-16).

        Состояние перекупленности/перепроданности (признаки 22-24, 26-28).

    Это не просто сырые данные, а тщательно сконструированный (feature-engineered) вектор, который позволяет модели искать сложные, многомерные паттерны, ведущие к прибыльному движению цены через заданный горизонт.
Старый дизайн
Старый
дизайн