Комментарии 5
Я думаю в какой-то момент наберется достаточное количество торговых агентов, действия которых можно будет предугадать. И обладая этим знанием можно будет играть на опережение
Недавно пытался примерно тем же заниматься. Сущности не извлекал, просто в модель подавался список интересующих акций с расшифровкой а модель уже говорила на что из списка новость влияет и как. В общем пока из этого ничего хорошего не получилось, корреляция вроде бы и есть, но даже комиссия не окупается. Во первых одна и та же новость встречается много раз в разных источниках, так что видимо анализировать надо всю цепочку. Во вторых похоже что большинство движений начинаются до выхода новости в прессе.
Не скажу что я совсем забросил идею, но пока корреляция с нефтью и временем суток дает больше прибыли
Хорошо, что вы сразу показываете наивный ориентир (~55%) и честно пишете про 59 примеров — это уже половина дела. На 45 тестовых точках 0,62 против 0,55 пока в пределах шума, поэтому ключевое не средняя точность, а три вещи: (1) держится ли перевес на следующих окнах, а не только на уже размеченных; (2) разбивка по классам — precision/recall отдельно для BUY/SELL/NEUTRAL, иначе модель может просто опираться на «рынок чаще растёт» и по accuracy выглядеть прилично, не добавляя сигнала; (3) калибровка вероятностей. Интересно, как эти три меняются по мере роста выборки — поделитесь, когда накопится?
Спасибо за комментарий! Полностью согласен: на 45 тестовых точках 0.62 vs 0.55 — это в пределах шума. Поэтому я не делаю выводов о «превосходстве» модели, а фиксирую и честно жду данных.
По вашим трём пунктам:
(1) Держится ли перевес на следующих окнах? Я использую Walk-Forward (окно 30 дней, тест 7), чтобы видеть динамику. Сейчас на 104 записях (70 тестовых примеров) средняя Accuracy = 0.57. Но разброс по окнам огромный (от 0.00 до 1.00) — это нестационарность. Планирую добавить детекцию смены режима (Regime Detection) в Vision 2.0. Когда накопится 200+ записей, я опубликую график Accuracy по окнам (чтобы было видно, держится ли сигнал).
(2) Precision/Recall по классам. Вы правы: accuracy может скрывать дисбаланс. Сейчас модель склонна к BUY (из-за базовой вероятности роста). Я уже зафиксировал это в ADR и запланировал добавить фичи доминирования (bullish_count, bearish_count, dominance). Плюс я внедрил Sanity Check (если новостной фон противоречит сигналу, он отменяется). Когда данных станет больше, я посчитаю precision/recall отдельно для BUY/SELL и поделюсь.
(3) Калибровка. Я использую Platt scaling (калибровка через CalibratedClassifierCV). Сейчас проверить её надёжно сложно (мало данных), но я планирую построить reliability diagram (кривую калибровки) при 200+ записях.
В целом, я согласен: пока это PoC. Главное — архитектура готова к масштабированию, и я честно документирую ограничения в ADR. Спасибо, что обратили внимание на эти нюансы — они пойдут в следующую итерацию.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как я скрестил RAG, LLM и RandomForest: архитектура торгового сигнала с доказательствами