стратегии форекс книги форекс литература форекс

Виды стратегии форекс

форексВиды оптимизаторов

Существует много видов оптимизаторов, каждый со своими преимуще­ствами и недостатками, сильными и слабыми сторонами. Оптимизаторы можно классифицировать по таким критериям, как автоматический или ручной, простой или сложный, специальный или общего назначения, ана­литический или стохастический. Все оптимизаторы, вне зависимости от вида, эффективности и надежности, ведут поиск лучшего из многих по­тенциальных решений формально поставленной задачи.Существует много видов оптимизаторов, каждый со своими преимуще­ствами и недостатками, сильными и слабыми сторонами. Оптимизаторы можно классифицировать по таким критериям, как автоматический или ручной, простой или сложный, специальный или общего назначения, ана­литический или стохастический. Все оптимизаторы, вне зависимости от вида, эффективности и надежности, ведут поиск лучшего из многих по­тенциальных решений формально поставленной задачи.
Бывает, что нельзя кликнуть мышкой на кнопку с надписью «Оптимизи­ровать».

Нет команды, которую можно было бы отдать программе — да нет ни самой программы, ни компьютера вообще. Значит ли это, что оп­тимизации не происходит? Нет. Даже при отсутствии видимого оптими­затора и признаков оптимизации процесс идет сам по себе — это называ­ется скрытой оптимизацией. Все происходит таким образом: трейдер ис­пытывает набор правил, основанный на некоторых идеях, касающихся рынка. Результаты системы неудовлетворительны, и трейдер перераба­тывает идеи, меняет правила и снова тестирует систему, получая лучший результат стратегии форекс. Повторив свои действия несколько раз, он получает систему, которой можно доверить реальную торговлю. Можно ли считать эту сис­тему оптимизированной? Поскольку никакие правила или параметры не подвергались модификации с помощью компьютерных программ, кажет­ся, что трейдер с успехом разработал неоптимизированную систему. Нопри этом испытывалось более одного варианта параметров, что привело к выбору оптимального решения — следовательно, система все-таки была оптимизирована! Любая форма решения задачи, где рассматриваются множественные варианты, из которых выбирается один, де-факто может считаться оптимизацией. Мозг трейдера, использующий мысленные ал­горитмы решения задач, например эвристические алгоритмы проб и оши­бок, является мощнейшим оптимизатором. Это означает, что оптимиза­ция присутствует всегда и всегда работает; другого выхода просто не су­ществует!

Оптимизатор с лобовым подходом определяет оптимальное решение пу­тем систематического перебора всех потенциальных вариантов, т.е. соче­таний правил, параметров или того и другого вместе. Поскольку требуется проверить все варианты, оптимизация может быть чрезвычайно медлен­ной, и, тем медленнее она идет, чем больше комбинаций подлежит рассмот­рению. Таким образом, оптимизация с лобовым подходом подвержена дей­ствию правил «комбинаторного взрыва». Насколько же медленна стратегии форекс оптими­зация с лобовым подходом? Рассмотрим случай, когда у нас есть четыре параметра и каждый из них может принимать одно из 50 значений. Лобо­вая оптимизация потребует перебрать в тестах 504 (около б миллионов) со­четаний параметров для поиска одного идеального; если (как, например, характерно для TradeStation) каждый тест займет 1,62 с, то весь процесс займет около 4 месяцев. Этот подход не очень практичен, особенно при большом количестве параметров и их значений, а также в том случае, если, кроме стратегии форекс оптимизации, у вас есть и другие интересы в этой жизни.

Тем не менее оптимизация с лобовым подходом полезна и эффективна; при пра­вильном использовании она всегда находит самый лучший вариант, так что лобовой подход предпочтителен для задач, где количество комбинаций мож­но перебрать за несколько минут, а не за месяцы и годы.Для оптимизации с лобовым подходом не требуется длинных программ, обычно используются простые циклы. Параметры изменяются от началь­ного до конечного значения с определенным шагом при помощи операто­ра For loop (С, C + + , Бейсик, Pascal/Delphi) или Do loop (FORTRAN). Опти­мизатор с лобовым подходом для двух параметров, написанный на совре­менном диалекте Бейсика, может выглядеть примерно так:Поскольку оптимизаторы с лобовым подходом концептуально просты и легки в программировании, их часто встраивают в более продвинутые программные пакеты для трейдеров.Как пример практической оптимизации с лобовым подходом рассмот­рим систему, основанную на пересечении двух скользящих средних, реа­лизованную стратегии форекс при помощи TradeStation.

Система оптимизировалась по по­казателю общей прибыли (это единственный показатель, который TradeStation может оптимизировать без дополнительных модулей). Ниже приведен код для торговой системы на двух скользящих средних:Система была оптимизирована изменением периода первой скользящей средней (LenA) от 2 до 10 с шагом в 2. Период второй скользящей средней (LenB) оптимизировался от 2 до 50 с тем же шагом. Шаг был принят бо­лее 1, чтобы испытывалось менее 200 сочетаний параметров (TradeStation может хранить данные не более чем о 200 оптимизационных тестах). По­скольку были исследованы не все возможные сочетания параметров, оп­тимизация не была проведена идеально; лучшее значение могло оказать­ся пропущенным при поиске. Таким образом, оптимизация проходила в 125 тестов, что заняло 3 мин. 24 с времени для обработки данных за 5 лет исторических данных на конец дня на компьютере с процессором Intel 486 частотой 66 МГц. Полученные результаты были загружены в таблицу Excel и сортировались по общей прибыли. В табл. 3-1 приведены различные показатели эффективности для 25 лучших вариантов.В таблице: LENA означает период короткой скользящей средней, LENB — период длинной стратегии форекс скользящей средней, ЧИСТ. — чистую прибыль, Д.ПРИБ, — чистую прибыль для длинных позиций, К.ПРИБ. — чистую при­быль для коротких позиций, Ф.ПРИБ. — фактор прибыли, ДОХ — общую (не годовую) доходность счета, МаксПК — максимальное падение капи­тала, СДЕЛ — общее количество совершенных сделок, ПРИБ % — процент прибыльных сделок.Поскольку оптимизация — проблема поиска и нахождения решений, то порой найденные решения оказываются неожиданными, как случи-лось и в данном примере.

Привычная трейдерская мудрость гласит: «Тренд— твой друг». При этом если вторая скользящая средняя имеет период меньше первого, то наиболее выгодные сделки в табл. 1-3 совер­шены против тренда. Эти выгодные контртрендовые сделки могли быть не обнаружены, если бы для поиска не использовалась оптимизационная процедура.Оптимизация под управлением пользователя ведется при сотрудничестве человека и программы. Как и при оптимизации с лобовым подходом, про­исходит испытание различных вариантов в поисках оптимального реше­ния, но если в первом случае ведется всеобъемлющий поиск во всем мно­жестве вариантов, оптимизация под управлением пользователя ведется, как выборочная охота, только в некоторых участках пространства реше­ний. Замысел в том, что при вмешательстве человека процесс оптимиза­ции способен быстро обнаружить оптимальные значения, не отвлекаясь на обследование каждого тупика.При оптимизации под управлением пользователя применяются те же самые инструменты, что и при оптимизации с лобовым подходом. Вместо единственной оптимизации по всем возможным наборам параметров про­водится несколько частичных оптимизаций, каждая из которых состоит всего из нескольких тестов.

Например, в каждой оптимизации стратегии форекс будет из­меняться только один параметр, или же все параметры будут протестиро­ваны с большим шагом, создавая грубую «сетку результатов». После каж­дой частичной оптимизации результаты анализируются, и затем прово­дится следующая частичная оптимизация. Таким образом, процесс при­водит к обнаружению желаемого решения.Достичь успеха в оптимизации под управлением пользователя можно только при наличии серьезных знаний и опыта в проведении подобных исследований. При соответствующем навыке и опыте оптимизация под управлением пользователя может быть чрезвычайно эффективной и го­раздо более быстрой, чем оптимизация с лобовым подходом. Скорость и эффективность — результат сочетания расчетов с разумом: зоны, где вы­сока вероятность успеха, можно исследовать тщательно, а зоны без по­тенциальных результатов можно отсеять, сэкономив время.Оптимизация под управлением пользователя наиболее уместна, если другими методами уже установлены приблизительные значения, если проблема знакома или хорошо понятна или если требуется оптимизиро­вать небольшое количество параметров. Оптимизация под управлением пользователя — замечательный способ «отшлифовать» имеющееся реше­ние, а также полезный способ определения чувствительности имеющих­ся моделей к изменениям правил и параметров.Представьте себе нечто, способное решить все проблемы, связанные с созданием человека — нечто, представляющее собой вершину всех мето­дов оптимизации и решения задач. Что это такое? Известный процесс эволюции.

Генетические оптимизаторы пытаются использовать часть этой невероятной способности к решению задач при помощи грубой си­муляции эволюционного процесса. По параметрам общей эффективнос­ти и размаха решаемых программ никакой многоцелевой оптимизатор не превосходит хорошо написанный генетический оптимизатор.Генетические оптимизаторы являются стохастическими в том смыс­ле, что они используют в работе случайные числа. Может показаться не­вероятным, что бросание кубиков стратегии форексстратегии форекс помогает решать задачи, но при пра­вильном подходе это так! Кроме случайности генетические оптимизато­ры используют отбор и комбинирование. Продуманная интеграция слу­чая, отбора и комбинации — причина успешной работы генетических оптимизаторов. Полное обсуждение генетических алгоритмов, служа-Генетические оптимизаторы могут иметь множество ценных харак­теристик, например скорость (особенно при наличии риска «комбинатор­ного взрыва»). Генетический оптимизатор работает на несколько поряд­ков быстрее, чем оптимизатор с лобовым подходом, особенно при нали­чии множества правил или значений параметров.

Это происходит пото­му, что, как и при оптимизации под управлением пользователя, идет фо­кусировка на важных участках пространства решений, а тупики пропус­каются. В противоположность оптимизации под управлением пользова­теля селективный поиск достигается без вмешательства человека.Генетические оптимизаторы могут быстро решать сложные задачи и более устойчивы, чем другие подходы, к эффектам локальных макси­мумов или (минимумов) на поверхности значений функции пригоднос­ти (или затрат). Вычислительные методы плохи тем, что всегда ведут к ближайшей вершине или впадине, не обращая внимания на более высо­кие вершины или впадины, которые могут существовать в других мес­тах. При этом хороший генетический оптимизатор часто находит луч­шее глобальное решение — великолепный результат при сложной фор­ме поверхности.Еще одна характеристика генетической оптимизации — то, что она хорошо работает на поверхностях с разрывами, плоскими участками и другими сложными неупорядоченными формами. Генетический метод делит это преимущество с другими неаналитическими стратегии форекс методами — лобо­вым подходом, управлением пользователем и пр.

При помощи генетичес­кого оптимизатора можно найти решения, максимизирующие такие по­казатели, как чистая прибыль, доходность, отношение Шарпа и подобные, для которых поверхность функции пригодности имеет сложную форму, с трудом поддающуюся анализу. Это не означает, что такой оптимизатор не применяется для задач с простыми поверхностями — уступая в скоро­сти вычислительным методам, генетический оптимизатор защищен от вли­яния ловушек «локальных экстремумов».В общем, генетические оптимизаторы — предпочтительные методи­ки для систем с множеством правил или параметров; они особенно по­лезны, если необходимо найти глобальное решение или работать с весь­ма сложными (прерывистыми и недифференцируемыми) функциями пригодности или расходов. Хотя специализированные оптимизаторы могут обгонять генетические на избранных задачах, для многоцелевой оптимизации генетический метод — один из самых мощных доступных инструментов.

На что похож генетический оптимизатор в работе? Мы перевели на C + + код для системы с пересечением скользящих средних, упоминавшей­ся ранее, чтобы при помощи C-Trader toolkit решать задачу оптимизации двух параметров — LenA и LenB. LenA, период первой скользящей сред-ней, исследовался при значениях от 2 до 50, так же как и LenB — период второй скользящей средней. Оптимизация велась по показателю стратегии форекс общей прибыли, чтобы можно было напрямую сравнивать результаты с получен­ными ранее методом оптимизации с лобовым подходом. Ниже приведен код для системы пересечения скользящих средних, написанный на C++:Для поиска оптимальных параметров путем оптимизации с лобовым подходом потребовалось бы провести 2041 тест, т.е. около 56 минут рабо­ты TradeStation согласно опыту прошлого тестирования небольшой вы­борки. Генетический оптимизатор справился с заданием за минуту. Кро­ме того, генетический оптимизатор был остановлен после проведения все­го лишь 133 тестов, что должно значительно ухудшить его результат.Оптимизаторы, основанные на моделировании отжига, воспроизводят термодинамический процесс замерзания жидкостей и отжига металлов. При высокой температуре атомы в жидкости или расплавленном металле быстро перемещаются случайным образом. При медленном остывании они располагаются в упорядоченную кристаллическую структуру, пред­ставляющую минимальное энергетическое состояние системы. При про­граммном моделировании этот термодинамический процесс успешно ре­шает крупномасштабные задачи оптимизации.Как и генетическая оптимизация, моделирование отжига — очень стратегии форекс мощ­ная стохастическая методика, основанная на естественном явлении, кото­рое может находить глобально оптимальные решения и работать с неупо­рядоченными функциями эффективности.

Моделирование отжига эффек­тивно решает комбинаторные проблемы, включая известную «задачу о коммивояжере» или проблему оптимального расположения миллионов эле­ментов современных интегральных микросхем, например компьютерных процессоров. Методы, основанные на моделировании отжига, не следует ограничивать комбинаторной оптимизацией; они могут быть легко приме­нены для оптимизации параметров с реальными значениями. Следователь­но, оптимизаторы, основанные на моделировании отжига, применимы к широчайшему кругу задач, включая задачи, интересующие трейдеров.Поскольку генетические оптимизаторы столь эффективны, мы не столкнулись с необходимостью широко исследовать оптимизаторы, ос­нованные на моделировании отжига. Кроме того, поступали сообщения, что во многих случаях алгоритмы отжига уступают генетическим, таким образом, не было необходимости давать примеры метода моделирования отжига и рассматривать его далее.Анализ (в смысле .«математический» или «комплексный» анализ) являет­сястратегии форекс расширением классического исчисления. Аналитические оптимиза­торы используют наработанные методы, в особенности методы диффе­ренциального исчисления и исследования аналитических функций для решения практических задач. В некоторых случаях анализ дает прямой (без перебора вариантов) ответ на задачу оптимизации.

Так происходит при использовании множественной регрессии, где решение находится с помощью нескольких матричных вычислений. Целью множественной регрессии является подбор таких весов регрессии, при которых миними­зируется сумма квадратов ошибок. В других случаях требуется перебор вариантов, например невозможно определить напрямую веса связей в нейронной сети, их требуется оценивать при помощи алгоритма обрат­ного распространения.Многие методы перебора данных, используемые для решения много­вариантных проблем оптимизации, применяют в том или ином виде ме­тод сопряженных градиентов (максимальной крутизны). В общем виде оптимизация методом сопряженных градиентов ведется следующим об­разом. Некоторым образом выбирается точка на поверхности функции пригодности. Вектор градиента поверхности в данной точке оценивается с помощью дифференцирования функции пригодности по каждому из параметров. Полученный градиент указывает направление максимального роста функции пригодности в n-мерном пространстве параметров. В на­правлении стратегии форекс градиента делаются шаги до тех пор, пока функция пригодно­сти не перестанет расти.Затем расчет градиента повторяется, движение начинается в новом направлении, и так раз за разом, пока не будет достигнута вершина, т.е. точка с нулевым градиентом.Для применения оптимизации по методу сопряженных градиентов необходимо разработать правила определения размеров каждого шага, а также правила корректировки направления, задаваемого градиентом. Примитивные версии исходят из того, что существует поверхность функ­ции пригодности (приближаемая сходящимися степенными рядами), где имеются «холмы», по которым следует подниматься. Более продвинутые версии идут далее, исходя из того, что функция пригодности может быть неплохо приближена квадратичной формой. Если функция пригодности соответствует этому предположению, то найти решение можно гораздо быстрее. Впрочем, если поверхность функции пригодности имеет сильно изрезанную форму с впадинами и выступами стратегии форекс неправильных очертаний, квадратичные формы часто не могут дать хорошего приближения. В та­ких случаях сложные методы могут вовсе не находить решения или по крайней мере работать гораздо медленнее.Тем не менее низкая скорость оптимизации не является главным пре­пятствием на пути аналитика. Гораздо сложнее справиться с так называе­мой проблемой локальных решений. Почти все аналитические методы, будь они простыми или сложными, легко попадаются в ловушку локаль­ных максимумов; при наличии множества впадин и выступов на поверх­ности они не могут найти наилучшее глобальное решение. Метод наимень­ших квадратов, моделирование нейронными сетями дают поверхности функции пригодности неправильной формы с большим количеством ло­кальных экстремумов. Данные поверхности чрезвычайно сложны для стандартных стратегии форекс аналитических методов, таких как метод сопряженных гра­диентов или алгоритм обратного распространения, применяемый в ней­ронных сетях. Впрочем, местные максимумы можно обойти, соединив аналитический метод с генетическим. Для поверхностей, которые можно исследовать аналитическими методами, такой двойной алгоритм может оказаться наилучшим решением; он позволит быстро и с большой точно­стью найти глобальные оптимумы.Некоторые поверхности функции пригодности просто не поддаются аналитической оптимизации; как правило, это поверхности, имеющие плос­кие участки или разрывы в областях, где следует искать решение. Плоско­сти не имеют градиентов, следовательно, нельзя выбрать направление для движения. В точках разрыва также нельзя определить градиент и направ­ление движения. Даже если метод и не использует градиенты напрямую, эта информация все равно потребуется алгоритму оптимизации. К несчас­тью, многие функции пригодности, важные для трейдеров, — включая все функции, связанные с общей прибылью, максимальными падениями ка­питала, долей стратегии форекс выгодных сделок, отношением риска/прибыли и подобны­ми показателями — страдают наличием плоскостей и разрывов. Следова­тельно, их нельзя исследовать методами аналитической оптимизации.Хотя обсуждение было в основном посвящено максимизации функ­ции пригодности, все вышесказанное применимо и к минимизации рас­ходов. Любая техника максимизации может быть применена для мини­мизации, и наоборот: умножьте функцию пригодности на — 1 для получе­ния эквивалентной функции расходов; умножьте функцию расходов на - 1, и получится функция пригодности. Если вам нравится алгоритм ми­нимизации, но нужно применять максимизацию; можно использовать этот фокус вместо перекодировки алгоритма оптимизации.Методы линейного программирования разработаны для проблем оптимиза­ции, затрагивающих линейные функции пригодности или расходов с ли­нейными ограничениями параметров или входных переменных. Линейное программирование обычно используется для решения задач по распреде­лению активов. В мире трейдинга одно из возможных применений линей­ного программирования состоит в поиске оптимального размещения денеж­ных средств в различные финансовые инструменты для получения макси­мальной прибыли. Если оптимизировать прибыль с учетом возможного риска, то применять линейные методы нельзя. Прибыль с поправкой на риск не является линейной функцией весов различных инвестиций в общем порт­феле, здесь требуются другие методы, к примеру генетические алгоритмы. Линейные модели редко бывают полезны при разработке торговых систем и упоминаются здесь исключительно в ознакомительных целях.

1 комментарий:

Анонимный комментирует...

Ого, у тебя тут куча стратегий. Все за раз не перерыть. Форекс стратегии это мой сайт посвященный им же, может что-то для себя найдешь :)

Отправить комментарий