как я делал: имеем 2 массива prognoz[n], real[];
double count=0.0;
for (i=0;i<n;i++)
{
if ((prognoz[i]>prognoz[i+1] && real[i]>real[i+1]) || (prognoz[i]<prognoz[i+1] && real[i]<real[i+1])) count++;
if ((prognoz[i]<prognoz[i+1] && real[i]>real[i+1]) || (prognoz[i]>prognoz[i+1] && real[i]<real[i+1])) count--;
}
count=count/n;
Опыта немного, но похоже на то что Вы предложили. Мне кажется этот метод сгодится только для гладких функций.
Да, я тоже так пробовал - сравнивал не значения, а только знак движения в течение бара. Поэтому собственно и был вопрос, так как если прогноз немного опережает движение фактической цены, то это не так плохо (хотя бы для ручной торговли). Хотя в случае такого опережения и метод суммирования разниц и метод сравнения знаков движения будут давать плохие результаты.
Вот еще одна иллюстрация "хорошего" и "плохого" прогноза.
Еще один вариант - для каждой точки прогноза считать минимальное расстояние до ближайшего факта на той же цене с одинаковым направлением вектора цены. То есть, измерять не ошибку по вертикали (EY), а ошибку по горизонтали (EX) с учетом определенных ограничений во времени. Это можно реализовать, например, вот так:
а) Если есть на той же цене в ближайшем будущем T отрезок с похожим вектором направления цены, то прибавить оценку 1/EX
б) Если такой отрезок есть в ближайшем прошлом -tau (меньше T), то прибавить оценку K*1/EX (здесь K - это некоторый коэффициент, показывающий, что опоздать с прогнозом в силу инерционности иногда не так страшно. Его можно принять, например, за 0.1)
в) если таких баров ни в ближайшем прошлом, ни в ближайшем будущем нет, то ничего не прибавлять.
Интерпретация - чем оценка выше, тем выше полезность прогноза (по крайней мере для ручной торговли).
На вскидку думается, что прогнозировать изменение профита и изменение цены - не одно и тоже. Имел в виду в предыдущем посте именно прогнозирование цены в любом понимании.
Когда задумывал над тему поста, то вспоминал два факта:
1. Идеально было бы предсказывать зигзаг, чтобы покупать и продавать "точно-во-время"
2. Мой приятель просит иногда показать ему прогнозирующие графики, и при этом проговаривает как бы про себя "тааак, она сейчас должно пойти-пойти вниз. ждем-с пока" и т.п. Короче, ему нужно знать будущие большие направления движения с точностью плюс-минус две-три недели и этого достаточно.
Отсюда следует, что:
а) для автоматической торговли идеален точные прогноз
б) для ручной (только для терпеливого и свято верящего трейдера) - можно сделать его не очень точным.
А если говорить о заработке, то цену можно вообще не прогнозировать. Достаточно научится спрогнозировать вот такой вот индикатор (см. в аттаче), который показывает только два состояния "buy" и "not buy" (ну и для sell/not sell, конечно же) в зависимости от параметров "терпение (бар)", "страх (пункты)" и "жадность(пункты)")) Только вот как бы это сделать....
Для прогноза нужна модель рынка. У вас есть модель?
С натяжкой можно сказать, что эксперт является моделью. Строго говоря, это, конечно, не так - прогнозируется не рынок, а прибыль. Но это вроде и нужно.))) Логично прогнозировать то, чего хочешь получить.
Я пришел к экспертам с динамической оптимизацией, когда с определенной периодичностью производится бэк и форвард тестирование/оптимизация за нектр. предыдущий период. Что-то похожее уже было с использованием встроенного тестера МТ. У меня тестер свой, в виде индикатора без наворотов под конкретные параметры. Быстрее и в реализации для меня проще.
Впрочем, идея не нова.
Так что я м.б. и не совсем мимо темы отпостил.
Ответ без иронии: вполне.
По крайней мере арбитраж позволяет это делать. Кое-какие элементы прогноза тут тоже присутствуют, основанные на матстатистике,
но уже по портфелю в целом, а не по каждому инструменту в отдельности. Так оно проще и надёжнее выходит в итоге. ИМХО конечно.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
При разработке алгоритма для предсказания движения курса нужно проверить точность получившегося прогноза.
Для этого надо сравнить получившуюся кривую с фактическим курсом. Например, для этого можно использовать сумму квадратов разностей между прогнозом и фактом:
Хотя этот метод универсален, но с другой стороны с точки зрения торговли гораздо полезнее было бы знать основные движения цены (иногда даже скорее направления), а также примерные оценки движения курсов (например, чтобы поставить SL). Если сделать допущение на примерность оценки и не пытаться ловить прибыль до цента, то бОльшую пользу принесет примерная оценка движения цены. Например, в качестве такой оценки можно было бы сравнивать значения минимумов и максимумов зигзага.
При этом можно было бы "премировать" такую функцию за упреждающий прогноз и за точность определения уровня разворота, и "штрафовать" за "опоздание" в предсказании.
Вопрос: у кого есть опыт использования таких функций сравнений, отличающихся от суммы квадратов (или модулей) отклонений?