Maxim
Maxim личный блог
13 октября 2023, 16:27

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

Предыстория

Я разработчик мобильных приложений для 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, запущенной на сервере,  в которой и будет происходить основная работа. 
18 Комментариев
  • Алгоритмы в процессе редактировали, и последние результаты уже не дают прибыли в 10-20 % в месяц,  но главное и не уводят в минус (пока самый большой минус был около 1.5%). 
    На андроиде надо писать, не все трейдеры могут себе позволить дорогостоящий айфон, пусть даже подержанный.
    • Алексей
      13 октября 2023, 16:58
      Диванный аналитик-практик, 
    • Roman Smirnov
      13 октября 2023, 17:04
      Диванный аналитик-практик, чувак, ты сделал мой день!
  • martnk
    13 октября 2023, 17:00
    Диванный аналитик-практик, и лозунг написать: «купи моего робота-дроида, через год будет свой iPhone». 
  • ves2010
    13 октября 2023, 17:09
    ну как бы выделенный сервер в датацентре тиер3-4 стоит 4000руб в месяц...


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

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

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