Форум » Идеи для статей » Как оценить качество советника » Ответить

Как оценить качество советника

Stoletov: Здравствуйте коллеги! Сейчас расскажу вам, как можно оценить качество торговой системы (советника). Идея изложена в книге Ван Тарпа «Супертрейдер. как зарабатывать на бирже в любых условиях». По мнению автора качество системы определяется отношением M/S, где М - матожидание (средняя прибыль или убыток в расчете на 1 сделку), а S - среднеквадратичное отклонение (оно определяет изменчивость системы). Для понимания лучше рассмотреть это на примере. Я изложу это немного по другому и попроще, чем автор книги. Пусть вы совершили 3 сделки с такими результатами: 1: прибыль +50 пипсов, 2: убыток -30 пипсов, 3: прибыль +10 пипсов. Тогда М=(50-30+10)/3=10 пипсов, S= (√(50-10)^2+(-30-10)^2+(10-10)^2)/3=32.66 (здесь стоит квадратный корень из всего выражения) M/S=10/32.66=0.31 Качество системы автор (напомню - Ван Тарп) оценивает по отношению M/S так: 0,16-0,19 – низкое, но торговать можно 0,20-0,24 – среднее 0,25-0,29 – хорошее 0,30-0,50 – отличное 0,50-0,69 – превосходное >0.70 – священный Грааль Автор также отмечает, что рассчитывать эти величины (M, S и M/S) имеет смысл при количестве сделок N как минимум 30, чтобы результаты были достовернее. Он рекомендует постоянно их рассчитывать по мере накопления новых сделок, чтобы контролировать качество своей системы. При N=100-200 можно уже будет почти наверняка сделать вывод о качестве системы по приведенным выше цифрам. Если конечно еще останутся деньги на счете… Понятно, что с добавлением каждой новой сделки величины M, S и M/S будут меняться. Я сам сосчитал их для своей системы на исторических данных. Это мне было сделать легко, т.к. у меня свой тестер, специально написанный для моей системы, который выводит результаты сделок в массив. Так вот, сначала при малых N значения M/S иногда были даже отрицательными, но по мере увеличения N до 50-100 они все меньше меняются и стремятся к положительному числу. А если система убыточная, то получите отрицательное число, зато хоть будете знать, что такую систему применять не надо. Для иллюстрации и лучшего понимания прикладываю рисунок. Уж извините, что нарисовал от руки, да ведь мы здесь не научные статьи пишем.

Ответов - 25, стр: 1 2 All

Scriptong: Подход интересный. Причем достаточно легко сделать скрипт, определяющий качество торговли на основании сделок из истории счета (видимо, так и сделаю). Только вот вопрос к формуле расчета среднеквадратичного отклонения (СКО). Обычно СКО считается по формуле: Вы, вроде бы, именно ее и привели, но результат какой-то странный. По моим подсчетам СКО в данном случае должно быть равно 32.66. Кстати, виндовый калькулятор тоже склоняется к этой мысли. Если же использовать еще одну распространенную формулу расчета СКО (деление не на n, а на n-1; используется в Excel), то получаем 40. В итоге качество рассматриваемой системы будет 0,31 или 0.25, в зависимости от выбранной методики расчета СКО.

Stoletov: Спасибо вам за замечание. Действительно я ошибся в расчете и теперь исправил. Поднят интересный вопрос - на что делить при расчете СКО (среднеквадратичного отклонения) - на N или на N-1. Теория говорит, что правильнее на N-1. т.к. для конечной выборки оценка смещенная. Лично мне это не совсем понятно. Чтобы здесь не путаться, можно применить такую теорему: дисперсия D равна разности между матожидланием квадрата случайной величины X и квадратом ее матожидания, т.е. D= M(x^2) - (M(x))^2. Тогда СКО рассчитывается по такой формуле (суммирование по i от 1 до N): СКО = SQRT[М(x^2) - (M(x))^2] = SQRT[SUM(Xi^2)/n - (SUM Xi/n)^2)]

Scriptong: Stoletov пишет: дисперсия D равна разности между матожидланием квадрата случайной величины X и квадратом ее матожидания Для лучшего восприятия: и Еще пожалуйста укажите, где взята подобная формулировка расчета дисперсии. Кто или какой статпакет использует подобный подход?


Stoletov: На этот раз ошиблись вы, уважаемый Scriptong. В обоих формулах надо убрать внешние скобки, а перед второй суммой поставить 1/n. Обратите внимание, что при возведении в квадрат второй суммы 1/n тоже возводится в квадрат. Это известная формула из теории вероятностей. Например, она приводится в книге В.Е. Гмурман "Теория вероятностей и математическая статистика" (параграф 4 "Фрмула для вычисления дисперсии", стр 89). А в виде сумм я расписал ее сам. А как иначе распишешь? Ведь матожидание элементов выборки (или их квадратов) равно сумме всех ее элементов (квадратов), деленное на количество этих элементов. Кстати, если считать СКО по этой формуле, то получится такой же результат, как по обычной формуле с делением на n (а не на n-1).

Scriptong: Stoletov пишет: На этот раз ошиблись вы Ну да, во втором слагаемом ведь 1/n в квадрате. Поэтому один экземпляр этого множителя должен оставаться со вторым слагаемым, в то время, как общий множитель все равно выносится за скобки:

Scriptong: Stoletov пишет: она приводится в книге В.Е. Гмурман "Теория вероятностей и математическая статистика" Спасибо. Нашел здесь (стр. 89).

Stoletov: Ну вот теперь в формуле все правильно. К слову, по этой формуле и программа считает быстрее. Ведь на каждом шаге, т. е. при новом значении n, программа делает лишь несколько операций - к одной сумме добавляет Xi, к другой Xi^2, потом делит на новое n и т.д. А вот если считать по обычной формуле, то надо каждый раз для нового n вычислять всю сумму (из-за изменения матожидания М для каждого n надо находить все разности Xi-М и возводить их в квадрат). Если уж быть до конца честным, то надо признаться, что и при достаточно больших n величина M/S может заметно меняться. Это происходит, когда добавляются сделки с очень большой прибылью или убытком. Администраторам тоже спасибо за повышение звания до прапорщика.

Scriptong: Stoletov пишет: К слову, по этой формуле и программа считает быстрее. Ведь на каждом шаге, т. е. при новом значении n, программа делает лишь несколько операций - к одной сумме добавляет Xi, к другой Xi^2, потом делит на новое n и т.д. А вот если считать по обычной формуле, то надо каждый раз для нового n вычислять всю сумму (из-за изменения матожидания М для каждого n надо находить все разности Xi-М и возводить их в квадрат). Веское замечание. Stoletov пишет: Если уж быть до конца честным, то надо признаться, что и при достаточно больших n величина M/S может заметно меняться. Это происходит, когда добавляются сделки с очень большой прибылью или убытком. В этом нет ничего удивительного. Это происходит с любым нестационарным процессом (например, с нашей жизнью - если она с самого начала не задалась, то вовсе не значит что такою будет до своего конца ; ну и наоборот). Stoletov пишет: Администраторам тоже спасибо за повышение звания до прапорщика. Вины администрации здесь нет - форум повышает звания в зависимости от количества оставленных сообщений.

Stoletov: Еще одна идея: величину M/S можно последовательно оценивать например по 30 сделкам со смещением на 1 сделку. Например, у вас 100 сделок. Сначала оцените для сделок 1-30, затем для 2-31 и т.д. вплоть до 71-100. При этом результаты для сделок 1-30, 31-60 и 61-90 будут совсем некоррелированы. Если эти 3 результата будут сильно отличаться друг от друга и особенно если будут давать то плюс то минус, то торговая система сильно изменчивая и с ней надо быть осторожным.

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

Sergey: ссылка на сообщение Отправлено: 25.10.14 20:38 Scriptong пишет: Подход интересный. Причем достаточно легко сделать скрипт, определяющий качество торговли на основании сделок из истории счета (видимо, так и сделаю). Идея не плохая. Когда планируется реализация?

Scriptong: Sergey пишет: Идея не плохая. Когда планируется реализация? С одной стороны, она достаточно простая, если говорить просто об обработке истории счета. И можно было бы сделать в течение нескольких часов. Но понимая, что основная потребность такой программы заключается в обработке стейтментов (htm-файлы отчетов, генерируемые тестером или вкладкой "История счета"), приходим к выводу, что нужно сначала разработать парсер htm-файлов для получения данных. А это уже не такая простая задача. На нее нужно намного больше времени. Поэтому конкретный ответ дать не могу.

Genry: Scriptong пишет: Но понимая, что основная потребность такой программы заключается в обработке стейтментов (htm-файлы отчетов, генерируемые тестером или вкладкой "История счета"), приходим к выводу, что нужно сначала разработать парсер htm-файлов для получения данных. А это уже не такая простая задача. На нее нужно намного больше времени. Игорь, а может сделать промежуточный csv- файл и с ним работать? я давно использую Ваш скрипт History_to_file который делает выжимку, там и ЕА лучше описаны чем в стейте - есть магик.

Scriptong: Genry пишет: Игорь, а может сделать промежуточный csv- файл и с ним работать? Если речь о том, чтобы пользователь сам это делал, то это какая-то странная автоматизация. Если же имеется в виду, что скрипт должен делать промежуточный файл, то это лишнее телодвижение в программе. Достаточно просто напрямую читать файл отчета. Sergey пишет: Когда планируется реализация? Приступил к работе. Думаю, на следующей неделе будет новый инструмент.

Sergey: Scriptong пишет: Приступил к работе. Думаю, на следующей неделе будет новый инструмент. И это радует! Удачи!

Scriptong: Инструмент разработан.

Stoletov: Недавно узнал, что для оценки риска обычно используется обратная величина к коэффициенту ВанТарпа: CV=S/М (где М и S - матожидание и среднеквадратичное отклонение величин прибыли/убытка), которая называется коэффициентом вариации. Но сам я уже настолько привык к коэффициенту Ван Тарпа М/S, что уже не хочу перестраиваться. Это все равно, что привык к метрам, а мне навязывают футы. По Ван Тарпу чем больше величина М/S, тем прибыльнее стратегия. Но вот пример, взятый из одной умной книги, который вроде как доказывает обратное. Рассматриваются два проекта, которые дают такие доходности по годам в процентах: год | проект 1 | проект 2 1-й | 20 | 40 2-й | 15 | 24 3-й | 18 | 30 4-й | 23 | 50 Для проекта 1 матожидание М=(20+15+18+23)/4=19% S=КОРЕНЬ((20-19)^2+(15-19)^2+(18-19)^2+(23-19)^2) / 3)=3.4% М/S= 5,59 Для проекта 2 матожидание М=(40+24+30+50)/4=36% S=КОРЕНЬ((40-36)^2+(24-36)^2+(30-36)^2+(50-36)^2) / 3)=11.4% М/S= 3,16 Получается, что по критерию Ван Тарпа, проект 1 выгоднее, т.к отношение М/S у него больше. Однако из данных видно, что минимальная доходность проекта 2 больше максимальной доходности проекта 1 (24>23). Так что проект 2 явно выгоднее. Этот парадокс по моему решается просто: на практике не могут быть одни только прибыльные сделки со знаком "+". Убыточные сделки со знаком "-" все расставят на свои места и отношения М/S станут более реалистичными - меньше 1. Больше 1 они в реальной жизни быть и не могут. Даже Священный Грааль по Ван Тарпу начинается при М/S>0,7. Так что критерий прибыльности стратегии Ван Тарпа все-таки вещь очень полезная. Обратите внимание, что при вычислении S сумма под корнем делится на 3, а не на 4. Это потому, что при вычислении выборочной дисперсии для небольшого количества данных надо делить на N-1, а не на N (на N делят при вычислении генеральной дисперсии для всей генеральной совокупности). Вот такой экскурс в теорию вероятностей.

Genry: Stoletov пишет: Вот такой экскурс в теорию вероятностей.

Scriptong: Stoletov пишет: Но вот пример, взятый из одной умной книги, который вроде как доказывает обратное. Тут можно и засомневаться (в умности книги) Ведь для статистики правильнее брать не величины доходности, а результаты каждой из сделок, т. к. доходность сама по себе является агрегатной. Это все равно что усреднять среднее значение...

Stoletov: Scriptong пишет: Тут можно и засомневаться (в умности книги) Ведь для статистики правильнее брать не величины доходности, а результаты каждой из сделок То, что эта книга умная, сомнения нет. Даже пожалуй слишком умная, лично я в ней не все понял. Это вузовский учебник под редакцией В.А. Половникова "Финансовая математика". В данном месте автор рассматривал не биржевую торговлю, а доходность какого-нибудь проекта. Например, купил двух скунсов, лучше разного пола. Через год у них появилось потомство, от которого часть продал на мясо или шкурки и получил доход. На следующий год поголовье еще приумножилось и снова получил доход. Поэтому все доходности из примера с плюсом. Вот если случится эпидемия и из племени много передохнет, то в этот год будет минус. Но как правило, в серьезных проектах каждый год прибыльный.

Scriptong: Stoletov пишет: Но как правило, в серьезных проектах каждый год прибыльный. К сожалению, это только в теории. О развитии собственного бизнеса в реальном секторе экономике знаю не по наслышке (занимался в 2004 - 2007 гг.). Так вот, именно первые год-два, как правило, убыточные. Это связано с набором клиентской базы, становлением бизнес-отношений как внутри предприятия, так и за его пределами, борьба с конкурентами, нишу которых начинаешь занимать, и т. д. Не может проект, стартовавший с нуля, сразу же генерировать прибыль. Таким образом, открывая свой бизнес, нужно рассчитывать на то, что после проведения капитальных вложений еще какое-то время потребуется осуществлять вложения на поддержку этого бизнеса.

Stoletov: Scriptong пишет: К сожалению, это только в теории. О развитии собственного бизнеса в реальном секторе экономике знаю не по наслышке (занимался в 2004 - 2007 гг.). Не потому ли, Игорь, закончили заниматься бизнесом в 2007, что начали торговать на форексе в 2006? Согласен, на начальной стадии бизнеса много проблем. Все-таки, по мне так любой бизнес, даже не особо прибыльный, но свой, лучше биржевой торговли. Один знакомый, с которым я учился на МВА, директор фирмы по производству стальных канатов, стропов и разных металлоконструкций, рассказывает, что клиентура и заказы у него есть. Проблемы с оплатой. Многие из его клиентов - госпредприятия, которые сильно задерживают оплату за отгруженную продукцию. Как следствие, кассовые разрывы и угроза банкротства. Сколько я с ним общался, почти всегда его дела шли туго. К примеру провальным для него был 2013 год, когда до санкций и падения рубля было еще далеко. Однажды я рассказал ему, что занимаюсь форексом (это было в 2014 году). Вспомнили преподавателя , который нам тогда в 2009 году прочитал пару лекций по форексу. Ему было лет 60. Как-то этот преп рассказал, что в одной сделке на форексе заработал 80 тыс. рублей. Тогда я вообще плохо понимал предмет, торговый терминал в глаза не видел. Интересно, какой у препа был депозит. Если предположить, что он в этой сделке сделал 100 п., а курс доллара тогда был в районе 30 рублей, то объем сделки должен быть больше 2-х лотов! Так вот, упомянутый директор фирмы и говорит "ну преподаватели понятно получают мало, вот он и подрабатывает на форексе". Как я уже сказал, бизнес у директора шел туго, но он и не помышлял поправить свои дела с помощью форекса. Тогда на лекциях по форексу преподавателю мало кто задавал вопросы, ведь никто торговлей валютами не занимался. Видно моих вопросов было больше всех, и преп это заметил. Хитро прищурившись, говорит "Что, заинтересовались? Ну давай вперед, типа того, зрение подсадите точно". На самом деле я и не думал тогда этим заниматься... Единственный человек из нашей группы, который играл на форексе, был чел лет 40. У него был счет в 1000 $. Он имел троих детей, к тому же был безработный. Но занимался он в группе не долго, ведь за учебу надо платить, а с каких шишей, если нет работы. Однажды он сказал, что много потерял денег из-за того, что случайно не на то нажал (видимо при открытии ордера было по умолчанию задано слишком много лотов, а он этого не заметил, и пошло против позиции; на что еще такое можно нажать, чтобы много потерять? - это мое предположение). После такого рассказа вряд ли у кого появится желание торговать на форексе. Примерно через 2 года, т.е .в 2011, мой шеф рассказал про одну знакомую даму-трейдера. По его словам, она в месяц делала в среднем 3000 $. При этом торговала внутри дня, сидела за монитором по 6 часов в день и счет у нее был небольшой. По образованию она была химик. Шеф человек серьезный и ему можно верить. Но и на этот раз я форексом не заинтересовался. Видите, какой я трудный на подъем! И только через 3 года, в 2014, я впервые скачал и запустил терминал. В этот момент у меня по работе было не сильно напряженно, думал, чем бы заняться, и вот... Вот тогда спросил у шефа, можно ли пообщаться с той мадам, может научит как строгать по 3000 баков в месяц. Оказалось, что трейдерша уже уехала, видно там за бугром нашла применение своим способностям (с картинками лучше воспринимается). Вот он готовый рецепт, как сколотить на форексе капитал: торговать внутри дня по 6 часов, при этом не обязательно быть экономистом и иметь большой счет. Если кто хочет, то тоже может написать, как пришел к мысли заняться валютной торговлей. А можно открыть тему где-нибудь на этом сайте, например, в "свободном общении".

Scriptong: Stoletov пишет: Не потому ли, Игорь, закончили заниматься бизнесом в 2007, что начали торговать на форексе в 2006? Я не перестал заниматься бизнесом по сей день. Просто перешел из реального сектора экономики в "виртуальный" - в IT-сектор Торговля же на Форекс мне еще не принесла прибыли. Stoletov пишет: Один знакомый, с которым я учился на МВА... Если кто хочет, то тоже может написать, как пришел к мысли заняться валютной торговлей. А можно открыть тему где-нибудь на этом сайте, например, в "свободном общении". Интересный рассказ. Спасибо. Подходить к Форексу нужно именно так- долго обдумывая и взвешивая все "за" и "против". Многие, к сожалению, бросаются в него, как в омут. И только после встревания в серьезные финансовые проблемы начинают разбираться, в чем же тут дело. А дело, оказывается, непростое и слишком рискованное.

Stoletov: Scriptong пишет: Торговля же на Форекс мне еще не принесла прибыли. Тут вы Игорь не одиноки. Не думаю, что кто-то из наших коллег стабильно выигрывает в эту игру. Да не каждый признается, что торгует не очень успешно. У меня вначале был небольшой счет 10 тыс. рублей. Через год осталась тысяча. Это я считаю, еще долго продержался благодаря тому, что все ставки были 0,01 лота, торговал не часто - в среднем 1-2 сделки в день, и ставил стопы (а когда несколько раз не ограничил потери , то потерял за эти несколько сделок 1/3 от всего депозита) . Если бы не те 2 успешных трейдера, о которых я писал до этого (преп и тетка), то и не начинал бы. Но если кто-то сумел, то почему не смогу я, верно? Хотя эта логика действует и не всегда. И еще я понял одну штуку: чтобы выиграть в эту игру, мало соблюдать дисциплину, иметь хорошую прибыльную систему и следовать ей. Надо иметь к тому определенный склад характера, такой, чтобы спокойно относится к потерям и не забирать прибыль раньше времени. Один владелец крупной корпорации потерял купюру 100 баков и очень переживал. Его компаньон сказал ему "подумай, каждую секунду акции твоей компании колеблются плюс-минус на 100 долларов". Вот и я бывает чувствую нечто подобное, только масштабы не такие ... Вначале я думал, что вот научусь торговать на форексе и в случае потери работы будет чем заработать на хлеб, даже с маслом. Правда теперь оптимизма поубавилось, но есть еще порох в пороховницах и не все резервы исчерпаны, так что сдаваться рано. А.Элдер, бывший врач-психиатр, сравнивает поведение трейдеров с заседаниями общества анонимных алкоголиков. Если заменить слово "алкоголик" на "проигравший", то в остальном все совпадает. Когда Элдер садится за монитор, то говорит себе - я проигравший. Поначалу я думал - бред какой-то. Потом проникся этой идеей и сам стараюсь себя настраивать подобным образом: типа я всегда могу проиграть и не буду держаться за проигрышную сделку. В августе прошлого года, когда начали говорить о сирийских беженцах в Европу, я решил - евро пипец, ну и нехай идет ко дну, а я к этому добавлю, и на следующий день продал евро против доллара. Почти сразу пошло против позиции, но я не верил, что это надолго и не поставил стоп. Вышел через 3 дня с потерей 250 пунктов. Благо при объеме 0,01 лота убыток составил не так много - 1600 рублей. После этого придерживаюсь стратегии "я проигравший". Да-а, сирийцы не смогли поколебать европейский союз. Вот если бы к ним присоединились еще китайцы, то стране фюреров и ежи с ними был бы точно капут.

Scriptong: Stoletov пишет: Вначале я думал, что вот научусь торговать на форексе и в случае потери работы будет чем заработать на хлеб, даже с маслом. Да, у меня, тоже в определенный момент была такая мысль. Но потом понял, что стабильно (месяц к месяцу) зарабатывать здесь невозможно. Прибыль возможно получить только по итогам достаточно продолжительного времени (год и более). А потому рассматривать Форекс как основной источник дохода невозможно. Stoletov пишет: Вот если бы к ним присоединились еще китайцы, то стране фюреров и ежи с ними был бы точно капут. Не, китайцы не будут пилить сук, на котором сидят



полная версия страницы