Агенты для рынка · разбор сетапа Roan · сентябрь 2026
Агенты для рыночного ресёрча: 4 шага собрать сводку в 2026 году
Терминал Bloomberg стоит 31 980 долларов в год за место. В ленте разошёлся ролик про парня, который собрал себе замену «из ботов» за копейки, и я полез смотреть, из чего она сделана. Оказалось, не из того, что обещано. Ниже 4 шага, по которым ты соберёшь свой набор на открытых источниках
Собери не одного всеведущего бота, а 4 узкие программки: подачи компаний в SEC EDGAR, цены по своему списку бумаг, календарь отчётностей и четвёртую, которая читает файлы первых трёх и складывает из них текст. Три источника из четырёх бесплатны. Дальше 4 строки в расписание, и в 6:15 утра сводка лежит в папке
Из чего на самом деле собран тот сетап
Автора зовут Roan, аккаунт @RohOnChain в X. В русских пересказах его имя передают как «Руан», это ошибка транскрипции
И вот главное расхождение, из-за которого повторить «как в ролике» не выйдет. Grok Bot в его схеме это только панель управления словами, кокпит. Считает не он. Вычислительная часть, которая раскидывает задачу на 300 помощников, это Kimi K3 Swarm Max от Moonshot AI. Другая компания, другой продукт, отдельная оплата
Если тебе нужно наоборот, сесть и разобрать одну бумагу руками в чате, это другой разбор, про пять задач по бумаге, там ни строки про сборку
То есть в основе не «флот Грокботов», а связка двух разных сервисов двух разных фирм. Человек, который поверил обещанию буквально и пошёл покупать подписку у xAI, соберёт половину и удивится, почему у него нет 300 помощников
Про цену тоже стоит сказать честно. Ролик говорит «примерно десятикратная разница». Реконструкция первоисточника даёт девятикратную: около 27 660 долларов в год против примерно 3 000. Официальная цена места в терминале Bloomberg на 2026 год другая, 31 980 долларов, и снижается она только при контракте на несколько мест. Я не утверждаю ни одну кратность как проверенную: сам текст статьи Roan лежит за входом в X, прямой запрос отдаёт код 402, и всё, что ходит по пересказам, я держу за реконструкцию, а не за цитату
| Что сказал ролик | Что оказалось на самом деле |
|---|---|
| автора зовут Руан | автора зовут Roan, аккаунт @RohOnChain |
| собрал версию из Грокботов | Grok Bot это панель, считает Kimi K3 Swarm Max от Moonshot AI |
| разница в расходах примерно десятикратная | в реконструкции девятикратная, и обе цифры оценочные |
| конфигурацию выложил в открытый доступ | настроек этого гайда в открытом доступе не нашлось |
И последнее. Готовых настроек именно этого гайда в открытом доступе я не нашёл. Есть похожий чужой проект другого разработчика под другую биржу, но выдавать его за «набор Roan» нельзя. Поэтому дальше идёт не пересказ чужой схемы, а моя, собранная руками и прогнанная у себя
Что ты соберёшь за вечер
Четыре программки. Каждая делает одно узкое дело и пишет результат в общую папку:
- следит за подачами компаний в реестр SEC
- снимает цену и объём по твоему списку бумаг
- считает календарь отчётностей за окно
- читает файлы первых трёх и складывает из них одну сводку
| Кто | Куда ходит | Что кладёт в папку | Как часто |
|---|---|---|---|
| Первый | реестр SEC | 01-podachi.json | раз в сутки |
| Второй | Alpha Vantage | 02-ceny.json | раз в сутки |
| Третий | реестр SEC | 03-kalendar.json | раз в сутки |
| Четвёртый | никуда, читает файлы | SVODKA.txt | после первых трёх |
Четвёртая в интернет не ходит вообще. Она только читает то, что принесли остальные. Это важная деталь: если источник сегодня молчит, сводка всё равно соберётся, а в разделе «чего не хватило» будет написано, чего именно
Вот как выглядит их прогон у меня. Кадр снят с моего экрана 13 сентября 2026 года, вывод настоящий:
Сколько это стоит на самом деле
Три источника из четырёх шагов бесплатны и не просят карту:
| Источник | За что отвечает | Что стоит | Лимит |
|---|---|---|---|
| SEC EDGAR Full-Text Search | подачи компаний, отчётности | бесплатно, ключ не нужен | не больше 10 запросов в секунду |
| Alpha Vantage | цена, объём, показатели | бесплатный тариф | 25 запросов в сутки, 5 в минуту |
| Finnhub | новости по бумаге | бесплатный тариф | около 60 запросов в минуту |
| Alpaca | рыночные данные, счёт-тренажёр | бесплатно | 200 запросов в минуту |
Модель для складывания текста это отдельные деньги. У xAI опубликован прайс: 2 доллара за миллион входящих единиц текста у флагмана и 1.25 у модели попроще. Одна утренняя сводка на десяток бумаг это несколько центов, а не тысячи долларов, и на старте модель можно взять даром: семнадцать моделей бесплатно через OpenRouter, лимиты небольшие, но для одной сводки в сутки хватает. Порядок цен по остальным я собирал отдельно, двенадцать ценников в рублях. Но у 300 помощников, которые крутятся круглосуточно, счёт совсем другой, и оценка «около 3 000 долларов в год» из пересказа это именно оценка при конкретном использовании, а не тариф
Шаг 1. Проверь, что источник отвечает, до всякого кода
Открой в браузере такой адрес:
https://efts.sec.gov/LATEST/search-index?q=%22artificial+intelligence%22&forms=8-K
Это открытый поиск по подачам компаний в комиссию по бумагам США. Ключ доступа для него не нужен вообще
Что увидишь: страницу сплошного текста в фигурных скобках. Она выглядит нечитаемо, и это нормально: так сервис отвечает программам, а не людям. Тебе нужно найти в первых строках слово total и число рядом с ним
Понял, что получилось: число есть и оно больше нуля. Значит источник живой и отвечает лично тебе
Дальше подставь свои слова в поиск. Замени фразу в кавычках на название компании, а часть про форму 8-K оставь. Форма 8-K это «случилось что-то существенное»: смена руководства, крупная сделка, авария
Тут ждёт ловушка, на которую я сам наступил. По умолчанию источник сортирует ответ по совпадению слов, а не по свежести. Мой первый прогон по слову Apple вытащил подачу от 2013 года и был формально прав. Лечится двумя вещами: искать по тикеру, а не по названию, и явно задавать окно дат. После этого у меня вышло 7 подач по AAPL и 9 по MSFT, самая свежая от 9 сентября
Числа сняты моим прогоном 13 сентября 2026 года по открытому поиску SEC EDGAR: 7 подач по AAPL и 9 по MSFT за окно, календарь за две недели дал 171 подачу формы 10-Q и 1793 формы 8-K
И вторая ловушка, более неприятная. Когда я попробовал открыть тот же адрес автоматическим браузером, комиссия ответила отказом и вот такой страницей:
Смысл ответа простой: назовись. Комиссия просит, чтобы программа в каждом запросе передавала подпись с именем и почтой того, кто её запустил. Мой запрос из командной строки прошёл именно потому, что такая подпись в нём была, а браузер её не передавал. Это не запрет на автоматику, это требование не прятаться
Шаг 2. Получи ключ доступа там, где он нужен
Не все источники открыты настолько же. Проверь сам: открой адрес
https://finnhub.io/api/v1/company-news?symbol=AAPL
Что увидишь: короткую строку с ошибкой и просьбой использовать ключ. Это и есть ответ «представься», только в другой форме
Ключ доступа это длинная строка из букв и цифр, что-то вроде пароля для программы. Заводится он так: заходишь на finnhub.io, регистрируешься по почте, и строка появляется на первой же странице личного кабинета
Сработало, если тот же адрес с добавленным в конец твоим ключом теперь отдаёт не ошибку, а список новостей
Теперь то, за что новичков бьют чаще всего. Эту строку нельзя вписывать прямо в программку. Программку ты через неделю выложишь куда-нибудь, покажешь знакомому или сохранишь в облако, и строка уедет вместе с ней. Правильное место для неё это переменная среды: значение живёт отдельно от кода, а код обращается к нему по имени. В моих программках это выглядит одной строкой, вставь её к себе:
KLYUCH = os.environ.get("ALPHAVANTAGE_KEY", "demo")
Программка берёт значение из среды, а если его нет, подставляет слово demo. Значит текст программы можно показывать кому угодно, а ключ доступа остаётся у тебя
Кстати, про demo. У Alpha Vantage есть публичное демо-значение из их документации, и на нём можно попробовать всё до регистрации. Работает оно не везде, и это видно на моём прогоне: по IBM и MSFT цена пришла, а по AAPL источник ответил отказом со словами, что демо-значение только для примеров. Отличная тренировка, кстати: твоя программка должна уметь получить отказ и не упасть
Мой замер 13 сентября 2026 года по Alpha Vantage: IBM отдал цену 243.2900, MSFT 495.6300, оба с торговым днём 11 сентября, а AAPL на том же демо-значении ответил отказом
Вот как выглядит удачный ответ. Кадр моего экрана, ответ настоящий:
Шаг 3. Собери первого помощника как программку из десяти строк
Теперь превращаем ручной запрос в программку. Возьми любой текстовый редактор, создай файл с именем agent2_ceny.py и вставь туда это:
import json, os, urllib.parse, urllib.request, datetime, pathlib
TIKERY = ["IBM", "MSFT"]
KLYUCH = os.environ.get("ALPHAVANTAGE_KEY", "demo")
PAPKA = pathlib.Path(__file__).parent / "svodka"
PAPKA.mkdir(exist_ok=True)
def cena(tiker):
q = urllib.parse.urlencode({"function": "GLOBAL_QUOTE",
"symbol": tiker, "apikey": KLYUCH})
with urllib.request.urlopen(
"https://www.alphavantage.co/query?" + q, timeout=30) as r:
d = json.load(r)
q2 = d.get("Global Quote")
if not q2:
return {"oshibka": str(d)[:160]}
return {"cena": q2["05. price"], "izmenenie": q2["10. change percent"],
"torgovyy_den": q2["07. latest trading day"]}
segodnya = datetime.date.today()
rez = {"segodnya": str(segodnya), "bumagi": {}}
for t in TIKERY:
v = cena(t)
if "torgovyy_den" in v:
d = datetime.date.fromisoformat(v["torgovyy_den"])
v["otstavanie_dney"] = (segodnya - d).days
rez["bumagi"][t] = v
(PAPKA / "02-ceny.json").write_text(
json.dumps(rez, ensure_ascii=False, indent=1), encoding="utf-8")
print("готово, бумаг:", len(rez["bumagi"]))
Запускается это одной строкой в той же папке: слово python3 и имя файла
Что увидишь: в терминале появится строка про то, что готово, а рядом с программкой возникнет папка svodka и в ней файл 02-ceny.json
Проверка на месте: открой этот файл, и внутри у каждой бумаги стоят четыре значения, включая otstavanie_dney
Про это поле стоит сказать отдельно, потому что оно и есть разница между помощником и генератором ерунды. Источник отдаёт дату последнего торгового дня, и программка сама считает, сколько дней прошло. Проверил у себя: сегодня 13 сентября, воскресенье, а последний торговый день пятница, 11-е. Отставание два дня, и это нормально, биржа два дня закрыта. Но если то же отставание вылезет в среду, значит источник отдаёт вчерашний день за сегодняшний, и сводка врёт. Без этого поля ты об этом не узнаешь никогда
Остальные трое устроены так же, меняется только адрес запроса и что берётся из ответа. А если у источника нет открытого адреса и данные лежат просто на странице, забирать их придётся иначе: собрать список с сайта словами, без программки вообще
Шаг 4. Поставь четверых на расписание и сведи их в одну сводку
Последняя программка ни в какой интернет не ходит. Она открывает файлы, которые оставили первые три, и складывает из них текст. Логика у неё простая: взять число, приписать, из какого файла оно взято, а если файла нет, записать это в раздел «чего не хватило»
Вот что у меня выходит на выходе, это настоящий файл с моей машины:
Мой прогон 13 сентября 2026 года, файл SVODKA.txt собран четвёртой программкой из файлов первых трёх. Лог прогона лежит рядом со статьёй
СВОДКА НА 2026-09-13
==============================================
ПОДАЧИ (источник 01-podachi.json)
AAPL подач за окно: 7 самая свежая: 2026-09-09
MSFT подач за окно: 9 самая свежая: 2026-09-09
ЦЕНЫ (источник 02-ceny.json)
IBM 243.2900 3.9612% торговый день 2026-09-11
MSFT 495.6300 0.6478% торговый день 2026-09-11
AAPL данных нет, источник ответил отказом
ОТЧЁТНОСТИ (источник 03-kalendar.json, окно 2026-08-30..2026-09-13)
форма 10-Q подач за окно: 171
форма 8-K подач за окно: 1793
ЧЕГО НЕ ХВАТИЛО
- нет цены по AAPL
Теперь расписание. На маке и на любой линуксовой машине для этого есть встроенный планировщик. Набери в терминале crontab -e, откроется текстовый редактор, и добавь туда четыре строки:
5 6 * * 1-5 cd ~/agenty-rynok && /usr/bin/python3 agent1_podachi.py
7 6 * * 1-5 cd ~/agenty-rynok && /usr/bin/python3 agent2_ceny.py
9 6 * * 1-5 cd ~/agenty-rynok && /usr/bin/python3 agent3_kalendar.py
15 6 * * 1-5 cd ~/agenty-rynok && /usr/bin/python3 agent4_svodka.py
Читается это так: первые две цифры минута и час, дальше день месяца и месяц, последнее поле дни недели. То есть три сборщика отрабатывают в 6:05, 6:07 и 6:09, а сводка собирается в 6:15, когда их файлы уже на месте
Что увидишь: после сохранения список расписания покажет эти четыре строки
Мимо не пройдёшь: на следующее утро открываешь папку, а в ней файл SVODKA.txt с сегодняшней датой, которого вечером не было
Если хочешь, чтобы это работало и с закрытым ноутбуком, те же четыре строки ставятся на облачную машину: любой недорогой арендованный компьютер, к которому подключаешься по сети. Смысл ровно тот же, меняется только место
Четыре риска, о которых стоит знать до запуска
Модель выдумывает цифры. Это не редкость и не исключение. По бенчмаркам 2026 года частота выдумок у ведущих моделей гуляет от 15 до 52 процентов в зависимости от задачи, а в финансовом контексте четыре модели из шести дописывают недостающие числа, если в исходных документах пробел. Отсюда правило, которое я вшил прямо в свою сводку: каждая цифра идёт с именем файла, откуда взята, и любое число перед решением открывается на сайте источника глазами. Отдельный навык, как читать чужие таблицы с цифрами, разобран у меня по шагам
Данные приходят с задержкой. На бесплатных тарифах часть цифр отстаёт на 15-20 минут. Для утренней сводки это ничего не значит, а для слежения за позицией в моменте значит всё. Поэтому поле с датой в ответе читается всегда
Ключ доступа утекает. Самый частый способ: вписать строку прямо в программку, а потом её куда-нибудь выложить. Переменная среды решает это одной строкой кода, и другого разумного варианта тут нет
Источник упирается в лимит и замолкает. У Alpha Vantage на бесплатном тарифе 25 запросов в сутки, и десять бумаг в мониторинге раз в час съедят их к обеду. У xAI лимит растёт вместе с тратами на счету, и при превышении приходит ошибка 429. Программка обязана уметь получить отказ и записать его в сводку, а не молча положить пустое поле
Чего эти четверо не делают
Они не торгуют и не советуют торговать. Ни одна строка их сводки не является рекомендацией покупать или продавать: это перенос открытых данных из четырёх мест в одно, с указанием, откуда что взято
Так сделано не из осторожности, а потому что иначе нельзя. В правилах использования xAI прямо записано, что сервис нельзя применять для регулируемой финансовой деятельности без соответствующих лицензий, и что компания не является ни брокером, ни зарегистрированным инвестиционным советником. Отдельно там запрещены автоматические решения с высокой ценой ошибки, принимаемые без человека в цикле
Отдельная граница проходит по тому, для кого ты это делаешь. Собрать себе помощников для личного разбора можно. А вот если такая сводка начнёт уходить другим людям или продаваться как сигналы, это уже другая деятельность с другими требованиями: комиссия по бумагам в своих приоритетах на 2026 год отдельно смотрит на фирмы, применяющие ИИ в работе с розничным инвестором
В итоге у тебя
В папке лежат четыре файла-программки и папка svodka с их выводом. Три программки ходят в открытые источники, четвёртая собирает из их файлов один текст. В планировщике стоят четыре строки, и завтра в 6:15 сводка соберётся без тебя. Дальше её можно разбирать так же, как любую таблицу с числами: до чисел и графика
Плюс четыре вопроса, которые теперь есть к любой цифре из любой автоматической сводки:
- из какого файла и от какого источника взято это число
- какая у него дата и сколько дней оно пролежало
- это настоящий ответ источника или программка подставила заглушку, когда получила отказ
- кто примет решение по этому числу, программа или человек
Четвёртый вопрос главный. Первые трое приносят, четвёртая раскладывает, а решает человек. Как только это перестаёт быть правдой, набор из помощников превращается в то, чего правила площадок прямо не разрешают
Источники
Все цифры этой статьи я снял своими прогонами 13 сентября 2026 года: логи лежат рядом со статьёй, а два кадра в тексте это мой собственный экран. Первоисточник разбора Roan при этом за входом в X, прямой запрос отдаёт код 402, поэтому его содержание я держу за реконструкцию по совпадающим пересказам, а не за цитату
- Анонс разбора от автора - Roan (@RohOnChain), сам текст статьи открывается только из аккаунта X
- SEC EDGAR Full-Text Search - официальный бесплатный поиск по подачам компаний, ключ доступа не нужен
- Официальный прайс xAI - цены за миллион единиц текста по моделям, сентябрь 2026
- Документация Alpha Vantage - лимиты бесплатного тарифа и формат ответа с полем даты
- Документация Finnhub - новости по бумаге, ключ доступа обязателен
- Документация Alpaca - счёт-тренажёр с настоящими рыночными данными и без денег
- Карточка модели Kimi K3 - та самая вычислительная часть от Moonshot AI, не от xAI
- Цена терминала Bloomberg на 2026 год - 31 980 долларов в год за одно место
Памятка: что проверить перед запуском
Сохрани себе
- Grok Bot это панель, считает Kimi K3 Swarm Max от Moonshot AI, это разные компании
- Ключ доступа живёт в переменной среды, а не в тексте программки
- Программка читает поле с датой из ответа и считает, сколько дней прошло
- SEC сортирует ответ по совпадению слов: ищи по тикеру и задавай окно дат
- Программе надо представиться в подписи запроса, иначе SEC ответит отказом
- Сводка пишет, из какого файла взято число, и честно называет то, чего не хватило
- Решение по любой цифре принимает человек, а не программа
Куда это ведёт
Четыре программки на открытых источниках это уже своя система
Тот же приём собирается под что угодно: следить за конкурентами, за упоминаниями, за ценами поставщиков. Меняется адрес источника, схема остаётся
На Лагере я веду через это за руку, на живых проектах, от первой проверки источника до собранной системы
Частые вопросы
Так это правда дешевле терминала Bloomberg?
Смотря что считать. Место в терминале Bloomberg на 2026 год стоит 31 980 долларов в год, а четыре программки из этой статьи используют три бесплатных источника и стоят ноль. Но и делают они несравнимо меньше: приносят открытые данные и складывают их в файл. Цифра «примерно в десять раз дешевле» из ролика относится к другому сетапу, с 300 помощниками, и я её как проверенную не утверждаю: сам текст первоисточника лежит за входом в X
Нужно ли уметь программировать?
Нет, если ты готов скопировать готовый текст программки и поменять в нём список бумаг. Всё, что нужно сделать руками: создать файл, вставить текст, поменять две строки со своими тикерами и запустить. Установленный python на маке уже есть, на Windows он ставится с сайта одной кнопкой
Можно ли поручить этим агентам торговать?
Нет, и статья специально устроена так, чтобы это было невозможно. Правила использования xAI прямо запрещают регулируемую финансовую деятельность без лицензий и отдельно запрещают автоматические решения с высокой ценой ошибки без человека в цикле. Эти четыре программки только читают открытые данные и складывают их в текст
Что делать, если источник перестал отвечать?
Ничего экстренного. Сводка соберётся из того, что есть, а в разделе «чего не хватило» появится строка с именем источника. Так задумано: у меня на прогоне 13 сентября так и вышло, по AAPL демо-значение Alpha Vantage ответило отказом, и сводка это записала. Программка, которая падает от одного отказа, не годится для работы по расписанию
Где взять облачную машину и обязательно ли она?
Не обязательна. Если ноутбук ночью включён, расписание отработает на нём. Облачная машина нужна только для того, чтобы сводка собиралась при выключенном ноутбуке: это арендованный компьютер, к которому подключаешься по сети, и те же четыре строки расписания ставятся на нём слово в слово