|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Шаг 3: ТестМы преступили к разработке торгового метода. У нас есть идея, и мы ее сформулировали для проведения тестирования. Тестирование состоит из основных шагов: · Проверить, что все формулы и правила вычисляются компьютером так, как должны исчисляться согласно Вашей торговой идеи. · Получить предварительное представление по доходам и риску. · Получить представление относительно устойчивости торгового метода.
На первом этапе нужно определить, исполняет ли система правильно вашу идею, то есть то, что Вы ей задали. Другими словами, генерирует ли она сигнал на покупку именно на том баре, на котором короткая скользящая средняя пересекает длинную скользящую среднюю снизу-вверх или исполняется любое другое условие, которое Вы запрограммировали. Даже после многолетнего опыта лучшие программисты и разработчики систем допускают ошибки в программировании торгового метода и по-прежнему должны выполнять крайне важный тест на соответствие идеи и программы. Что бы выяснить это, то после компьютерного тестирования осуществляется проверка торгового метода. Выборка данных должна быть достаточно большой, чтобы каждая формула и правило торговой модели были задействованы для генерации как минимум одного сигнала на покупку и продажу. Полученные торговые сигналы проверяются вручную визуально. Вы просто просматриваете график, и смотрите, туда ли компьютер ставит стрелки, где они, по Вашей идеи, и должны находиться. Если система функционирует правильно, первая стадия тестирования завершена. Если неправильно — проверти код системы, видно Вы в нем допустили ошибку. Подробный просмотр всех переменных, правил, ордеров на вход и выход, должен подтвердить, что сделки генерировались соответствующими формулами и правилами. Единственный способ достичь этого — сравнить вычисления, выполненные вручную, с вычислениями, выполненными компьютером. Достаточно Вам выборочно проверить несколько сделок. Следующий шаг — проверка протокола сделок. Протокол сделок — это отчет в табличной форме, содержащий дату, покупку или продажу, цену и итоговые значения прибыли или убытка по каждой закрытой сделке. Проверку делаем с целью подтверждения, что модель покупает в тот момент и по той цене, по которой она должна покупать, и продает в тот момент и по той цене, по которой должна продавать. Другими словами, необходимо удостовериться, что модель делает то, что должна делать в соответствии с Вашим замыслом. Эта более крупная проверка будет раскрывать любые остальные недоработки, которые могли быть пропущены при проверке вручную ограниченного числа сделок. После того как эти две важные проверки выполнены, переходите к следующему шагу — получить грубое представление о профиле прибыли и риска торгового метода до оптимизации. Торговый метод должен быть умеренно прибыльным на нескольких рынках и в течение нескольких различных временных периодов. Не обязательно каждый тест должен показывать выигрыш, однако, если каждый тест будет приносить проигрыш, от данного метода следует отказаться. Этот первый тест дает предварительное представление о прибыли и риске. Основное правило — риск, временное падение капитала, не должен превышать среднегодовую прибыль. В тесных рамках данного этапа было бы некорректным придавать большое значение показателю прибыльности. Этот этап тестирования не должен быть ни исчерпывающим, ни окончательным. Это скорее панорамный обзор эффективности системы на основе «разумных» значений параметров на нескольких рынках и нескольких временных периодах. Но сначала стоит выяснить, на каких временных диапазонах графиков мы будем работать. То есть определить рабочий тайм-фрейм для торговли. Минимальный элемент информации, с которой работает Торговая Система, это бар определенной продолжительности. И перед началом тестирования, стоит определиться, с какой продолжительностью баров мы будем работать. Это скорей психологическая задача, чем статистическая. Статистика, к примеру, может говорить об преимуществах недельных графиков, но мы с вами более предпочитаем пятиминутные графики и как бы ни была прибыльной торговля на недельных графиков мы все равно выберем пятиминутки. Такая природа человека и с этим нужно считаться. Поэтому перед выбором размера графиков задайте себе не праздный вопрос: «Какого размера тренды Вы хотите отлавливать?». Некоторые выберут тренды в 1,5-3-3,5%, другие в 15-20%, а найдутся и те, которые выберут тренды в 100-150% движения цены. Все постигается в бою, попробуйте выстоять 15% тренд и если через 3% прибыли вы не захотите ее взять, то значит вы более склонны к среднесрочной или даже долгосрочной торговли. Но если Вы после получения 3,5% прибыли однозначно закроите позицию, не взирая на дальнейший рост цены, то значит Вы краткосрочный трейдер. После того как вы определились с психологически комфортным для Вас размером тренда, который Вы хотите отлавливать, посмотрите на каком графике этот тренд вместится на экран монитора, так что бы он начинался в нижнем левом углу и заканчивался в верхнем правом. К примеру, если Вы выбрали 15% тренды, то вряд ли Вы их увидите на минутном графике. Столбиковый или свечной график просто превратятся в жирную линию, на которой трудно будет различить момент входа и момент выхода из рынка. Но зато на часовых или дневных графиках такой тренд будет легко распознать без слипания баров. Так же и 3% тренды тяжело увидеть на дневном графике, так как такой тренд поместится внутри одного бара, и мы так же не увидим цену покупки и цену продажи. Отсюда и получается, что для ловли коротких трендов в 3% лучше подойдут пяти минутные или пятнадцати минутные графики, а для ловли среднесрочных трендов 15% лучше подойдут часовые или дневные графики. А для трендов большей величины можно работать и на недельных графиках. После того как мы определились с тайм-фреймом нашего рабочего графика стоит перейти к тестированию торгового метода запрограммированного на языке программы для технического анализа графиков. Тестирование может включать сочетание и рынков, и временных периодов так называемый мультирыночныймультипериодный тест. Эта группа тестов может состоять из большого количества различных тестов, тестов разных рынков и многолетнего временного интервала, разбитого на отрезки. Мультирыночный имультипериодный тест — это распространение проверки эффективности на другие исторические данные. Тест выполняется на одном наборе отобранных параметров торгового метода, на множестве различных рынков и на разных исторических периодах для каждого рынка. Цель мультирыночного имультипериодного теста – получить предварительное представление об устойчивости метода и более широкий взгляд на его прибыльность. Тест торгового метода на множестве различных рынков предполагает, что торговый метод един для многих рынков (активов, эмитентов). Так же можно создавать торговые методы, предназначенные для работы на отдельных, конкретных рынках (активах, эмитентах). В этом случае необходимо выполнить мультипериодный тест, а мультирыночный можно игнорировать. Если торговый метод является моделью для любого рынка, то лучше всего выбрать 10 рынков, в достаточной степени отличных друг от друга. Выбор акций одного сектора экономики представляет собой слабую диверсификацию. Критерий, определяющий степени различия между выбираемыми рынками должен учитывать статистическую корреляцию. Вычисление коэффициента корреляции между ценами закрытия двух рынков будет измерять степень их сходства. Если коэффициент корреляции равен +1, эти рынки абсолютно коррелированы и должны быть исключены. Если коэффициент отрицательный, они имеют обратную корреляцию и их можно включить в корзину для тестирования. Коэффициент между 0 и +0.5 показывает, что эти рынки коррелируют слабо и могут быть протестированы. Другой вопрос, требующий решения, это тестировать ли данные единым куском или как серию более мелких кусков. Тестирование данных единым большим массивом с точки зрения статистики выглядит более предпочтительным. Однако этот подход может скрывать некоторую важную информацию, а именно, как разные периоды соотносятся друг с другом? Торговый метод, приносящий прибыль за 10-летний период, на первый взгляд выглядит превосходно. Но что, если такая прибыль была обеспечена одним-двумя очень хорошими годами, а другие восемь лет были убыточными? Следовательно, лучше тестировать весь временной период, разделив его на несколько меньших интервалов. Деление 10-летнего периода на пять 2-летних отрезков было бы разумно. Если данный торговый метод более долгосрочный и генерирует слишком мало сделок, чтобы обеспечить статистическую достоверность на 2-летнем периоде, более подходящими могут быть 3-х или 4-летние интервалы. После того как эти вопросы разрешены, вы имеете выбранную корзину рынков и исторических периодов. Тестовая корзина должна соответствовать предложенному групповому разбиению, и тестирование должно выполняться на исторических данных для каждого рынка, разбитых на 2-летние периоды. Такой исторический диапазон включает значимый набор различных типов рынка и рыночных условий. Мультипериодныйи мультирыночный тест использует одни и те же значения параметров торговой модели для каждого рынка и каждого временного периода. Данный тест несложен. Торговая модель тестируется на каждом из временных периодов и на каждом из рынков, входящих в корзину. Эффективность модели на каждом рынке и на каждом периоде вносится в таблицу и оценивается. Таким образом, мы произведем достаточное количество тестов для определения пригодности нашего торгового метода зарабатывать нам деньги. Чего следует ожидать от такого теста? На самом деле, немногого. Если каждый тест показывает прибыль, считайте, что найдена выигрышный торговый метод. Напротив, если каждый тест показывал убыток, очевидно, что данный метод просто бесполезен. Если же, как это часто бывает, результаты смешанные, то есть, есть несколько выигрышей и несколько убытков, можно переходить к этапу оптимизации. Переходите к следующему этапу разработки системы только в том случае, если большинство тестов показывают прибыль, и не показывают крупных убытков. Особая цель этого теста — получить общее представление о прибыли и риске. Нельзя сразу ожидать от торгового метода получения пиковой эффективности на многих рынках и временных периодах с помощью всего лишь одного набора «стандартных» параметров индикаторов. Тем не менее, можно ожидать, что устойчивая и работоспособная модель будет показывать на таком тесте, охватывающем диапазон рынков и исторических периодов, умеренно-хорошую эффективность. От торгового метода демонстрирующего низкую эффективность следует отказаться.
Но пока мы не перешли к следующему этапу – «оптимизация», давайте поподробней разберемся с этапом тестирования. Первый вопрос, который встанет, а какой глубины исторических данных мы должны тестировать? Это так называемый вопрос размера тестового окна. Определение: Тестовое окно — это размер той части исторических ценовых данных, на которых тестируется торговая система. При определении размера тестового окна должны выполняться два основных условия. Первое — это статистическая представительность; второе — релевантность (Релевантный — подходящий, пригодный) данной торговой системе к данному рынку. Тестовое окно должно быть достаточно большим, чтобы генерировать статистически достоверные результаты и включать достаточное количество данных, отражающих разные состояния рынка. То есть тестовое окно должно быть такого размера, что бы мы получили нужное, с точки зрения статистики, количество сделок, и на исторических данных было отражено несколько стадий рынка. Стадии тренда и стадии стагнации. Раньше в начале века на нашем рынке тренды умещались в полгода, и тест одного года исторических данных давал нам ответ по оценки нашего торгового метода. Но сейчас тренды растянулись до полутора лет, и стагнационные периоды тоже удлинились, и теперь минимальная глубина тестового окна уже составляет два года. Чем больше лет мы тестируем, тем лучше. Десять лет ценовых данных для одного рынка обеспечивают очень хороший тест. Пять лет — это минимум, позволяющий получить приемлемый объем торговой выборки и некоторый набор рыночных фаз. В отобранных данных в идеале должно быть хотя бы по одному бычьему, медвежьему и боковому рынку. Медвежий рынок в России был с октября 1997 года по октябрь 1998 года. Бычьими были 2003 и 2005 года. Боковой рынок можно найти в 2007 году. Далее надо говорить о статистических требованиях. Что значит статистически достоверные результаты? По существу, это означает выполнение двух условий. Должно быть достаточное количество сделок, чтобы результаты можно было считать статистически адекватными. Статистика говорит, что результат, полученный на 30 наблюдениях, в нашем случае это сделки, будет сохранятся в будущем. То есть при тестировании мы должны получить как минимум 30 сделок, а лучше больше. Тестовое окно также должно быть достаточно большим относительно числа и временной продолжительности переменных торговой системы. В каждом индикаторе есть период усреднения, это и есть переменная. Если это не так, то тестовые результаты будут статистически сомнительными, а значит не позволяющими использовать наш торговый метод при работе с живыми деньгами. Далее мы свое внимание должны обратить на Стабильность нашего торгового метода. Чем более устойчивый торговый метод по каждому из его показателей, тем он стабильнее. Как правило, чем выше стабильность метода на статистически достоверном тесте, тем выше его надежность в процессе торговли. В показателях торгового метода должно быть хорошее соотношение прибыльных и убыточных сделок. Сделки должны быть равномерно распределены по всему тестовому окну. Чем меньше стандартное отклонение величины и продолжительности выигрышей и убытков, тем лучше. Эти показатели торговой устойчивости системы являются важными показателями ее стабильности. Устойчивость — это важный фактор тестирования торговой модели. Устойчивая торговая модель является крепкой и долговечной. В наших целях можно определить устойчивую торговую модель тремя характеристиками: 1. Прибыль на широком диапазоне переменных. 2. Прибыль на широком диапазоне рынков. 3. Прибыль на широком диапазоне рыночных условий.
Другими словами, устойчивая модель будет продолжать показывать прибыльные результаты и при изменении рынков. Поскольку рынки меняются постоянно, чем модель устойчивей, тем лучше. Торговая модель, которая делает деньги только на одном из рыночных циклах - бычьем, медвежьем или боковом, скорее всего не будет отвечать интересам трейдера, намеренного торговать длительное время и захватить все рыночные циклы. Поэтому мы при выборе размера тестового окна так же должны учитывать тот факт, что бы в тестовое окно вошли как можно больше разных рыночных циклов. На российском рынке в начале века циклы умещались в полугодовой интервал. Но уже с 2003 года у рыночных циклов стало просматриваться расширение, с 2003 по 2006 года цикл роста занимал полтора года, а цикл стагнации растянулся до шести месяцев. С 2007 года стагнационный цикл уже растянулся до года. Если рассматривать западные рынки, и в том числе Американский, то видно, что продолжительность циклов на этих рынках еще более растянуто по времени. Если сделать предположение, что наш рынок со временем станет белее развитым, то и рыночные циклы будут стремиться носить более продолжительный характер. Поэтому так важно при тестировании провести тест торгового метода на большем размере тестового окна. Короткое тестовое окно может вмещать лишь один тип рынка, небольшой образец рыночных условий. При оптимизации торговый метод адаптируется к данному типу рынка и набору условий. Когда рынок начинает меняться в нечто такое, в отношение чего у метода нет опыта, нет никакой уверенности в том, что метод будет продолжать показывать ту же эффективность, что и в процессе тестирования. Следовательно, она потребует реоптимизации для адаптации к новым формирующимся условиям. И лишь из-за этого ограниченного «видения» через меньшее окно необходима более частая реоптимизация. В отличие от этого, более длительное тестовое окно чаще всего будет охватывать большее число типов рынка и больший набор рыночных условий. По определению, метод «знает из теста» большую область рыночных данных и адаптирован к этой области. С большим базовым опытом торговый метод будет чаще правильно реагировать на новые типы рынков и рыночных условий по мере их появления. Более короткое тестовое окно требует более частой реоптимизации метода, такой метод чуть менее стабилен и более чутко реагирует на текущую ценовую активность. Более длинное окно требует менее частой реоптимизации, метод немного более стабилен и слабее реагирует на текущую рыночную активность. Так же размер тестового окна оказывает интересное воздействие на срок годности торгового метода. Торговый метод, построенный на индикаторах, внутри которых есть период усреднения, проходит оптимизацию. И если мы не протестировали его на всех рыночных циклах, то с некоторой периодичностью нам придется делать реоптимизацию, для наладки торговой модели под текущие рыночные условия. Торговые методы, оптимизированные на более крупном тестовом окне, могут дольше использоваться между реоптимизациями, то есть, имеют более длительный срок годности. В отличие от этого, методы, протестированные на более коротких тестовых окнах, требуют более частой реоптимизации. Следовательно, эти методы имеют более короткий срок годности. Временной период между реоптимизациями (торговое окно), когда мы можем спать спокойно, составляет, как правило, некоторую долю от тестового окна. Как правило, размер торгового окна составляет от 1/8 до 1/4 тестового окна. Другими словами, если для оптимизации торгового метода использовалось 24-месячное тестовое окно, то данный метод можно уверенно использовать от 3 (24/8=3) до 6 (24/4=6) месяцев. Потом он потребует реоптимизацию. Так есть и другие факторы, говорящие о необходимости регулярной реоптимизации торгового метода. Это схоже с концепцией, утверждающей, что достоверность статистических прогнозов уменьшается по мере удаления от точки начала прогнозирования. То есть, чем дольше мы работаем по своему методу, тем больше вероятность того, что результаты, полученные при тестировании, будут изменяться. Они могут меняться как в отрицательную, так и в положительную сторону. Но сам факт того, что торговому методу уже не стоит доверять, заставляет нас провести реоптимизацию и тогда, когда результаты ухудшаются и тогда, когда они улучшаются, как бы нам этого и не хотелось. Но спокойствие и уверенность в получении ожидаемых результатов от трейдинга превыше всего. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |