Торговий робот своїми руками: що у коробках?

Торговий робот своїми руками: що у коробках?

У перших двох частинах ми зібрали кістяк радника: котирування, промпт, модель, зберігання, ядро. Тепер головне питання – у якій формі можна його зібрати?

Торговий радник – це не річ у собі. І не річ у коробці, яку можна поставити на полицю та забути. Його потрібно запустити, до нього потрібно підключитися, у нього потрібно запитати аналіз, а потім отримати сигнал.

І як тільки ви це промовляєте, питання стає прикладним: у якій формі ми користуватимемося цим продуктом. Вибір хоч і є, але він не безмежний.

Найзрозуміліший варіант - запустити програму на персональному комп'ютері: десктоп, ноутбук, це не так важливо. Другий варіант – self-hosted рішення, коли ми запускаємо сервіс на орендованій машині в інтернеті. І якщо ми досить жадібні або заповзятливі, виберіть, що вам підходить більше, можна зібрати повноцінний SaaS і надавати торгові сигнали як послугу.

Якщо спростити до однієї схеми, всі три варіанти відрізняються відповідями на ті самі питання: де живе радник, хто тримає ключі та дані, хто платить за інфраструктуру та токени, і хто відповідає, коли щось ламається. Далі пройдемося по кожній коробці окремо і подивимося, які модулі залишаються тими самими, а які різко змінюються разом із формою постачання.

"Моє, все моє" - десктоп-версія

Десктоп - це найпряміший і зрозуміліший варіант: радник живе на комп'ютері користувача. Все, що він знає та робить, залишається поряд: налаштування, ключі, історія свічок, кеш, сигнали, логи. Це відразу знімає половину тривог про "а де мої дані" та "хто ще це бачить".

Плюси тут очевидні. По-перше, все зберігається локально, без зовнішньої інфраструктури та зайвих посередників. По-друге, доступ до сигналів швидкий: відкрив програму і бачиш, що відбувається, незалежно від вашого сервера. По-третє, такий варіант простіше розширювати в майбутньому: можна додати плагіни для бірж, моделей, джерел новин та не перетворювати продукт на моноліт, якщо архітектура це дозволяє.

Але десктоп має ціну. Аптайм далеко не 100 відсотків: ноутбук закрили, комп'ютер пішов у сон, інтернет зник, і радник "зник". Плюс дані не малі: історія OHLCV швидко розростається, додайте результати аналізу, кеш, логи, а потім ще новини. І це все житиме на диску користувача. Зрештою, навантаження теж локальне: процесор, пам'ять, мережа, фонові завдання, і чим частіше ви аналізуєте ринок, тим помітніше це відчувається...

"Нехай поки що тут полежить" - self-hosted сервіс

Self-hosted це коли ви орендуєте сервер в інтернеті, розгортаєте на ньому радника та користуєтеся ним як сервісом. Деплой, конфіг, ключі, оновлення на вашому боці. Доступ зазвичай через web, іноді через API, а інтерфейс відкривається у браузері з будь-якого пристрою.

Плюси починаються із простого: аптайм близький до 100 відсотків. Сервер не спадає і не закривається кришкою ноутбука. Далі важливіше: джерела даних ближче та стабільніше, менше випадкових провалів по мережі, простіше тримати періодичність, і в результаті сигнали виходять більш рівними та передбачуваними. Ще один практичний плюс це доступ звідки завгодно: можна підключатися з різних пристроїв і за необхідності надати доступ довіреним людям, не пересилаючи їм весь проект або ключі на флешці.

Мінус теж стандартний. Інфраструктура коштує грошей, хай і не космічних. Обслуговування вимагає або навичок, або людини, яка ці навички закриє: оновлення, бекапи, логи, моніторинг, банальні "чому впав процес". І є тема безпеки: ключі та дані живуть на сервері. Зазвичай це не привід для паніки, але режим "поставив та забув" тут працює гірше, ніж у desktop-версії.

"Свіжі сигнали! Кому сигналів?" - свій SaaS

SaaS це навіть не так форма поставки, як форма бізнесу. Ви не "передаєте коробку" користувачеві і не просите його розгорнути сервіс. Ви самі тримаєте інфраструктуру та продаєте доступ за підпискою: сигнали як послугу.

При цьому по реалізації це помітно відрізняється від self-hosted. Там у вас один сервер та один власник. Тут з'являються користувачі, ролі, ліміти, ізоляція даних, і все, що зазвичай йде поряд: білінг, облік передплат, контроль витрат на токени та навантаження. Плюс потрібен не лише код, а й люди, які це підтримуватимуть: моніторинг, інциденти, оновлення, підтримка клієнтів. І так, це вже розмова про процеси, а не лише про архітектуру.

Зате нагорода також інша. SaaS це рівень, на якому продукт починає жити своїм життям: ви можете масштабуватись, швидко викочувати зміни, накопичувати статистику за сигналами, покращувати якість та упаковувати це у зрозумілі тарифи. По суті, це вже не "радник для себе", а платформа з перспективою зростання..

Резюме

У радника немає однієї правильної коробки. Є ваше завдання, ваш режим використання та ваші обмеження. Для однієї людини логічніше робочий стіл, тому що все локально і під контролем. Для іншого краще self-hosted, тому що потрібен стабільний аптайм та доступ з різних пристроїв. А якщо ви думаєте про продукт та підписки, то це вже SaaS, зі своєю економікою та організацією.

Вибір варто робити не до смаку, а за планами та можливостями: скільки часу ви готові витрачати на підтримку, хто відповідатиме за аптайм, де лежатимуть дані та ключі, і як ви зростатимете, якщо проект раптово "полетить".

За матеріалами itprolab.dev

Читайте також

52026-02-11

Golang у крипті: коли швидкість і передбачуваність важливіша за моду

Якщо ви коли-небудь запускали кампанію, яка “все зробила правильно”, а сайт у самий пік раптово почав гальмувати – ви вже розумієте, звідки взагалі береться розмова про мову розробки. У такі моменти з'ясовується неприємна річ...

Розробнику, Технології, Ethereum, Навчання
232018-07-31

Літи. Нова мова смарт-контрактів

На даний момент у мережі Ethereum опубліковано більш ніж 1700 децентралізованих програм (DApps), і їх кількість не перестає збільшуватися. І хоча всі Dapps покладаються на смарт контракти, надійність самих смарт контрактів стоїть під питанням – кіберзлочинці заробили вже понад...

Ethereum, Розробнику

Останні статті з розділу Розробнику

Нове відео на каналі