valo
valo личный блог
13 февраля 2016, 17:52

А как вы отсеиваите бесперспективные идеи для своих роботов?

Наверное с  такой ситуацией сталкиваются многие алгоритмисты, дело в том  что генерация идей для алгоритмов, стала сильно опережать реализацию этих идей. Хотя я могу это объяснить тем что, маловато опыта в программировании…долго пишу-туплю, исправляю ошибки-туплю.

Я уже не сижу и не ломаю голову над тем, какую бы очередную стратегию придумать. Идей целый вагон, они возникают спонтанно, и я все их стараюсь записывать чтобы не забыть. Для того чтобы  реализовать ВСЁ ЭТО мне потребуется много времени.Это все хорошо, но есть одно но. После первых  тестов выяснилось что, 70% процентов идей это барахло полное, а из остальных 30%  что-то можно позаимствовать. Отсюда вытекает  то, что за 2 года торговли я практически ничего не понял, я наивно полагал что в рынке есть такие паттерны или закономерности или неэффективности (кому что ближе) которые дают вероятность  профита 80-90% при условии  TP/Sl =1/ 1. Тесты на истории показали мне рынок в совершенно ином свете, а еще в ином свете сам перед собой предстал Я…кретин… Хотя в конце концов наверно такие паттерны и образуются раз в пятилетку я не знаю, возможно, но только тогда и смысл в них теряется, или получается эдакий сверхнизкочастотный трейдинг но с высокой вероятностью ))) Ну да ладно, щас не об этом.

Собственно задача нарисовалась такая: необходимо как то фильтровать идеи. чтобы не тратить время на провальные страты.

Но как? Ведь на первый взгляд идея то граальная и все они такие пока не формализуешь.

Каждая новая идея казалась мне гениальной потому-что при визуальном тестировании я смотрел  только на  профитные исходы, а то что страта выдает лосей также исправно, я очень упрямо игнорировал, тупо не всматриваясь в реальную картину. Я попросту опускал такой ненужный труд как поиск слабых мест в страте. Пробоины попросту заполнялись чрезмерным  оптимизмом.)))  Сейчас я себе такого не позволяю, так как идеи все более изощреннее,  более комбинационные и требуют  код  гораздо сложнее чем раньше.  

 Теперь перед  реализацией в код мне нужно  очень  щепетильно проверить основной принцип на наличие пробоин, дыр, темных пятен, подводных камней, пуха и перьев. Для себя я твердо усвоил, что  поиск слабых мест  задача первостепенная. В эту же задачу входит моделирование ситуаций наиболее неблагоприятных  для  этого алгоритма. 

А как вы выходите из положения? Кто сталкивался?

60 Комментариев
  • Ярик
    13 февраля 2016, 18:10
    Да, я сталкиваюсь с этим частенько. В итоге решил, что программировать буду только в кайф, а не «побыстрее бы запустить робота».
    В деньгах нуждаюсь не настолько остро.
  • Антон Ш
    13 февраля 2016, 18:13
    Я алгоритмами занимаюсь меньше года, и тоже очень часто зависаю на «перспективных» идеях, которые в итоге не приносят ничего, кроме уймы потерянного времени. Причем все это проверялось на разных рынках и таймфреймах. Для себя сделал следующие выводы:
    — Нужно делать «предтесты» на паре инструментах тройке инструментов, если нет результата, то не пытаться его вымучить из другого инструмента. Хотя есть примеры, где системы работали на Америке, но плохо работают на российском рынке)
    — Нужно определить четкие параметры по котором система проходит предтест, — средняя сделка, профит фактор и т.д. если не проходит то и нечего оптимизировать — систему в топку.
    — Идеи должны быть как можно более простыми, не нужно усложнять и строить  сложные системы, ничего стоящего из этого, по крайней мере на первых порах не получится Достаточно чтобы в пуле работали простые системки, которые использовали общий  депозит, но не толкались друг с другом локтями.  
  • Kaiman
    13 февраля 2016, 18:22
    Не отсеивай идеи вообще. ВСЕ проверяй! Самая бредовая может оказаться граальной. По себе сужу)) Литры кофе тебе в помощь)
  • Иван Тишевской
    13 февраля 2016, 18:33
    Есть концепция портфеля роботов, например торгового флетового и контртрендового, а также их ротация
      • Иван Тишевской
        13 февраля 2016, 18:58
        valo, Подробнее о ротации?  Ротация это снятие с торгов при определенных условиях 
    • vladkot
      13 февраля 2016, 21:16
      Иван Тишевской, хорошая концепция, только большого депо требует… в портфеле должны быть представители всех классов, тренд, контртренд, боковик, пробойники. Плюс диверсификация по тикерам и брокерам.
  • vladkot
    13 февраля 2016, 18:34
    все от стратегии зависит, тренд или контртренд, пробой, ложный пробой… таймфрейм и т.д., много нюансов
      • vladkot
        13 февраля 2016, 19:14
        valo, 2-3
  • IgorMushtriev
    13 февраля 2016, 19:57

    Делать роботов легко. :)

    Так как есть системный подход:

    1.Берем инструмент. Например, фьючерс на Доллар (Si).

    2.Исследуем его на предмет поведения: трендовый/флэтовый.

    3.Исследуем его на предмет способа входа: по импульсу, по тренду, по тренду с отката, по тренду с отката на импульсе.

    4.Исследуем его на предмет сопровождения сделки: стоп-лосс и тейк-профит, трейлинг стоп, стоп и реверс,  выход по времени.

    После получения характеристик получаем набор техник торговли.

    Например, трендовый, импульс, стоп-лосс и тейк-профит.

    Всё!

    Дальше остается взять из запасников соответствующие техники и собрать их в 1 торговую систему.

    Остается:

    -оттестировать её на истории (Wealth-Lab) на 1 контракте.

    — определиться, устраивает или нет;

    — если устраивает, найти оптимальные параметры для индикаторов с учетом системы Управления капиталом;

    — если и это устраивает, то переводить в тестовую торговлю. Можно на демо счете. Для выявления явных глюков.

    После недельки тестов на демо можно перевести на боевой счет. На 1 контракт. До получения по 2-3 входа/выхода по каждому правилу.

    Если ОК, то — в реальную торговлю с выделением запланированного объема депо.

    Сложности только в подборе и тестировании техник — занимает очень много времени. Рутина...

     

     

      • IgorMushtriev
        13 февраля 2016, 20:19

        valo, 

        Я запустил 1 робота в реальную торговлю в ноябре 2014. Просто дали теорию, код, показали как настроить, поставить.

        Но, потом наступило время упорного труда. Учебы.

         

         

        Хотя, если честно, начать торговать под руководством хорошего товарища очень просто. Мне просто повезло :)

      • IgorMushtriev
        13 февраля 2016, 20:13

        Добрый день, valo, 

        Пишу на C# в Visual Studio + Resharper.

        Тестирую в Wealth-Lab.

        Торгую в TSLab.

    • Karim
      13 февраля 2016, 20:19
      IgorMushtriev, Какими инструментами исследуете «трендовость» рынка? На глазок или есть какие мат. методы.
      И как исследовать способ входа. Это надо стратегию закодить и сравнивать. Или как то иначе?
      • IgorMushtriev
        13 февраля 2016, 20:36

        Добрый день, Karim, 

        Есть инструмент, позволяющий определить трендовость инструмента.

        Я учусь в Финансовой лаборатории. Нам там дали.

        вот профиль одного из наших наставников — Дмитрия Власова. http://smart-lab.ru/profile/VDV/

        Сайт, где есть информация chechet.org

  • Niktesla (бывш. Бабёр-Енот)
    13 февраля 2016, 20:07
    Отсеиваем потом и кровью, блеяать!
  • ves2010
    13 февраля 2016, 20:18

    про переоптимизацию — умный текст...

    Существует еще одна проблема: каждый раз, когда вы делите систему на два или более состояния, вы по определению сокращаете количество наблюдений в каждом состоянии. Чтобы проиллюстрировать это, представьте, что каждый из 37 классификаторов в моей IWM-системе имеет лишь 2 состояния – лонг или кэш. Тогда существует 2^37 = 137 млрд. возможных состояний системы. Напомним, что статистическая значимость зависит от числа наблюдений, таким образом, уменьшение количества наблюдений на состояние в системе снижает статистическую значимость наблюдаемых результатов для каждого состояния, а также для системы в целом. Например, возьмем дневную торговую систему с 20-летней историей тестирования. Если вы разделите 20 лет (~5000 дней) на 137 млрд. возможных состояний, каждое состояние будет иметь в среднем всего 5000/137 млрд. = 0,00000004 наблюдения на состояние! Очевидно, что 20 лет истории не достаточно, чтобы быть уверенным в этой системе; вам потребуется период тестирования более 3 млн. лет, чтобы получить статистический уровень значимости.

     

    Как правило, чем больше степеней свободы имеет ваша модель, тем больше должен быть размер выборки, чтобы доказать статистическую значимость. Верно и обратное: при одинаковом размере выборки модель с меньшим числом степеней свободы, скорее всего, будет иметь более высокую статистическую значимость. В мире инвестирования, если вы смотрите на результаты бэктестирования двух инвестиционных моделей с аналогичными результатами, как правило, следует отдать предпочтение модели с меньшим числом степеней свободы. По крайней мере, можно сказать, что результаты этой модели будут иметь большую статистическую значимость, и большую вероятность того, что результаты при работе будут согласоваться с тем, что наблюдалось при тестировании.

    Хорошо сказал...
    т.е для оценки бота если 0 параметр оптимизации требует 1000сделок… 1 параметра 2000… 2 параметра 4000… 3 параметра 16000… при этом надо учитывать что выбор бумаги+выбор таймфрейма= 2 параметра оптимизации

    т.е. афтору надо придумывать ботов без параметров оптимизации либо 1 параметр...

    • IgorMushtriev
      13 февраля 2016, 20:30

      Добрый день, ves2010, 

      Я стараюсь делать системы с 1-2, максимум 3 параметрами.

      Тест провожу на истории 3 года.

      Тест должен содержать порядка 200 сделок в год. Всего получается не более 600-700, но не менее 500.

      Переоптимизация систем.

      В прошлом году проводил ежемесячно. Но, заметил, что после оптимизации система первые сделки сливает, потом отрабатывает.

      В этом году решил проводить оптимизацию поквартально. По окончанию жизни фьючерсов. (торгую Си и Евро)

      Ротация.

      Это целая наука. Надо отслеживать 

      — серию убыточных сделок. Если превышает показанную на истории — 1-й звоночек.

      — максимальную просадку. Если превышает показанную на истории на 20% — снимаем с торгов.

      Но у меня получается так — как только появляется новая система с показателями лучше, чем у стоящей, ставлю новую.

      Депо небольшое. Не хватает средств на всех роботов :(

      • ves2010
        13 февраля 2016, 20:41
        IgorMushtriev, имхо тестить надо за максимально возможный срок… лично проверял своих ботов аж от 2000года
        • IgorMushtriev
          13 февраля 2016, 20:49

          ves2010, не факт

          Для получения валидной выборки достаточно получить 10-20 сделок на каждое правило. Если у меня 1 правило на вход и 1 на выход — достаточно 50 сделок в год. Я беру 200 сделок.

           

          • ves2010
            13 февраля 2016, 20:58
            IgorMushtriev, я как то написал контртрендового бота и протестил от 2010года по 2016… вроде все было ок… можно торговать… но потом решил сделать стресс тест на 2008ом и увидел эпический слив… желание торговать этот бот отпало напрочь... 
      • ves2010
        14 февраля 2016, 08:59
        valo, дык то матстатистика диктует… для получения достоверной статистики надо 10000 сделок… тогда с вероятностью 99% каждая новая сделка будет внутри этой статистики...
        для статистики 1000 сделок вероятность того что сделка будет внутри статистики 97%
        для статистики 100 сделок 90%… т.е каждая 10ая сделка будет загадочным сюрпризом…

        это если предположить что процесс нормальный либо эргодический (типа лучший случай)… мне такой подход не нравится поэтому тестю на максимально возможном интервале данных
  • FourOfAKind
    13 февраля 2016, 20:34
    Результаты теста Si M1 месяц. На нефти М5 и Ри Н1  результаты еще лучше. Написан на заказ. Сам пока только разбираюсь в алго. Ваше мнение. Чего ожидать в реале?
      • FourOfAKind
        13 февраля 2016, 20:41
        valo, Ко всем))?? Нужно мнение холодной головы, а то начинаю воображать золотые горы.
    • Niktesla (бывш. Бабёр-Енот)
      13 февраля 2016, 21:10
      Poker, ты выкладывай, а мы посмотрим и всё тебе расскажем — жмется ли у нас очко такого бота на реал ставить, али наоборот — радостно трепещет и брыжжет радостью))
  • IgorMushtriev
    13 февраля 2016, 20:39

     Это Форекс.

    я торгую Фортс. 

    Форекс начал осваивать месяц назад. 

    Поэтому ничего сказать не могу.

    С Форексом у меня пока ситуация такая: на участке истории графики супер, на тестовом участке — флэт или слив.

    (Эмуляция форвардного анализа)

    • nbvehrfr
      14 февраля 2016, 04:34
      IgorMushtriev, для таких вещей есть кроссвалидация
    • ves2010
      14 февраля 2016, 09:03
      IgorMushtriev, хы сделок изначально мало… 3000 минимум
  • Алексей
    13 февраля 2016, 21:01
    даже не знаю, на мой взгляд тестирование на истории это очень вредная штука времени много отнимает толку мало. единственное что имеет значение это продумать выход если пошло не так.

    а если появилась гениальная идея, открываю квик и торгую руками, на мелком счете. долго матерюсь неудобству за то стразу понимаю какой робот должен быть. есть прибыль значит можно кодить, нет — думаю новую :-)
      • Niktesla (бывш. Бабёр-Енот)
        13 февраля 2016, 23:22
        valo, ошибки реализации могут быть настолько хитрожопыми, что могут служить основой основной прибыли итоговой реализации))
          • Niktesla (бывш. Бабёр-Енот)
            13 февраля 2016, 23:42
            valo, хахаха — так ты тоже купил бубен и делаешь кровавые жертвоприношения темным богам?
      • Алексей
        13 февраля 2016, 23:39
        valo, да я сам начинал с тестов на истории, подгонке параметров и т.д. но в итоге как позу реальную открываешь, рынок идет наоборот :-) так как думаю каждая сделка влияет на общую картину.  в итоге после долгих мучений ушёл в арбитраж и опционы, управлять позой можно и практически всегда понятно что стряслось и что сделать что бы исправить положение.
      • Алексей
        13 февраля 2016, 23:32
        valo, сам тащусь, посмотришь и никакой лось не страшен :-)
  • Jkrsss
    13 февраля 2016, 21:33
    У каждого алгоритма есть внутренние ошибки, которые
    а) сразу не видно
    б) ведут к потери времени и денег.
    Теория графов.
  • Пафос Респектыч
    14 февраля 2016, 05:03
    Ой ребят а 35000 параметров в системе как вам? И это не какие-то 30% годовых ))) все на завод!
  • Growex
    14 февраля 2016, 09:18
    Точно так же как и автор справляюсь. С той лишь разницей что я ищу кряк для системы сразу же как только она появилась. И так было изначально и во всех аспектах жизненных… скажу честно что жить это мешает и седых волос прибавляет изрядно… но так есть. В любой идее моделирую самые неблагоприятные ситуации и только получив устойчивый показатель двигаюсь дальше.
      • Growex
        14 февраля 2016, 16:56
        valo, ну а толку от этого занятия, в материальном выражении, все равно больше не становится, разве что мозги работают и цель кажется еще ближе. Но опять же только кажется :)

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

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