Тихая Гавань
Тихая Гавань личный блог
21 марта 2015, 14:45

достигнут предел (((

Здравия коллеги.
 
недавно уже писал, что пишу робота долгосрочника. промежуточные результаты в которых использовался дневной ТФ и всего 5 эмитентов — комп считал около 2 суток, показали очень впечатляющие результаты, и решил я проверить работу всех алгоритмов на большем количестве баров с большим количеством инструментов… уже несколько дней комп на ладан лышит, надеюсь к понедельнику выдаст результат…  

никогда не думал что достигну предела возможности своего компьютера.. 
запрограммировал «пред» робота на тестирование различных вариантов, и… он ушел в бесконечное думание… конечно не бесконечное но это что то с чем то.

имеем:
~ 260 000 баров истории на каждом инструменте 4 года тф 5мин
20 инструментов
20 вариантов тестирования для каждого инструмента и каждого бара

на каждом баре в каждом варианте тестирования производится ~ 100 математических операций.

в итоге:
260 000 баров * 100 операций в варианте * 20 вариантов  * 20 инструментов = 10 400 000 000 математических операций.

но это только начало! ведь мало просто что то вычислить, необходимо это проанализировать, сравнить между собой инструменты, выявить лучший вариант, рассчитать под лучший вариант объем позиции, сделать записть сделки, внести ее в массив и потом на каждом баре отслеживать все открытые сделки по всем 20 инструментам...

в общем суммарно операций где то под 100 миллиардов набирается..
вот он потолок моего компа… ибо комп мой уже даже не тихо а во все горло посылает меня в долгую интимную дорогу, выделяя практически все ресурсы под этот анализ и «умирая» на от нескольких дней до пары недель..


вот такие проблемы иногда встречаются при автоматическом тестировании идей.
ручками такое сделать вообще нереально. 

Всем профита и веселых выходных!


PS ВСЕМ БОЛЬШОЕ СПАСИБО! подсказали в чем затык.
68 Комментариев
  • Watcher
    21 марта 2015, 15:03
    Ну, надеюсь, нигде в алгоритме ошибок не допустили, а то обидно будет)
    Я так свой первый алгоритм тестировал на истории, часов по 10-12 комп иногда считал. Потом детальнее начал рассматривать граальные результаты — оказалось, что допустил типичную ошибку «заглядывания в будущее» :)
  • ves2010
    21 марта 2015, 15:05
    1 есть приблуда под велслаб считает на видяхе… помню был видос одного брокера… там они хвастались 15 пентафлопсами на видяхах… зы кстати имхо проще арендовать машинное время
    2 не пойму зачем так сложно… все равно результаты надо обработать человеку…
    3 а теперь поменяй бай и селл местами и опять запусти оптимизацию… если получшь хороший варианта бота наоборот — выкинь бота сразу со всей переоптимизацией
      • witwayer
        21 марта 2015, 15:24
        Тихая Гавань, если алгоритм не обрабатывается современными(?!?) средствами, значит дело не в технике, а в алгоритме.
        Современная техника и не такие массивы обрабатывает, хотя если комп PentiumII или III? тогда да, может и техника).
        Ищите ошибку у себя, а не в техническом оснащении.
          • BaZa86
            22 марта 2015, 03:03
            Тихая Гавань, ТАК у тебя не комп, а ноут
            Вот у меня комп
            imglink.ru/show-image.php?id=5ff6e9773b74a940bd20b649cb6509b0
            • Friend
              22 марта 2015, 08:59
              BaZa86, не делал скальпинг процу? у меня 4770K, охлаждение гуд, но греется все равно, в простое 40 в нагрузке 80-85, у i7 с К охлаждение слабо сделано кристалла, говорят снимают крышку и заменяют охлаждение на жидкий металл. Видео смотрел по этому поводу, но сам пока не рисковал.
              • BaZa86
                23 марта 2015, 10:47
                Frend, нет, не делал, у меня нет проблем с охлаждением, комп особо не нагружается. Как вариант, может тебе кулер заменить на более производительный или вообще водное охлаждение поставить.
                • Friend
                  23 марта 2015, 11:26
                  BaZa86, нет, кулер там стоит хороший, поменял сразу при покупке, и ветер в корпусе есть, трабл именно в камне
          • chizhan
            22 марта 2015, 07:33
            Тихая Гавань, это непрофессионально. Результаты должны литься в БД или хотя бы в свои массивы, а не записываться в файл. Запись на диск очень тормозная операция. Сохранять на диск нужно только по окончании теста.

              • agmalov
                15 мая 2015, 16:14
                Тихая Гавань, возможно ssd-диск существенно ускорит всё без изменения алгоритмов, если ещё не используется
                update: Извини, не посмотрел, что уже почти 2 месяца прошло.
    • chizhan
      22 марта 2015, 07:30
      ves2010, 15 пентафлопс это перебор. Лучшая карта 7970 дает 1 терафлопс в double. Не хотите же сказать, что у них работало 15к карт!
  • К.О'Тяра
    21 марта 2015, 15:14
    думал тут один… потом выдал — «42» ))
  • svanchik
    21 марта 2015, 16:29
    Неужели все эти тесты -помогают в торговле?
      • svanchik
        21 марта 2015, 17:51
        Тихая Гавань, вот это как раз и напрягает)).т.е уровни ваши дают 100% отработку-но вы все равно что-то тестите… а что тогда торгуете?
  • sds
    21 марта 2015, 17:44
    просто у вас алгоритм медленный ))))))
  • waldhaber
    21 марта 2015, 23:18
    Несмотря на столь внушительный план работ,  видно что затею свою доведёте до конца.
    У многи х же, особенно «ручных» трейдеров может быть иначе..



    … из какой-то гуру-книжки)
    • Watcher
      21 марта 2015, 23:29
      waldhaber, а точное название книги не знаете? Зацепило :)
      • waldhaber
        21 марта 2015, 23:55
        Enfernuz, эт мне друг скидывал скриншот… просветлялся он вобщем))
        Так что скину, но завтра-послезавтра… как узнаю у него что за автор, ок?
        • Watcher
          21 марта 2015, 23:56
          waldhaber, ок, спасибо)
      • Ivor
        22 марта 2015, 00:07
        Enfernuz, Да забейте тест в поисковик. Я бы для вас сделал бы, но сижу со смартфона))
        • Watcher
          22 марта 2015, 00:27
          Ivor, как-то забыл об этом способе. Спасибо за совет)
          Итого, Роджер Сайп «Развитие мозга. Как читать быстрее, запоминать лучше и добиваться больших целей»
          lib.rus.ec/b/513588/read
          • waldhaber
            24 марта 2015, 13:27
            Enfernuz, о, да, вы уже нашли)
      • waldhaber
        24 марта 2015, 12:21
        Enfernuz, Роджер Сайп, развитие мозга.
  • shprots
    21 марта 2015, 23:21
    И скоко же Вы ожидаете доходность от своего монстра? :)
  • AlexeyTikhonov
    22 марта 2015, 00:00
    Что-то долго, у меня под VBA! 50 млрд! мат. операций (правда не сложных) (не по рынку) выполняются всего за 4 часа (на простом ноуте)., а у вас (i5 и 4 гига) и всего-то 10 млрд.
    Вероятно, что-то Вас с алгоритмом не то, а уж если и операции с диском, то не пишете сразу, открывайте/сохраняйте по потребностям, посмотрите perfmon увидите где затык, может у вас диск узкое место, или память.
  • П М
    22 марта 2015, 00:01
    у меня генетический алгоритм пробегает порядка 30 тыс баров, * 9 родителей по 17 мутаций = 1 этап
    итого 30 000*9*17 = 4 590 000 «щелчков робота» за этап.
    в «щелчке» приходит свечка, анализируется, принимается решение, делается сделка, считается по сделке бюджет и статистика — ясно что там не одна операция.
    и таких этапов за день просчитывается около 10 000
    т.е. всего 45 900 000 000.
    но проц помощнее (i7) и считается всё многопоточно, хотя на ночь больше двух потоков не ставлю, чтобы не шумело.
    честно говоря вначале тоже радовался что проц грузится хорошо. а потом занялся профилированием и оптимизацией.
    «щёлкать» стало гораздо быстрее :)
    пусть железные мозги работают на полную! за них уплочено.

    • Karmanoff Fedya
      22 марта 2015, 00:07
      ПBМ, ну и сколько годовых собираешь с таким супер математическим подходом?
    • Vadynik
      22 марта 2015, 01:31
      ПBМ, профилирофщик наше все, гораздо быстрее чем часами ждать прогоны
    • ves2010
      23 марта 2015, 08:56
      ПBМ, генетические алгоритмы = зло… т.к надо перебирать все варианты для анализа стабильности бота
      • П М
        23 марта 2015, 11:03
        ves2010, не люблю слова все и должен
  • Karmanoff Fedya
    22 марта 2015, 00:04
    Секрет походу даже задумался, что у него слишком все просто
  • SenSoR
    22 марта 2015, 00:06
    Арендуйте вирт. машину с 16 ядрами, посуточно, быстро все посчитает) Хотя, если ваша платформа обращается только к одному ядру процессора, то это не поможет.
  • Roman Ivanov
    22 марта 2015, 00:09
    И сколько в вашей стратегии настроечных параметров?
  • Ага
    22 марта 2015, 00:10
    Ну и я похвастаюсь. За неделю у меня просчитывается ~10^15 «микро стратегий» на тиковых данных за 6 лет по ES. Количество математический операций подсчитать весьма затруднительно…
    • Макс
      22 марта 2015, 07:14
      Ага, на микростратегиях можно порядка на 3 ускоряться в сравнении с обычными. плюс кэшироваться проще, что еще пару порядков дает. Так не честно, короче ))
  • Scorpi_999
    22 марта 2015, 00:12
    Не понимаю ) ну допустим, будут найдены некие закономерности, но ведь они на истории ) значит каждая новая свеча будет неучтена и уже закономерность нарушает )
    • Ага
      22 марта 2015, 00:51
      Scorpi_999, Все человеческое строится/базируется/отталкивается от истории, будь это человек или алгоритмы, история это ВСЁ ЧТО У НАС ЕСТЬ! Если человек работает руками, он тоже «на истории учился», ну или как мартышка/ГСЧ колбасит по клавишам. Любой фундаментальный анализ — это тоже история. А вот как с историей работать — это ключевой момент, можно там искать «призраки», а можно и то что работает ИМХО.
  • Ivor
    22 марта 2015, 00:15
    Да арендуйте комп, если так долго.
    У меня ноут, достаточно мощный, я за него иногда переживаю, не загнется ли. Но максимум, что считал это 12 часов, раскаленный как печка стал, но вроде выжил.
    У вас генетика или просто брутфорс, или монте карло?
    И на чем тестите кстати? Самопис или на готовых прогах та?
  • Den Kushnerik
    22 марта 2015, 00:38
    Вопрос также интересует, какая платформа?

    Аналогично тоже тестирую на Metatrader 5, правда не такими масштабами.
    Недавно попробовал ихнюю MQL5 Cloud Network, вышло 18 тыщ проходов на 6 минутках, с июня 2013 по март 2015, примерно за 10$ чужих процессорных ресурсов и полчаса времени. На своем ноуте с Core i7 и 8 ядрами такое бы дня за 4 вычислил.
    • Den Kushnerik
      22 марта 2015, 00:40
      antikeks, Не сочтите за рекламу ;)
  • Михаил Васин
    22 марта 2015, 00:54
    Расскажи лучше сколько ты заработал, а не пытался это сделать.
    А потом подтверди стейтом с ЛЧИ.
    • Watcher
      22 марта 2015, 01:04
      farok, а Вам зачем такие подробности? В поиске нового гуры?
  • Alexánder Zagorúyko
    22 марта 2015, 01:07
    Я писал робота, который сделал миллиард рублей с сотни тысяч!
    Но миллиард рублей виртуальные и за прошлый период… увы!
  • Оленевод Бельдыев
    22 марта 2015, 01:54
    Кароч… дядюшка Шингыс тебя просветит! Нету на рынке четко формализированной системы, которая будет работать дольше чем 2-3 месяца!
    • П М
      22 марта 2015, 10:02
      Шингыс Кулямбеков, можно поподробнее, откуда сведения? по-моим ощущениям действительно после 3х месяцев что-то меняется/ломается. но этой моей статистике ощущений всего 1 год
      • Оленевод Бельдыев
        22 марта 2015, 11:23
        ПBМ, Меняются внешние факторы (макроэкономика, политика и т.п.), меняется состав игроков, меняется стратегия у крупных игроков (чтобы сбросить присосавшихся).
  • asane
    22 марта 2015, 02:04
    Тихая Гавань
    какое ПО исполняет (или чем откомпилировано) вашу задачу подсчета?
  • Multifractal
    22 марта 2015, 02:06
    100 миллиардов при 3.3 GHz это пол минуты.
  • R0land
    22 марта 2015, 02:57
    И как результат? Может PC в + стабильно годами приличную доходность на гора выдавать?
  • Heinz
    22 марта 2015, 04:26
    для грамотных советов неплохо было бы приводить более точное техническое описание проблемы, но судя по имеющемуся описанию вы упираетесь совсем не в производительность своего процессора, а в скорость устройств хранения данных.

    Поэтому все что можно при этих вычислениях хранить лишь в оперативке, если уж совсем не удается обойтись без обращения к дискам (к примеру при использовании сторонних программ которые вы не можете оптимально переписать) то тогда эмулировать дисковые накопители в оперативной памяти.

    вот к примеру один из неплохих подобных эмуляторов RAMDRIVE www.ltr-data.se/opencode.html/#ImDisk
      • sds
        22 марта 2015, 18:10
        Тихая Гавань, ну вот, говорят же алгоритм медленный ))))
        Когда в школе учился, лень было писать на ассемблере программы, писал на паскале, но потом редактировал(оставлял 10% написанного кода) и заново на перфокарты, скорость была в 2 раза быстрее чем на паскале, все дело в правильном коде и выбор алгоритма. ))))
  • V.V.
    23 марта 2015, 22:19
    Тихая Гавань, вы комбинации индикаторов оптимизируете?

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

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