Системы стратегического прогнозирования

 

Цель создания ветки

  • Решил проверить одну идею «стратегического» маЧтаба торгующую на днях и выше. В некотором смысле – это действительно «стратегическое прогнозирование», и требует немного другого подхода, как математического, так и психологического. Можно не торопясь (как настоящие стратеги) это обсудить :о).
  • Второй целью является тестирование обнаружения новых трендов. У моего «клона» базовой системы нет понятия о «флете». Ведь всегда же можно найти такие точки входа/выхода, для которых не будет как такового флета. Хороший пример – ЗЗ с нужными параметрами. Но ЗЗ – мертвый индикатор, он показывает жадность своего хозяина (ИМХО) в прошлом (т.е. сколько бы хозяин заработал, если бы знал) и ничего толком не говорит о будущем.
  • Так же хотел обсудить (если будет интерес) использование «фундамента» и возможно, новостей для идентификации моделей (подходы/принципы), так же поиска рабочих корреляций с прогнозами котировок. Внешние данные, думаю, необходимы, без них нет дополнительной уверенности, ведь котировочный процесс (мое ИМХО) не содержит всю необходимую информацию. Кое-какие мысли есть, попробую подготовить материал и выложить в этой ветке. С удовольствием послушаю тех, кто уже думал над этим.
  • Попутно, появились идеи из области управления активами, а точнее решение задач оптимизации выбора лота с учетом вероятностей тренда по котировкам. И тут все не просто.

Основа системы

Нашел одну хитрую особенность поведения приращений на больших периодах (фактически масштабах), вот ее попробую использовать. Другими словами – этакий анализ уклонений траекторий.

Ограничения

  • Сложность заключается в совершенно не автоматизированном процессе. Используются несколько систем, данные готовятся в «ручную» сначала в MT, потом передаются в MathCAD и далее еще в несколько систем. Автоматизировать быстро и за разумные деньги не представляется возможным. Да и саму обработку данных не получается автоматизировать. Подумывал организовать себя с помощью микро-счета, что бы быть аккуратнее и внимательнее, но даже микро депозитом рисковать не стал (принцип такой, надежность должна быть), лучше его потратить на пиво :о). Система еще очень сырая.
  • Идентификация модели для каждой котировки занимает минимум 30 минут, а всего для контроля взял 14. Адаптировать параметры модели котировок каждый день не представляется возможным. В связи с этим, корректировать буду в выходные, а торговые недели пройдут на неизменных моделях.
  • Основной временной ряд (High+Low)/2
  • Как писал выше, тестируется вход/выход, Пока не готовлю прогнозный ряд (High+Low)/2. Надеюсь, хоть как то автоматизирую эту функцию получения графиков на следующей неделе.
  • Пока нет, но добавлю рекомендации по ценовому уровню выше/ниже которого, желательно заключить сделку, если вдруг наступит пора.

Торговля

  • Все чего буду тут рекомендовать, - буду и торговать на демо счете альпари. Если нужно, выложу пароль. Не думаю, что это будет интересно и вряд ли будет взрывное увеличение депозита, да пока это не самое главное. Контроль качества сейчас будет предъявляться по большей части к другим характеристикам.
  • Если прогнозы совпали, буду рад услышать, как подтверждение «возможной возможности» в работоспособности.

Напоминание (на всякий случай)

Уверен, что у коллег хватит мудрости не использовать эти прогнозы для реальной торговли. Если автор не стал тестировать на микросчете, значит «торопиться» не нужно.

 

Заменил таблицу. Вероятность смены тренда на дату прогноза.

  • 0% - вероятность того, что сумма приращений на прогнозном горизонте сменит тенденцию незначительна, она не строго ноль, но ей можно пренебречь
  • 50-60% тренд вот вот начнется.
  • 100% новый тренд (по отношению к старому), точно начался и эта цифра говорит практически уже о пропущенном начале смены тенденции. Принимать решение о смене тренда в этот момент уже поздно (в рамках горизонта 5-7 торговых дней), но опять же не факт, потребуются новые данные.

Дата AUDJPY AUDUSD CHFJPY EURCHF EURGBP EURJPY EURUSD GBPCHF GBPJPY GBPUSD NZDUSD USDCAD USDCHF USDJPY
21.0200000450320000515
22.0200000150180087003
23.02
24.02
25.02













Теоретически, система должна обучаться, будет интересно посмотреть, сильно врет или нет.

PS: напоминаю, не использовать для торговли. К тому же первые несколько недель буду отлаживаться.

 
Farnsworth:

Другими словами – этакий анализ уклонений траекторий.

я этим тоже занимаюсь, автоматизировать пытаюсь с помощью НС, но в качестве прогноза ищу не конкретное предсказание цены в будущем, а всего лишь в какой 1/3 части бара будет цена на разных ТФ

с удовольствием понаблюдаю за прогнозами, когда будет первый прогноз?

 
IgorM:

я этим тоже занимаюсь, автоматизировать пытаюсь с помощью НС, но в качестве прогноза ищу не конкретное предсказание цены в будущем, а всего лишь в какой 1/3 части бара будет цена на разных ТФ

пути разные, цель одна :о)

с удовольствием понаблюдаю за прогнозами, когда будет первый прогноз?

до завтра досчитаю идентификацию и окончательно заполню таблицу. Если будет сигнал, то в поле "тип сделки", появится чего надо делать. Я поэтому и взял 14 котировок, поскольку длительность трендов разная, какое то время придется ждать, пока из 5 сделок на понедельник ничего не предвидится.

 
Farnsworth:

EURJPY45SELLЖдать максимум 1 день. Потом контроль и сделка

напишите конкретнее свои прогнозы, например после 2.00 мск 21.02.2011 или в течении 21.02.2011 иначе будут разночтения

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

 
Farnsworth:

.....

Нашел одну хитрую особенность поведения приращений на больших периодах (фактически масштабах) .....

А в чем разница между разными переменными время(таймфреймами)?
 
Ты меня можешь сразу послать, но мне стало интересно - может, что и добавлю...
 
IgorM:

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

Верно, забыл самое важное. При определении ВВНТ использую байесовские вероятностные сети. В частности, вот такую штуку BayesiaLab (http://www.bayesia.com/en/products/index.php), спешу, пока демо lic не закончилась. Ее же думаю, использовать для идентификации моделей с учетом "фундамента" и новостей, а так же поиска кое-каких закономерностей (но тут не все просто). Думал, что получится выстроить понятный для торговли классификатор, но пока не вышло. Понятный в том смысле, что нормирование идет от 0 до 1, и например, значение 0.9 говорит о том, что наступление новой тенденции максимально вероятно и пора принимать решение. Как то вот так кратко и не объяснишь, но пока не получилось и дело тут не простом нормировании.

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

  • 0% - вероятность того, что сумма приращений на прогнозном горизонте сменит тенденцию незначительна, она не строго ноль, но ей можно пренебречь
  • 50-60% тренд вот вот начнется.
  • 100% новый тренд (по отношению к старому), точно начался и эта цифра говорит практически уже о пропущенном начале смены тенденции. Принимать решение о смене тренда в этот момент уже поздно (в рамках горизонта 5-7 торговых дней), но опять же не факт, потребуются новые данные.

напишите конкретнее свои прогнозы, например после 2.00 мск 21.02.2011 или в течении 21.02.2011 иначе будут разночтения

Все прогнозы выполняются для (H+L)/2 и их следует интерпретировать относительно начала и завершения формальных баров (свечей). Например, предполагаем, что 21.02 пойдет падение для EURJPY:

Т.е., прогноз "вступит в силу" с начала торгового понедельника. И тут важно правильно войти, т.е. еще нужно прогнозное значение (H+L)/2 (пока не готово), и войти нужно выше этого уровня, иначе, будут высокие просадки.

"после 2.00 мск 21.02.2011" - есть одна техническая заковыка. Переход между пятницей и понедельником понятен, за выходные я успеваю сделать прогноз и как бы готов к понедельнику. Но в будние дни все сложнее. Формальный торговый день завершиться по МСК ночью, и как то не очень хочется сидеть и ждать его завершения. Решил, что жду 23:00 часов по МСК, запрашиваю данные, прогнозирую и получаю результат. Но крайнее значение в потоке будет до конца не сформировавшемся, надеюсь, это не сильно повлияет.

В связи с этим, есть технический вопрос. Вот мой код, выбирающий данные по 14 котировкам:

#property copyright ""
#property link      ""

extern int window=290;

int start()
{
   int i, n;
   int Handle;

   string FileName="quatation.csv";

   Handle=FileOpen(FileName, FILE_CSV|FILE_WRITE," ");
   
   if(Handle==-1)
   {
      Alert("");
      return;
   }

   FileWrite(Handle, "AUDJPY", "AUDUSD", "CHFJPY", "EURCHF", "EURGBP", "EURJPY"
"EURUSD", "GBPCHF","GBPJPY", "GBPUSD", "NZDUSD", "USDCAD", "USDCHF", "USDJPY");
   
      
   for(n=0; n<=window-1; n++)
   {
      double AUDJPY=(iHigh("AUDJPY", PERIOD_D1, n)+iLow("AUDJPY", PERIOD_D1, n))/2.0;
      double AUDUSD=(iHigh("AUDUSD", PERIOD_D1, n)+iLow("AUDUSD", PERIOD_D1, n))/2.0;
      double CHFJPY=(iHigh("CHFJPY", PERIOD_D1, n)+iLow("CHFJPY", PERIOD_D1, n))/2.0;
      double EURCHF=(iHigh("EURCHF", PERIOD_D1, n)+iLow("EURCHF", PERIOD_D1, n))/2.0;
      double EURGBP=(iHigh("EURGBP", PERIOD_D1, n)+iLow("EURGBP", PERIOD_D1, n))/2.0;
      double EURJPY=(iHigh("EURJPY", PERIOD_D1, n)+iLow("EURJPY", PERIOD_D1, n))/2.0;
      double EURUSD=(iHigh("EURUSD", PERIOD_D1, n)+iLow("EURUSD", PERIOD_D1, n))/2.0;
      double GBPCHF=(iHigh("GBPCHF", PERIOD_D1, n)+iLow("GBPCHF", PERIOD_D1, n))/2.0;
      double GBPJPY=(iHigh("GBPJPY", PERIOD_D1, n)+iLow("GBPJPY", PERIOD_D1, n))/2.0;
      double GBPUSD=(iHigh("GBPUSD", PERIOD_D1, n)+iLow("GBPUSD", PERIOD_D1, n))/2.0;
      double NZDUSD=(iHigh("NZDUSD", PERIOD_D1, n)+iLow("NZDUSD", PERIOD_D1, n))/2.0;
      double USDCAD=(iHigh("USDCAD", PERIOD_D1, n)+iLow("USDCAD", PERIOD_D1, n))/2.0;
      double USDCHF=(iHigh("USDCHF", PERIOD_D1, n)+iLow("USDCHF", PERIOD_D1, n))/2.0;
      double USDJPY=(iHigh("USDJPY", PERIOD_D1, n)+iLow("USDJPY", PERIOD_D1, n))/2.0;      
      
      FileWrite(Handle, AUDJPY, AUDUSD, CHFJPY, EURCHF, EURGBP, EURJPY, EURUSD, GBPCHF,
GBPJPY, GBPUSD, NZDUSD, USDCAD, USDCHF, USDJPY);
   }

   FileClose(Handle);
   
   return(0);
}

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

 
NTH:

А в чем разница между разными переменными время(таймфреймами)?


Я наверное мудрено выразился. Имел в виду следующее. Есть некий масштаб, на котором могут проявлять себя какие то особые характеристики временного ряда. Эти характеристики относятся к особенностям (свойствам) траекторий, а точнее, их уклонениям. Т.е. поведение неких статистик на фиксированных временных окнах. Если брать, например, длительность 17 минут (это в качестве примера), то на этом масштабе ничего нет, очень трудно, практически невозможно предсказать, куда уклониться траектория через 17 минут. А вот на больших масштабах - такая возможность есть, ну ... вроде есть. Надо же проверить :о)

Я это имел в виду.

 
Svinozavr:
Ты меня можешь сразу послать, но мне стало интересно - может, что и добавлю...
тогда опять предлагаю мир, но на всякий случай заряжу кольт, ... не, лучше заряжу и смажу три кольта и спрячу под подушку, а что не влезет распихаю по укромным местам.
 
Да ладно вам! Нам интереснее посмотреть, как вы о деле спорите, чем когда ругаетесь. Потерпите ради дела.
Причина обращения: