Блог им. MaksimDrachev

Алготрейдинг на iPhone

    • 13 октября 2023, 16:27
    • |
    • Maxim
  • Еще
Предыстория

Я разработчик мобильных приложений для iOS и не имел никакого отношения к трейдингу. Ручной трейдинг не рассматриваю,  так как  у меня остается мало свободного времени после основной занятости. Однажды мой друг трейдер рассказал о неудачном периоде в работе,  он винил себя за несоблюдение собственных стратегий в торговле и говорил что не может перебороть эмоции в период потери капитала.  Так мы и решили попробовать написать собственного робота для торговли на Bybit, чтобы исключить человеческий фактор из его достаточно успешных стратегий.

Описание программы

Так как я iOS — разработчик,  для быстрого написания робота были выбраны знакомый мне язык Swift и среда разработки Xcode. У биржи оказалась достаточно удобная документация,  и я без труда смог создать сетевой слой для наших роботов.  Так же большим плюсом при написании программы оказалось наличие библиотеки с основными индикаторами,  написанной на языке C, которая уже была готова для интеграции в мой проект и работы с моим языком Swift. В итоге мы получили программу,  которая может взаимодействовать с биржей Bybit, имеет набор необходимых стандартных индикаторов, и для написания конкретного алгоритма достаточно только написать сам алгоритм. Стоит учесть,  что программа не умела работать с историческими данными, не имела локального тестирования. Торговать на iPhone на этом этапе я не вижу смысла,  если только не покупать отдельный девайс для торговли.  Смысл писать программу под iOS был только в том,  что это знакомые мне технологии, а запускать программу можно на компьютере с помощью стимулятора iPhone в качестве внешнего интереса программы (См скрин с примером отправки нескольких запросов на получение свечей).

Алготрейдинг на iPhone

Результаты работы программы

Было запущено несколько трендовых роботов, которые показывали достаточно хороший результат, но со временем этот результат мог сильно прыгать,  и уходить в минус.  Алгоритмы в процессе редактировали, и последние результаты уже не дают прибыли в 10-20 % в месяц,  но главное и не уводят в минус (пока самый большой минус был около 1.5%).  

Выводы

Для себя я понял,  что написать роботов можно почти на любых языках, но важнее иметь правильные рабочие алгоритмы.  Для правильных алгоритмов нужно много тестирования, в том числе на исторических данных. Можно было и дальше развивать свою программу, но для того,  чтобы она была похожа по функционалу и количеству бирж даже на бесплатные аналоги,  уйдут годы.  Мною было принято решение перейти к изучению языка c# и платформы OSEngine в целях экономии своего времени.

Алготрейдинг на iPhone

Из плюсов такого подхода могу выделить только то,  что девайс не так критично реагирует на отключение электричества/интернета,  так как имеет аккумулятор и дополнительно обычный мобильный интернет при потере wi-fi. Эти плюсы становятся не актуальными при аренде сервера,  а для нормальной работы он обязателен.  Серверы на macOS для запуска моей программы так же существуют,  но они дороже,  и встречаются гораздо реже. Единственным вариантом алготрейдинга на iPhone я вижу использование его в качестве фронтенда, когда твои роботы запущенны на сервере,  а ты в любой момент может зайти и посмотреть статистику и возможно поменять параметры индикаторов,  но для этого так же нужно сначала написать API для взаимодействия iOS-приложения с той-же например OSEngine, запущенной на сервере,  в которой и будет происходить основная работа. 
★2
18 комментариев
Алгоритмы в процессе редактировали, и последние результаты уже не дают прибыли в 10-20 % в месяц,  но главное и не уводят в минус (пока самый большой минус был около 1.5%). 
На андроиде надо писать, не все трейдеры могут себе позволить дорогостоящий айфон, пусть даже подержанный.
Диванный аналитик-практик, 
avatar
Диванный аналитик-практик, чувак, ты сделал мой день!
avatar
Диванный аналитик-практик, и лозунг написать: «купи моего робота-дроида, через год будет свой iPhone». 
avatar
martnk, пока лишь могу пообещать что если буду продавать своего робота на iOS — он легко приведет любого к дешевому андроиду
avatar
ну как бы выделенный сервер в датацентре тиер3-4 стоит 4000руб в месяц...


avatar
А не проще ли организовать себе мини-сервак с удалённым доступом? Если я не ошибаюсь, сегодня это даже дешевле!
avatar
bozon, ну я к такому выводу и пришел. Писать робота,  который будет полностью работать на айфоне — не лучшая идея. Я его написал на айфон только потому что пишу другие приложения для этой платформы,  и для меня так быстрее и привычнее. Ну и считаю было бы круто иметь такое приложение,  которое бы цеплялось к удаленному серверу,  чтобы посмотреть что там наторговал или запустить пару заранее написанных роботов,  но чтобы сама торговля проходила на сервере отдельной программой. Возможно когда-нибудь подумаю над этим,  пока в планах работа с самой программой для торговли и алгоритмами уже не на айфоне.
avatar
Maxim, если хотите сделать бизнес на трейдинг-удалёнке, по-любому придётся сильно потратиться на рекламу (в пример Тинькофф)! Качественный продукт с безопасным доступом к торговле, это как секс с элитной проституткой без презерватива — всё определяется степенью элитарности:))
avatar
bozon, отличные слова)) Вообще не думаю о таком бизнесе, пост написан для конкурса,  чтобы получить один из готовых торговых алгоритмов как приз. Все,  что делаю, только для личного пользования)
avatar
VDS сервер с удаленным доступом с IPhone прекрасно работает. Не теряйте время на костыли.
avatar
Антон Иванов, можно и в инстаграме сидеть с iPhone через браузер,  тут дело вкуса, на мой взгляд приложение было бы удобнее,  если сделано качественно.  Но согласен,  что этим надо заниматься только если очень много свободного времени,  потому что это далеко не самая важная вещь для достижения главной цели — заработать на торговых роботах
avatar
Елена Михайловна, я пока не так крут)
avatar
Maxim, а слабо навоять скрипт на пульте от панасоника?)))
avatar
Ты точно разработчик мобильных приложений для iOS ?
Так то приложения для iOS работают БЕЗ эмулятора на последних буках.
Также Swift без проблем работает на Linux и Win но без поддержки UI.
p.s
А OSEngine не лучшие вариант, старая версия была написана «сумашедшим шляпником», я ее хотел когда-то использовать, открыл, посмотрел, ужаснулся, потом решил попробовать переписать, переписал на 80% загрузчик исторических дынных, потом посмотрел что есть под Python, нашёл кучу всего и понял что OSEngine мне нахрен не нужон.
Лучше Python смотри.
Для тестирования есть Backtesting если надо очень быстро тестировать то Vertorbt .
Для торговли Backtrader — если торговать на Мосбирже есть коннекторы для Квика и Transaq на Githab сделанные Игорем Чечетом.
Под крипту на Python тоже много есть, ну или коннектор можно сделать для Backtrader.
 
avatar
Beach Bunny, я не вижу разницы между эмулятором на ноутбуке и запуском без эмулятора на ноутбуке,  суть остается та же,  что нужен ноутбук или сервак на macOS,  в предложенном тобой варианте еще и обязательно на проце M-серии.  Linux или Windows мне не нужны,  так как мне в любом случае для работы нужен мак, он у меня есть и полностью меня устраивает (ну и как по мне iOS разработка и программирование на Swift это разные вещи,  одного языка мало для полноценной работы).
OSEngine можно сказать первое,  на что наткнулся,  где в одном инструменте есть пока что все необходимое для меня,  не затрачивая много времени на изучение. За совет спасибо, посмотрю. Подозреваю что на предложенные тобой варианты так же найдутся люди,  кто укажет на их минусы.
Пока для меня это доп занятие, считаю что нужно прийти к результату,  который будет интереснее моего основного места работы,  а потом уже тратить много времени на поиск идеального для себя инструмента.
avatar

теги блога Maxim

....все тэги



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