Нужна помощь по результатам оптимизации - страница 3

 
Invalid:

Мне трудно выбрать оптимальную настройку из результатов оптимизации.

Не мог бы кто-нибудь сказать мне, что лучше всего выбрать из результатов оптимизации, наименьшую просадку, фактор прибыли или любую другую вещь, которую я должен учитывать?

Спасибо!


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

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

 
pindurs:


Чтобы поделиться своим опытом, я провел дискриминантный анализ этих 6 столбцов, чтобы узнать, смогу ли я угадать, какие настройки будут работать лучше всего по сравнению со случайным выбором, и мой вывод заключается в том, что это непригодно для использования: Он выбирает лучшие, когда агент адаптирован к рынку, и выбирает худшие, когда нет, не имея возможности узнать, адаптирован ли он в данный момент.
У агента, которого я использовал, наиболее дикриминирующим столбцом было количество сделок, и лучшим выбором был некий тонкий баланс между количеством сделок, прибылью и просадкой, но я не мог сформулировать четкое правило.

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


IMO, использование оптимизатора в качестве генератора надежд может быть непростым делом. Как всегда говорит Филлипс, "это все равно, что ожидать, что рынок будет вести себя точно так же, как он вел себя в периоды оптимизации". Оптимизатор - это # cruncher, который подгоняет результаты, основываясь (обычно на) sl_tp или period_time. Пройдя через это сам, я подозреваю, что многие из перспективных параметров плохо работают вне оптимизированных периодов или при форвард-тестировании.

ИМО, следует создавать стратегии независимо от оптимизатора, тестировать их на данных 2010 года и, если они покажут хорошие результаты, переходить к 2009, 2008, 2007... и т. д. Даже с лучшими результатами за последние 10 лет, вы все равно должны сохранять спокойствие и не думать, что у вас есть Святой Грааль, потому что его не существует. ИМО, любая стратегия, которую человек применяет на рынке, несет в себе риск, например, неконтролируемый риск.

ИМО, лучшее использование инструментов, подобных тем, которые предоставляют Филипп, Гордон, WHRoeder, BB и все другие талантливые аналитики/программисты на этом сайте, - это помощь в сравнении того, является ли система-A <лучшей, чем> система-B. Итак, создал ли я хоть одну систему, которая прошла бы 10-летний бэк-тест с первого захода? ... черт возьми, нет. Но в последнее время я программирую больше систем, которые хорошо работают в 2010->2008 годах и ломаются где-то по пути. Это прогресс по сравнению с программами из учебников для новичков, которые выглядели так: если RSI>80 && MA-1 пересекает MA-2, то продаем. Если прогнать такую систему через бэк-тестер, то в 99% случаев она провалится. Тогда большинство попадается на удочку оптимизатора.

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

В любом случае, отличная тема, парень. Мне очень нравится следить за ней.

 
ubzen:


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

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

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

Нет, действительно, у нас тяжелая работа.

 
1005phillip:

Способ использования расчетов риска потерь заключается в том, что вы определяете временной период (ежемесячный, еженедельный, ежегодный и т.д.), или какое-то приращение (за сделку, за 10 сделок и т.д.), а затем вы собираете статистику за эти периоды. Это имеет значение с точки зрения того, что на самом деле означает результирующий результат расчета риска разорения (его единицы).

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

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

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


Чтобы рассчитать метрику риска разорения, сначала нужно собрать данные для вашего таймфрейма. В моем случае в этом примере мне нужно было собрать результаты ежемесячных ставок доходности, вычислить среднемесячный ROR и затем вычислить стандартное отклонение этих ежемесячных ставок доходности.

В данном примере среднемесячная доходность составила 12% при стандартном отклонении 8%... По результатам бэктестинга это должно было быть золотым результатом, но это не так (как вы можете видеть). Обратите внимание, что я называю риск разорения риском потерь (ROL), поскольку меня не интересует, когда мой счет будет разорен (это тривиальный вопрос), а скорее меня интересует, как часто я должен ожидать, что счет окажется под водой на какую-то фиксированную сумму, скажем, 20%.

Таким образом, 12% месячный ROR при 8% стандартном отклонении означает, что я могу ожидать, что мой счет будет терять 7,4% стоимости примерно 6,5% времени (6,5% событий в конце месяца, или примерно раз в 15 месяцев).



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

Итак, вы видите, что для того, чтобы рассчитать значимую оценку риска потерь, вы должны сначала решить, какой период времени для вас важен, а затем собрать результаты в форме, пригодной для вычисления среднего и стандартного отклонения RoR за этот период времени.

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

вот мои результаты для 30 групп по 50 сделок (с 18/03/2001 по 21/12/2010)

с начальным депозитом в $700


для последующих я вычислил:

средний ROR => 2.9%

stdev of => 6.5%

(что довольно плохо.... верно? )

теперь для каждой группы из 50 сделок... максимальный % убытка, который я могу ожидать: $0.1 X 50 X (20pips+3pip spread) = $115

115/700 = 16.5%

Я не могу потерять больше этой суммы за 50 торговых сесси й.

Могу ли я как-то учесть это при расчете риска потерь?

 
sergeyrar:

для последующих я вычислил:

среднее значение ROR => 2,9%

среднее значение => 6,5%

(что довольно плохо, да? )


Да, вы хотите, чтобы ваше отношение μ/σ было >1, а лучше 2 как минимум.

И Шарпа недостаточно, само значение σ имеет значение для определения ROL при любом данном значении Шарпа (это не очень известный факт, но это фундаментальная причина того, что леверидж является проблематичным, и именно поэтому CFTC снижает максимальный леверидж в США).



Вот почему существует мантра, что "бета убивает". Самый лучший μ в мире не спасет ваш счет от риска разорения, если σ велик. Леверидж делает σ большим, чрезмерный размер позиции делает σ большим, в то время как люди стремятся к большому μ.

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

Много негодования направлено на CFTC в связи с их контролем кредитного плеча на Форекс, но CFTC на самом деле пытается спасти людей от их собственных злейших врагов.

sergeyrar:

теперь для каждой группы из 50 сделок... максимальный % убытка, который я могу ожидать: $0.1 X 50 X (20 пипсов + 3 пипса спред) = $115

115/700 = 16.5%

Я не могу потерять больше этой суммы за 50 торговых сессий.

Могу ли я как-то учесть это при расчете риска потерь?


Риск потери сам по себе является распределением вероятности, а максимальное значение, которое вы можете потерять ($115), является лишь одной точкой на этом распределении. Вас, вероятно, интересует, как часто может произойти подобный сценарий. Будете ли вы терять $115 раз в 5 лет или раз в 5 месяцев?

Это те вопросы, для ответа на которые вы используете RoL. "Как часто я могу ожидать потери XYZ?" Вы спрашиваете, насколько вероятно, что вы потеряете $115, максимально допустимый RoL, основанный на ваших шагах, и ответ - 9%.

 
sergeyrar:

О ...

Есть одна вещь, которую я все еще не понимаю.... разве нет других факторов, влияющих на этот расчет?

Возьмем результаты ROR, рассчитанные на ежемесячной основе.

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

например: за 0 сделок вы зарабатываете 0%

за 10 сделок вы зарабатываете 5% (в среднем)

за 20 сделок вы зарабатываете 10% (в среднем)

и так далее...

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

так что средняя доходность составляет 10%, а стандартное отклонение - 20%, и не было отрицательных ROR (вы не можете иметь отрицательное количество сделок...)

Теперь вычисление риска потери одного стандартного отклонения, которое составляет 20%, даст нам приблизительно 37% ... что на самом деле не имеет никакого смысла...

Вы видите, куда я иду?


Я действительно не пытаюсь быть глупым, но я не понимаю. Я не понимаю аргумента, который вы здесь приводите. Бросайте монету 10 раз в месяц или 20 раз в месяц, вероятность выпадения голов всегда 50/50 при каждой попытке, независимо от истории бросания монет на сегодняшний день. То, что реальность подбрасывания монет иногда отличается от статистики, не делает статистику недействительной, а лишь делает ее ограниченно полезной.

Цель вычисления RoL заключается в том, что это нечто математически обоснованное, но не гарантированное. Это всего лишь руководство, способ оценки результатов, который лучше отражает и представляет индикативный (систематический) риск в вашей торговой стратегии. Но шанс - это всего лишь шанс. Есть шанс, что вы никогда не понесете убытки, и есть шанс, что вы понесете полные убытки.

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

Это лучшее, на что вы вправе надеяться.

 

Спасибо большое за ваше время!!! Я очень ценю это

Итак, судя по следующим результатам теста, мне просто очень повезло?

максимальное количество последовательных убыточных сделок за весь этот период (из примерно 23 групп по 50 сделок - не смог втиснуть все в один тест) составило 41 (которые могли разделиться на 2 группы по 50 сделок).

Я должен был видеть такую просадку чаще?

В конечном счете, если я продолжу "играть" в эту игру, я буду получать 9% времени такой проигрыш?

Теперь еще одна вещь

согласно этому отчету

средняя вероятность прибыльной сделки для меня составляет 8,85%, а убыточной - 91,15%.

Так что, согласно этому, шанс получить 50 убытков подряд составляет : 0.9115^50 = 0.97% ...

что довольно далеко от 9%... как такое может быть?

Если бы я проигрывал 95,3% времени, это было бы правильно, а с таким процентом мое ожидание было бы отрицательным O_O

Ex= 0.953*(-23)+0.047*(247) = -10.31 пунктов прибыли на сделку

 

Я вижу, что вы приписываете распределениям функциональную форму гауссова распределения, в то время как я понимаю, что расчеты риска разорения были получены на основе ожиданий пуассона/стохастического процесса.

Если вы хотите понять вывод уравнений, я рекомендую вам прочитать следующую книгу: The Theory of Stochastic Processes by Cox and Miller

Они являются цитируемыми авторами уравнений риска разорения.

В ходе моей собственной работы по внедрению оценки риска потерь в мои бэктесты/форвард-тесты я взял уравнения Кокса и Миллера, а также Чамнесса, сделал несколько простых замен переменных и (IMO) полезный шаг интегрирования, и полученное уравнение помогает мне ранжировать-сортировать параметры торговой стратегии на основе риска потерь на нормализованной основе ROR. (аналогично 1 над RAROC)

 
1005phillip:

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

Если вы хотите понять вывод уравнений, я рекомендую вам прочитать следующую книгу: The Theory of Stochastic Processes by Cox and Miller

Они являются цитируемыми авторами уравнений риска разорения.

В ходе моей собственной работы по внедрению оценки риска потерь в мои бэктесты/форвард-тесты я взял уравнения Кокса и Миллера, а также Чамнесса, сделал несколько простых замен переменных и (IMO) полезный шаг интегрирования, и полученное уравнение помогает мне ранжировать-сортировать параметры торговой стратегии на основе риска потерь на нормализованной основе ROR. (аналогично 1 над RAROC)


неправильно рассматривать его так, как это делаю я (как распределение Гуассиана)?

Кажется, это тяжелая книга.

но все равно купил... постараюсь вникнуть и понять.

Спасибо!

 

Это не неправильно, просто это не даст вам тех результатов, которые, как вы думаете, вы вычисляете.

Например, нет ничего плохого в том, чтобы сказать "1+1=2"... поскольку математика, очевидно, верна.

Но вы будете неправы, если скажете: "1+1=2, это значит, что я могу рассчитывать на удвоение своего счета через 6 месяцев, потому что число из моей математики равно 2".

В любом случае, вы захотите направить свое внимание на производные, которые приводят к уравнению 91 на странице 61.

Причина обращения: