Comments 41
Я не знаю, как сказать это помягче, но торговля по всяким линиям Боллинджера и прочим схожим индикаторам сродни гадании на гуще, чем чему-то осмысленному.
Как вы делаете оптимизацию для подбора лучших параметров?
вручную. Можно писать доп скрипты с перебором. Просто грубо говоря отдельную функцию которая будет подбирать параметры, сравнивать прибыль с разными. Но это достаточно сложно когда конфиг маленький (вернее нецелесообразно). Когда писал большие проекты с 10+ индикаторами и факторами, там уже нужно было.
Помниться в детстве (10025 лет назад) тоже такой хернёй страдал и даже написал VBA прогу по 30ти ключевым индикаторам, она уже тогда умела тянуть актуальные курсы из интернета и выдавать рекомендации! Но после того как все бабки были просраны и звездюли от родителей получены, я завязал.))
Тоже делал самописного клиента, пока не нашел это чудо freqtrade.io. На питоне, универсальный интерфейс для всех крупных CEX, есть методы гипер-оптимизации и любые индикаторы.
Ну почему же, применение любого индикатора без фильтров и грамотного управления капиталом обречено на провал. А так можно даже на кофейной гуще гадать с прибылью
Самая эпичная строчка во всей статье:bot = telebot.TeleBot("7871321841:AAGp9cbyLRCdO0VMfqK0v-x2eGCfIqebmVU")
Раз уж статья предназначена для популяризации такого рода деятельности в целом, то для многих хочу сэкономить время. По неопытности многие могут заключить, что раз уж они освоили "технологию" производства торговых ботов, то и стратегия у них считай уже почти в кармане. Думают что возьмут какие либо известные варианты стратегий, подкрутят настроение параметры, получат на истории успешный успех а дальше только чистое загребание бабла. Все сильно сложнее ребяты. Если у вас нет стратегии принципиально, а чаще всего это конкретное знание инсайта, то у вас она и не появится. А если у вас есть инсайт, то вам никакой бот не нужен.
В статье указано, что написан пример кода, а не реальная алгостратегия для фонда, а то в комментах сразу критика пошла). А так было бы интересно ещё в выводе бэктеста увидеть параметры:
1)Коэффициент стабильности прибыли(Sharp ratio)
2)Максимальная просадка %(Max. draw down%)
3)Коэффициент прибыльности(Profit factor).
Тогда можно сделать какие-то выводы о стратегии.
Бектест строит csv табличку со всеми сделками. Там можно всё это считать. Max drawdown у меня выходил около 2,2%
Кстати sharp ratio очень интересный показатель. Думаю о нём даже написать статью, очень мало где об этом говорится. Я конкретно тут не расчитывал, т.к. бот не один из моих основных, но вообще было бы интересно. Там так как винрейт более 70% и стоп статика, то стабильность и максимальная просадка небольшие
Ну вроде как понятно, абсолютно рабочий бот - это сродни вечному двигателю.
Торговля - это всегда риск. А теория вероятностей меня научила считать риски. И тут они не в твою пользу как и в казино. Хотя бы потому, что тебя могут лишить доступа в любой момент, без объяснения причин. А ещё и впаять срок, выдумать за что, всегда сумеют.
Ну вроде как понятно, абсолютно рабочий бот - это сродни вечному двигателю.
Я его Граалем называл
Конечно риск.
Бектест позволяет посчитать риск. И тут он именно в мою пользу. Я в трейдинге 6 лет и ни разу не было, чтобы за работы с API лишали доступа. Банили mexc, kucoin, weex, bitget аккаунты. Но это биржи-помойки и на них я больше не вернусь)
Bybit уже несколько лет без нареканий (даже несмотря на определенные мои нарушения, хах)
Торговля идет через телеграм бота, а это потеря времени. А напрямую подключиться по API к торговому аккаунту и торговать ?
А разве тут не так?
Бот это исключительно оповещения и возможность расширить кол-во пользователей. Там реализована базовая механика с json настройками, достаточно небезопасная, но для демонстрации хорошая. А все сделки - напрямую. Данные юзера подтягиваются тоже напрямую.
Так как я подбирал закрытие через 15м интервал, но задержки бота в 5-10 секунд мне не страшны абсолютно.
Какой все-таки тревожный народ эти трейдеры: то стратегия не взлетит, то биржа ненадежная, то регулятор по попе надает... В общем, не стоит и начинать... Но автор статьи своим внедрением утверждает простую идею: главное спокойствие и дисциплина... И тут алгоритмы - первое дело... В связи с чем автору удачи, хотя имхо индюки - вторичность вторичная и нинакими математическими усложненными моделями положение не исправить...
А итоге хоть бакс заработал?
Понравилась статья, автор молодец!) Ради интереса в вас в среднем какой получается win rate и risk reward если не секрет? (По этой или по другим стратегиям). Кстати кроме Шарпа есть ещё интересные метрики - например коэффициенты Сортино и Кальмара. И к вашему набору ещё бы кроме бэктестов инструмент для permutation test'ов.
Спасибо за статью! Пробую, экспериментирую. Пока что добавил расчет комиссии в 0,1% после чего маржинальность торговли ETHUSDT при прочих равных условиях упала до 84.76%, а по биткоину - вообще до 21.92%. И это еще без учета стоимости маржинального кредитования. А при маржинальной торговле на споте комиссия вообще 0,18% - при такой комиссии маржинальность при торговле биткоином составила -54.24%. Так что есть над чем подумать.
А скажите пож-та, почему исторические данные вы тянете с Бинанса, а не с Байбита?
Здравствуйте! Подскажите пожалуйста как вы вели учёт статистики?
Также отмечу, что стратегия написана именно под eth - это намеренный выбор. Ее нужно сильно адпатировать под биткоин.
Я проводил полный бектест этого бота еще при написании и сейчас повторил. В реальной торговле всё совпадает. Мои данные:
===== РАСШИРЕННАЯ СТАТИСТИКА =====
Всего сделок: 469 (лонгов: 220, шортов: 249)
Win rate: 64.82%
Profit Factor: 3.32
Средний выигрыш: 5.97%, Средний проигрыш: -3.31%
Sharpe Ratio: 3.60
Макс. просадка: 31.54%
Общий Net PnL: 1268.89%
Доход с учётом комиссии и плеча: 1268.89%
бектест за год
Учет статистики я не вел, я пока только начал разбираться в алгоритмах маржинальной торговли. В ваш бектест добавил строку
pnl -= 0,1 * 2 # комиссия применяется два раза - один раз при входе в позицию, второй раз - при выходе
а дальше запускал программу и смотрел вывод "Общий PnL по стратегии"
так это неверная комиссия)
0,11 - общая комиссия за сделку. Случайно в статьи указал 0,1, но по сути недалеко от правды.
И 0,11 это проценты) А у вас комиссия 0,1 = 10%. Конечно будет отрицательный результат. Проценты то нужно перевести. 0,11% = 0,0011.
С бинанса просто легче тянуть историю, и в целом работать с историей бинанса. Я пишу ботов и для бинанса в том числе, поэтому мне просто так удобнее в большинстве своём
Но, конечно, стоит учитывать и комиссионные + проскальзывания. Комиссия байбит - 0,1% на маржу (0,01% на позицию). Также заклывал проскальзывание около 0,02%. Так что прибыль бота немного меньше.
Не просто "стоит учитывать" - это чуть ли не самый важный момент в оценке алгоритма системы. Очень многие, написанные даже на коленкие, торговые системы, могут быть на бектесте прибыльны. И перестают ими быть, когда выходят на настоящие данные, как раз таки из-за комиссий и проскальзываний, нужно к этому очень ответственно относиться, а не "так что прибыль будет меньше но все равно солидно"
Как я написал алгоритмического бота на Python для торговли по индикаторам на Bybit