rss

Профиль компании

Финансовые компании

Блог компании OsEngine | Полный сценарий получения объёмов для роботов + установка в реальные торги и тестер. Аллокация №6.

Продолжаем цикл «Аллокация капитала».

Сегодня — финальная, самая практическая статья. Разбираем полный путь: от файлов с позициями до реальных объёмов позиций у работающих роботов.

Полный сценарий получения объёмов для роботов + установка в реальные торги и тестер. Аллокация №6.

 

1) Общая картина

Весь сценарий укладывается в семь шагов:
Шаг 1. Готовим данные — прогоняем в тестере каждого робота отдельно и на 100% депозита, сохраняем позиции из журнала.
Шаг 2. Загружаем файлы позиций в модуль.
Шаг 3. Настраиваем расчёт — точность и диапазон дат.
Шаг 4. Рассчитываем — выбираем алгоритм (#4 или #5) и жмём «Рассчитать».
Шаг 5. Смотрим результат — кластеры и веса.
Шаг 6. Сохраняем результат в файл — обязательно.
Шаг 7. Применяем к ботам — «Загр. аллокацию» в тестере или терминале.

 

Разберём каждый шаг.

 

2) Шаг 1. Готовим данные — это основа

Всё начинается не с модуля, а с тестера. Чтобы веса получились честными, прибыль роботов должна быть сопоставимой. Поэтому каждого робота из своего комплекта прогоняем в тестере отдельно и на 100% депозита: тогда один процент прибыли у любого робота означает одно и то же.
После прогона из журнала тестера сохраняем позиции: правой кнопкой по закрытым позициям → «Сохранить всё в папку». На выходе — по одному файлу на робота, имя файла = имя робота + суффикс _Deals.txt. Таких файлов будет несколько десятков, а то и сотен.
Это и есть входные данные модуля. Подробнее о подготовке и загрузке — в статье №3.

 

3) Шаги 2–5. Загружаем, настраиваем, рассчитываем, смотрим

Дальше всё уже в модуле «Аллокация капитала»:
Шаг 2. На вкладке «Подгрузка данных» добавляем файлы из шага 1 — по одному или целой папкой.
Шаг 3. На «Базовой доходности» смотрим график и выбираем точность (неделя/месяц) и диапазон дат.
Шаг 4. На «Расчётах» выбираем алгоритм — равновесную кластеризацию (#4) или HRP (#5) — и жмём «Рассчитать».
Шаг 5. Смотрим результат: таблица кластеров и веса, рядом — граф или дендрограмма.

Всё это уже разобрано в статьях №3 ,№4 и №5, повторяться не будем.

 

4) Шаг 6. Сохранить результат — обязательно

Результат расчёта живёт только внутри модуля. Чтобы перенести его в тестер или терминал, его нужно сохранить. Кнопка «Сохранить результат» пишет файл с весами.
Формат простой, через точку с запятой. Первая строка — заголовки:
Num cluster;Num in cluster;Name robot;100%;200%;300%;400%;500%;600%;Journal;
Дальше — по кластерам: строка с номером кластера, затем строки роботов. Колонки 100%–600% — это веса с плечами. Именно этот файл читает следующий шаг.

 

5) Шаг 7. Применяем к ботам

В тестере или боевом терминале (TesterLite / RobotUiLite) в таблице роботов, внизу, есть кнопка «Загр. аллокацию». Жмём её — открывается окно «Загрузка аллокации» с двумя вкладками:
«Загрузка данных» — выбираем файл (шаг 6) и видим таблицу кластеров и роботов из него;
«Установка данных» — выбираем плечо (1–6) и видим, что будет установлено, а что пропущено. Жмём «Применить».

 

Главная формула — как вес превращается в объём позиции. Робот обычно умеет держать несколько позиций сразу, поэтому объём одной позиции — это доля капитала, делённая на число позиций:
объём = значение плеча / число позиций
«Значение плеча» — это число из колонки 100%–600% для выбранного плеча, а «число позиций» — параметр робота (в OsEngine он называется Max positions или Positions count).

Если у робота нет параметра Volume или его нет в файле — он попадает в список «Пропущено» с причиной, и объём не меняется.

 

ВАЖНО! Имена роботов должны совпадать

Модуль при применении ищет запущенного робота по имени. Имя он берёт из файла сохранения — то есть из имени файла позиций без суффикса _Deals.txt.
Поэтому имя робота в тестере или терминале должно совпадать с именем в сохранении. Если робот называется по-другому, модуль его не найдёт и объём не выставит.

 

7) Тот же сценарий через MCP (для ИИ)

Весь цикл можно прогнать без кликов, через MCP API:
terminal_open_mode { mode: «allocation» } — открыть режим аллокации;
allocation_bots_set / allocation_settings_set — загрузить ботов и настройки;
allocation_clustering_calculate или allocation_hrp_calculate — рассчитать;
allocation_result_save { file_path } — сохранить результат в файл;
allocation_load_apply { file_path, shoulder } — прочитать файл, применить объёмы к запущенным роботам, вернуть списки applied / skipped;
bot_get_params — проверить, что параметр Volume у робота реально изменился.

 

Так ИИ может сам, без человека, провести исследование и выставить объёмы.

 

Первый шаг — подготовка данных — тоже автоматизируется. Через MCP можно самому прогнать роботов в тестере (terminal_open_mode { mode: «testerlight» }, tester_data_set_config, bot_create, bot_set_config_tab_simple, tester_start) и забрать закрытые позиции из журнала (bot_journal_get_closed_positions). Нюансов там много — от имён бумаг с расширением .txt до таймаутов подключения, поэтому расписывать не будем: полные сценарии лежат в репозитории, в CONTEXT_MCP_SCENARIO_V2.md (Сценарий 12 «Журнал робота после теста» и Сценарий 14 «Прогон робота в тестере»).

 

На этом цикл «Аллокация капитала» заканчивается. Все алгоритмы, интерфейсы и MCP-инструменты — в OsEngine, код открыт на GitHub.

 

Удачных алгоритмов!
Комментарии открыты для друзей!
Полный сценарий получения объёмов для роботов + установка в реальные торги и тестер. Аллокация №6.
https://smart-lab.ru/company/os_engine/blog/1024149.php

Скачать OsEngine: https://github.com/AlexWan/OsEngine
Официальная поддержка OsEngine в MAX: https://max.ru/join/Yar1c0k41XMwbnBXWutnmj4rWMk3RrhXIUqpGl8wOog
Канал Научный трейдинг в MAX: https://max.ru/id2373023082_biz
Поддержка OsEngine в Телеграм: https://t.me/osengine_official_support
Канал Научный трейдинг (Bad Quant) в Телеграм: https://t.me/bad_quant

Полный сценарий получения объёмов для роботов + установка в реальные торги и тестер. Аллокация №6.
https://www.tbank.ru/invest/

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
  • обсудить на форуме:
  • OsEngine
119

теги блога OS_Engine_team

....все тэги



UPDONW
Новый дизайн