Комментарии пользователя ARANEA

Мои комментарии:в блогах в форуме
Ответы мне:в блогах в форуме
Все комментарии: к моим постам
Beach Bunny, 

Да, если смотреть грубо, в основе у меня есть широкий перебор гипотез. Но это не “тупой brute force”.

Тупой brute force — это когда все посчитали, получили огромную таблицу, отсортировали по PnL и потом не понимаем, что с этим делать.

Я трейдер с 15-летним стажем, и у меня задача другая: заранее задать, что именно я хочу получить: минимальную просадку, Recovery Factor, Profit Factor, ограничение по серии убытков, достаточное количество сделок, конкретный тип PM.

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

Сейчас мы обсуждаем простой пример с базовыми индикаторами. А если перейти к многоуровневым последовательным системам, там параметры живут внутри самих логических веток:

если A(x1) прошло -> проверяем B(x2, x3)
если B не прошло -> идем в C(x4)
если C(x4) прошло -> включаем PM(y1, y2, y3)

То есть оптимизируется не просто общий набор параметров θ, а сама структура:

ветка + условие + параметры условия + PM + метрика

И тут как раз скорость вычислений играет большую роль. Она позволяет считать не один общий “черный ящик”, а последовательно разбирать конкретные ветки: где фильтр дает эффект, где ломается метрика, какой PM выживает, какая ветка вообще имеет смысл.

В таких задачах Байес и Монте-Карло могут дать кандидатов или локальные хорошие точки, но они не дают полной карты логики: какая ветка работает, где ломается, какой фильтр реально нужен, какой PM выживает.

Поэтому сильная сторона моего подхода не в том, что “просто все перебрать”, а в управляемом переборе: метрики, ограничения, pruning и анализ групп результатов по ходу расчета.

Например, без Байеса и без Монте-Карло за счет правил отбора и последовательной логики расчета пространство с 5 млрд вариантов можно сократить до 1.7 млрд. То есть речь не о слепом переборе, а о контролируемом сужении пространства гипотез.

avatar
  • Сегодня в 18:15
  • Еще
ARANEA, 

Монте-Карло тоже нормальный инструмент, я с этим не спорю. Но “просканировать облако параметров” и “получить рабочий пул стратегий” — это разные задачи.

Если задача только прикинуть диапазоны числовых параметров, Монте-Карло или Байес могут быть полезны. Но у меня пространство не только числовое:

актив × таймфрейм × правило × фильтр × индикатор × PM × метрика

Здесь много дискретных решений: какой PM, какое правило EMA, нужен ли RSI, какой фильтр, long или short, какой актив. Случайная выборка может быстро дать кандидатов, но она не всегда дает понятную карту: какой класс правил живой, какой PM устойчивый, где просадка, где recovery, где случайный PnL.

Поэтому я не говорю про “тупой brute force” ради brute force. Смысл не в том, чтобы получить кучу строк. Смысл в том, чтобы уметь из этой кучи выжать нужное: отсеять мусор, сравнить группы, выбрать метрики и собрать пул стратегий.

Как раз об этом и будет третья статья. Не про то, как “все перебрать”, а про то, как из большого массива гипотез получить полезный торговый результат. Монте-Карло, Байес, pruning, полный перебор — это инструменты. Главный вопрос: что именно мы ищем и по каким метрикам понимаем, что нашли не случайность

avatar
  • Сегодня в 18:01
  • Еще

Beach Bunny, еще раз как пример о оптимизации в сравнение:

Байесом можно перебирать разные правила, фильтры, индикаторы и PM, если представить их как параметры:

θ = {
правило входа,
EMA on/off,
RSI on/off,
MACD on/off,
тип PM,
параметры PM,
актив,
таймфрейм
}

Но проблема в другом: Байес за каждый шаг проверяет одну конкретную комбинацию и двигается туда, где, по его модели, вероятнее хороший результат. Он не строит полную картину всех классов стратегий.

То есть Байес хорошо подходит, когда: у нас уже есть понятная постановка и функция качества, и нужно быстро найти хороший набор параметров.

Например:

найти лучший PM для уже выбранной стратегии
найти лучший EMA-period для уже выбранного правла
найти параметры под конкретную метрику

А уменя задача шире: понять, какие правила, фильтры, PM, активы и таймфреймы вообще жизнеспособны.

Байес можно применять, но он ищет хороший вариант по уже заданной функции качества. А моя задача сначала шире: понять, какие классы правил, фильтров и PM вообще дают живые результаты. Если Байесу дать неправильную функцию или слишком узкую постановку, он быстро найдет лучший ответ на неправильный вопрос.

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

Байес хорошо ищет внутри уже понятной постановки. ARANEA нужна, чтобы эту постановку сначала найти и проверить

avatar
  • Сегодня в 17:55
  • Еще
Beach Bunny, 

Байесовская оптимизация хороший инструмент. Если задача такая: есть одна стратегия, один актив, один таймфрейм, один PM и одна целевая функция J(θ), например максимизировать Recovery Factor, то 100-200 шагов действительно могут дать хороший кандидат.

Но в моих примерах из статей показаны только базовые фильтры и состояния: EMA/RSI/MACD/PM как отдельные простые контуры. Там еще нет последовательных логических цепочек вида если да -> проверяем следующее условие, если нет -> идем в другую ветку, нет многоуровневых наборов правил и нет сложных обновляемых значений, которые меняются по ходу сделки. То есть пример специально упрощен.

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

Мне нужно исследовать пространство:

θ = стратегия + фильтры + состояния рынка + PM + актив + таймфрейм + long/short

И цель не просто найти одну лучшую точку max J(θ). Цель — собрать пул итоговых стратегий:

S = {θ1, θ2, θ3… θn}

где важны метрики всего набора: просадка, Recovery Factor, Profit Factor, серии убытков, корреляция, поведение на разных активах и таймфреймах, хеджирование long/short.

Байес может найти хороший short по PnL. Но мне может быть нужен short не лучший сам по себе, а такой, который перекрывает просадки long-пула:

J(S) = RF(S) — штраф_за_DD(S) — штраф_за_loss_streak(S)

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

Плюс мне не нужно руками сидеть над 100-200 шагами. Я задаю пространство, метрики и ограничения, запускаю расчет и получаю массив кандидатов для анализа. Оптимизация параметров — не конечная цель. Конечная цель — пул стратегий с нужным профилем риска.

Завтра в третьей статье как раз раскрою эту тему подробнее: почему PnL и winrate не главные метрики, зачем сравнивать разные PM, почему EMA/RSI/MACD — это состояния рынка, и почему задача профессиональной оптимизации шире, чем найти одну лучшую точку Байесом.

 

avatar
  • Сегодня в 17:41
  • Еще
ARANEA, не понял Вашего вопроса — как вы собрались найти лучший параметр за 200 шагом ?! или за 1000 шагов? можно подробнее что такое шаг и как он исчисляется .... 
avatar
  • Сегодня в 17:25
  • Еще
VLTorgovie, нет же ) об этом в третье статье более подробно… я написал свой софт со скоростью 2млн в секунду на компьютере 16 летней давности 

avatar
  • Сегодня в 17:22
  • Еще
ARANEA, сейчас ограничение на посты стоит 2 в сутки, я бы третью выпустил уже… поэтому до завтра )
avatar
  • Сегодня в 16:15
  • Еще
ARANEA, у меня компьютер на котором тесты делаю дешевле стоит чем аренда сервера на два дня ) при этом за сутки он вычислит более 100 миллиардов — аналогичные STlab на 8 гБ памяти и 3 ядрах 3 потоках… в целом у меня комп стоит под торговлю 16 ядер 16 потоков 32 оперативки  там вообще 5-7 млн в секунду стратегия оптимизируется которая приводится как пример в статьях 
avatar
  • Сегодня в 16:13
  • Еще
ves2010, в этом и есть корень слабой строны tslab что для оценки стратегии одного входного параметра не достаточно а особенно если комбинирование правил через обновляемые значения делаешь и перебор на разных TF… тут же суть не получить лучший PNL а получить лучшие метрики «выживаемости»стратегии да и вообще определение стратегии как таковой и ее формы — так как любою логику из миллиарда прикнь на бэктесте и подбери PM и вуаля циферки сошлись но это не гарантия того что при смене волатильности и поведения цены стратегия будет так же «выживать» 
и Вам успехов
 
avatar
  • Сегодня в 15:40
  • Еще
ves2010, вы цену видели за выделенный сервер 192 потока ?! от 70к в месяц — не проще сразу себе сервер ставить ?!) почитайте статьи дальше думаю Вам будет что добавить 

avatar
  • Сегодня в 15:15
  • Еще
ves2010, так я специально взял старый комп что бы показать разницу в замере… спасибо я проверю сколько потоков у Tslab… но сути оптимизации не меняет… на компе 16 ядер 16 потоков — ARANEA  делает 2.5к+ сложную стратегию со всеми вариантами PM + 10 индикаторов + 3 таймфрема паралельно на 1 активе 1 стратегию  а tslab — нужно помучаться с каждым PM и логической цепочкой и в течение недели еще и не забыть что где оптимизировал и что в итоге… я может не доконца разобрался в TSlab но так и не понял как по итоговой метрике можно получить итоговый результат

avatar
  • Сегодня в 15:14
  • Еще
SergeyJu, я пиши статьи дальше — вот вторая часть smart-lab.ru/blog/1314182.php — может далее в статьях вы найдете ответы, так как чем дальше тем меньше лирики будет 
avatar
  • Сегодня в 14:31
  • Еще
ARANEA, 

То есть это не FLOPS и не “одно умножение”, а одна прикладная оценка торговой гипотезы. Внутри нее, конечно, есть и чтения памяти, и арифметика, и сравнения.

Высокая скорость достигнута за счет архитектурных и математических решений в организации расчетов, но детали реализации я раскрывать не могу. Надеюсь, понимаете.

avatar
  • Сегодня в 14:24
  • Еще

взятие значения из массива по индексу не мгновенное. Оно тоже занимает время, как и умножение, сравнение или ветвление.

Просто в статье я считаю не машинные инструкции и не обращения к памяти. В моем прикладном смысле одно “вычисление” = одна оценка функции качества на одной точке пространства параметров.

Математически:
M = F(X, θ),
где X - исторический ряд свечей, θ - конкретный набор параметров стратегии/фильтров/выхода, а M - результат: сделки, PnL, просадка, PF и другие метрики.

avatar
  • Сегодня в 14:21
  • Еще
Выберите надежного брокера, чтобы начать зарабатывать на бирже:
....все тэги
UPDONW
Новый дизайн