По ходу чтения главы 4, в которой рассказывается о воплощении системы, об ИТ системах, о различие поведения системы и самой системы, я думал над тем, что же является физической системой, которая создается в итоге и “наносит пользу”.
Я задействован в нескольких проектах и интереснее (и сложнее всего, наверное) раскладывать по системным полочкам проект связанный с трейдингом при помощи алгоритмов. То есть, не руками торгуешь, а программа за тебя миллионы раз в сутки покупает/продает что-то руками.
Для начала о самой организации - фирма из пары десятков задействованных людей. Основная деятельность - торговля на бирже при помощи торговых стратегий. Фирма привлекает средства, размещает их на бирже, при помощи специально написанного софта наша фирма совершает операции покупки/продажи разных цифровых активов с целью заработка. В какой-то отчетный период фирма производит выплаты на привлеченные средства тем, кто эти деньги вложил (инвесторов не много, чуть меньше десятка) оставляя себе какую-то часть от заработанного.
Моя роль - в данном проекте я являюсь одним людей, кто отвечает за определенный класс торговых стратегий, имеющих физическое воплощение в виде работающих на сервере торговых стратегий::система. Здесь много подролей, конечно - я и разработчик, и следящий за риском, и создатель портфолио стратегий, и еще много ролей.
Здесь для лучшего понимания нужно немного рассказать об объектах, которые я выделяю в этом проекте:
- Алгоритм торговой системы :: описание - описание того, как должна осуществляться торговля цифровым активом на бирже. Алгоритм может быть описан в документе естественным языком, псевдо-кодом, либо какой-то диаграммой.
- Исходный код :: описание - это по сути описание торговая система:: система на языке, например, Python или Rust. Задокументирован и сохранен в виде файла на диске. При создании данного описания используется объект “алгоритм” - вот тут не совсем понятно, находится ли алгоритм в цепочке или просто применяется как справочник.
- Торговая стратегия :: система - имеет физическое воплощение в виде программы, запущенной на сервере, меняет кучу переменных внутри себя, меняет какие-то состояния на серверах бирже, в других подсистемах нашей биржи (таких, как система учета, например)
Ну и вот до прочтения главы у меня было впечатление, что это и есть моя целевая система. Ну, и да - на самом деле говорить об этой системе несколько сложно, так как такое физическое воплощение сложновато поместить в тачку или ткнуть пальцем - биржа где-то в Токио, AWS тоже где-то там, как-то это все между собой взаимодействует, тяжело представлять одну кучку молекул входящие в другую, более крупную.
После прочтения я стал пытаться отвечать на вопрос “А за что нам платят”? Ну так платят нам не за супер умные торговые стратегии, которые на сколько-то секунд пытаются предсказать будущее, применяя модели машинного обучения и что-то там торгуют. Нам скорее платят за, выражаясь скорее бытовым языком, управление чужими деньгами. Типа, вот Вам деньги, Вы ими на бирже поторгуйте и что заработаете там - мы поделим. Получается, целевой системой, которую создает наша фирма, является “Управление капиталом”? Звучит как-то слишком обобщенно, как будто. “Торговля привлеченными средствами на бирже”?
В таком случае, в эту систему входит:
- Торговая стратегия (работающая программа, запущенная на серверах, торгующая по алгоритму).
- Биржа
- Другие участники торгов на бирже, с кем по сути происходит заключением сделок покупки-продажи
Немного сложно пройтись по мантре, так я не совсем уверен, что будет системами в окружении, а что внешними проектными ролями. Наверное, такую систему можно назвать успешной, если она зарабатывает деньги для инвесторов. Вот тут инвестор звучит как внешняя роль, а не как система в окружении. Значит, названа не совсем та целевая система?
Создается впечатление, что где-то пропущены системные уровни.
В общем, текста много, а ясности больше пока не стало У кого есть идеи? )