Изображение блога
OS_Engine_team
OS_Engine_team Блог компании OsEngine
Сегодня в 19:10

Открываем модуль и подгружаем данные. Тестовые данные и настройки. Аллокация №3

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

В прошлых двух статьях была теория: Марковиц, корреляция, дисперсия. С сегодняшней — практика. Открываем модуль «Аллокация капитала», загружаем в него данные и разбираемся с настройками. Без этого шага не сработает ни один алгоритм из следующих статей: им на вход нужна история сделок роботов.

Открываем модуль и подгружаем данные. Тестовые данные и настройки. Аллокация №3

 

1)Два способа открыть модуль

Способ первый — из главного меню. В главном окне OsEngine, в колонке «Тестирование», есть кнопка «Аллокация капитала». Жмём — главное окно скрывается, и открывается отдельное окно модуля. Это самостоятельный режим программы: при закрытии он спросит подтверждение, а список загруженных файлов запомнит — при следующем открытии всё будет на месте.

Открываем модуль и подгружаем данные. Тестовые данные и настройки. Аллокация №3

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

Открываем модуль и подгружаем данные. Тестовые данные и настройки. Аллокация №3

Каким способом пользоваться? Если просто хотите посмотреть на распределение роботов из конкретного прогона — из журнала: это быстрее. Если собираете портфель «на постоянку», из файлов, и хотите, чтобы набор сохранялся между сессиями — из главного меню. Дальше по статье идём именно по первому пути: открываем модуль из главного меню.

 

2)Тестовые данные

Чтобы пощупать модуль, своих роботов выгружать не обязательно. Вместе с исходниками OsEngine (а вы скачиваете репозиторий целиком) идёт готовый тестовый набор — 50 файлов с позициями 50 «роботов». Лежит он здесь:

project\Tests\McpTestStand\OsEngine.McpApi.TestStand\TestData\

Внутри — файлы 1_Deals.txt, 2_Deals.txt, …, 50_Deals.txt. Один файл = один робот. Имя робота — это имя файла до символа подчёркивания, то есть роботы называются просто «1», «2», …, «50». Набор сделан специально так, чтобы в нём были и похожие роботы (высокая корреляция), и разные — интересно смотреть, как алгоритмы их раскладывают по кластерам.

 

3)Подгрузка данных

Открываем модуль из главного меню. Первая вкладка — «Подгрузка данных». Здесь всё просто:

«Добавить файл» — открывает диалог выбора, грузим один файл с позициями;
«Добавить папку» — указываем папку, модуль забирает из неё все файлы txt;
«Удалить» и «Очистить» — убрать строку или весь список;
таблица — номер, имя бота и путь к файлу.

Жмём «Добавить папку», выбираем папку TestData, и через секунду в таблице 50 роботов.

Открываем модуль и подгружаем данные. Тестовые данные и настройки. Аллокация №3

Пара важных деталей про файлы:

формат — обычный txt. Каждая строка — одна закрытая позиция в формате журнала OsEngine. Сами файлы руками делать не нужно: в журнале тестера нажимаете правой кнопкой на закрытые позиции → «Сохранить всё в папку», и получаете ровно такие файлы, по одному на робота;

список загруженных файлов кэшируется. Закрыли модуль, открыли снова — файлы на месте, грузить заново не надо.

 

4) Настройки данных

Данные загружены, но прежде чем считать веса, загляните на вкладку «Базовая доходность». Именно эти настройки используются в расчётах. Оба алгоритма строятся на них.

Открываем модуль и подгружаем данные. Тестовые данные и настройки. Аллокация №3

Что тут есть:

1) «Точность» — период агрегации доходности: «Неделя» или «Месяц». По умолчанию неделя. Модуль считает доходность каждого робота за каждый период (неделя считается с понедельника), и по этим рядам строится корреляционная матрица. Месяц — ряд короче и глаже; неделя — длиннее и чувствительнее.
2) «С» и «По» — диапазон дат. По умолчанию выставляется автоматически: от самой ранней до самой поздней позиции всех роботов. Если хотите отрезать старую историю или, наоборот, хвост, двигайте даты: позиции вне диапазона в расчёт не пойдут.
3)«Тип графика» — «Абсолют» или «Процент». Влияет только на отображение графика, на расчёт не влияет.
4) График — суммарная доходность всех загруженных роботов. Быстрый способ проверить, что данные загрузились адекватно: кривая должна напоминать то, что вы видели в тестере.
5) «Пересчитать» — перерисовать график после смены настроек.

На этом подготовка закончена: роботы загружены, период и диапазон выбраны. Дальше — вкладка «Расчёты», и там уже два алгоритма из следующих статей.

 

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

Всё, что мы сделали мышкой, доступно и через MCP API для автоматической работы ИИ:

terminal_open_mode { mode: «allocation» } — открыть режим аллокации;
allocation_bots_set / allocation_bots_add { files: [...] } — загрузить файлы позиций (set заменяет список, add добавляет);
allocation_bots_get / allocation_bots_clear — посмотреть и очистить список;
allocation_settings_get / allocation_settings_set { period, date_from, date_to } — прочитать и задать настройки данных.

Так ИИ может сам подгрузить папку с файлами и выставить точность и диапазон, прежде чем считать веса.

 

Удачных алгоритмов!

Открываем модуль и подгружаем данные. Тестовые данные и настройки. Аллокация №3

https://smart-lab.ru/company/os_engine/blog/1024149.php

 

Скачать OsEngine: https://github.com/AlexWan/OsEngine
Официальная поддержка OsEngine в MAX:https://max
Канал Научный трейдинг в MAX:https://max.ru/

Поддержка OsEngine в Телеграм:https://t.me/osengine_official_support 
Канал Научный трейдинг (Bad Quant) в Телеграм:https://t.me/bad_quant

Открываем модуль и подгружаем данные. Тестовые данные и настройки. Аллокация №3
https://www.tbank.ru/invest/

 

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн