экспромт на тему ММ
#1
Отправлено 21 January 2011 - 14:15
http://fxgeneral.com...topic=60&st=140
Вопрос вот в чём:
- положим есть успешный робот-эксперт...
- начинает он с депо $1000 и открывает ордера по 0.1 лота...
- через какое-то время он наращивает депо (он ведь успешный!) в 3 раза...
- как изменять (увеличивать!?) объём лотов ... ну, так, чтобы, скажем, уровень рисков примерно сохранялся с течением времени?
На "хлопський розум", и то, что пишется во многих книгах для ручной или эмпирической торговли - это выглядит так: объём очередного лота открываем пропорционально текущему размеру депо... Я в одной из своих тестовых предыдущих реализаций советника (трендовый по типу Puria) сделал такой ММ: объём очередного ордера брался как фиксированный процент от текущего депозита... И обомлел: советник стал давать до 50% меньше профит, а то и просто сливать депо .
Когда я стал разбираться во всей послеовательности сделок:
- профитные и убыточные ордера - чередуются, и весьма часто через один...
- таким образом, после профитной сделки под очередную убыточную - мы "подставляем" большего объёма ордер под слив...
- а после очередного слива (на ожидаемую профитную сделку) мы открываем уменьшенный ордер...
- результат - катастрофический... мы просто играем против себя на каждом ордере!
Как?
 
#2
Отправлено 21 January 2011 - 20:44
Эта тема (вопрос) навеяна обсуждениями о тестировании и его результатах:
http://fxgeneral.com...topic=60&st=140
Вопрос вот в чём:
- положим есть успешный робот-эксперт...
- начинает он с депо $1000 и открывает ордера по 0.1 лота...
- через какое-то время он наращивает депо (он ведь успешный!) в 3 раза...
- как изменять (увеличивать!?) объём лотов ... ну, так, чтобы, скажем, уровень рисков примерно сохранялся с течением времени?
На "хлопський розум", и то, что пишется во многих книгах для ручной или эмпирической торговли - это выглядит так: объём очередного лота открываем пропорционально текущему размеру депо... Я в одной из своих тестовых предыдущих реализаций советника (трендовый по типу Puria) сделал такой ММ: объём очередного ордера брался как фиксированный процент от текущего депозита... И обомлел: советник стал давать до 50% меньше профит, а то и просто сливать депо .
Когда я стал разбираться во всей послеовательности сделок:
- профитные и убыточные ордера - чередуются, и весьма часто через один...
- таким образом, после профитной сделки под очередную убыточную - мы "подставляем" большего объёма ордер под слив...
- а после очередного слива (на ожидаемую профитную сделку) мы открываем уменьшенный ордер...
- результат - катастрофический... мы просто играем против себя на каждом ордере!
Как?
имхо так....
робот робит... ты от него ожидаешь некой отдачи через некоторое время... так возьми эту отдачу и положи в карман или на второй счет... и торгуй фиксированным лотом... такое мое имхо...
какой смысл разгонять депо до лимонов или даже сотен тысяч если ты и так с него имеешь пару - тройку тысяч в месяц? чем больше жадность человеческая, тем больше обида от досадных ошибок...
теперь о моем понятии ММ - это система управления капиталом, при которой я гарантирую себе прибыль х% от вложенных денег при у% убытков за определенный промежуток времени...
входя в сделку я понимаю, что мои шансы на успех равны 50/50 (угадал/не угадал) и на эти 50 процентов неуверенности ставлю лося, который не превысит у% запланированных убытков... убытков от константного депо... все что выше этого константного депо - есть прибыль...
Возможно все! ...что ниже скорости света!
Невозможное делаю сразу! Чудо требует незначительной подготовки...
Пришел, увидел, нафлудил...
#3
Отправлено 21 January 2011 - 22:06
робот робит... ты от него ожидаешь некой отдачи через некоторое время... так возьми эту отдачу и положи в карман или на второй счет... и торгуй фиксированным лотом... такое мое имхо...
В принципе, это так, и я понимаю это именно так.
Но меня интересует вопрос применительно именно к автоматному трейдингу, с точки зрения разработчика таких торговых роботов, которые "робот робит."(с)
Как из него выжать максимальную эффективность?
Правила "здравого смысла" здесь не срабатывают, даже наоборот.
Интересно было бы, хоть в качестве гипотезы, выслушать правила "нездорового смысла"
входя в сделку я понимаю, что мои шансы на успех равны 50/50 (угадал/не угадал) и на эти 50 процентов неуверенности ставлю лося, который не превысит у% запланированных убытков... убытков от константного депо... все что выше этого константного депо - есть прибыль...
Про 50/50 это хорошо ... это тоже противоречит здравому смыслу - но это работает .
#4
Отправлено 21 January 2011 - 23:57
а вы (ты) подойди с точки зрения - не потерять... т.е. не оптимизируй робота на максимальную прибыль, попробуй оптимизировать на минимальный убыток...В принципе, это так, и я понимаю это именно так.
Но меня интересует вопрос применительно именно к автоматному трейдингу, с точки зрения разработчика таких торговых роботов, которые "робот робит."(с)
Как из него выжать максимальную эффективность?
Правила "здравого смысла" здесь не срабатывают, даже наоборот.
Интересно было бы, хоть в качестве гипотезы, выслушать правила "нездорового смысла"
Про 50/50 это хорошо ... это тоже противоречит здравому смыслу - но это работает .
т.е. при входе в рынок робот должен оценивать процент потерь а не процент денег в рынке и не процент прибыли от депо... вот смотри: - есть сигнал... есть некие условия (уровень цены) отмены данного сигнала... есть текущая цена инструмента... пусть робот оценит сколько он потеряет если не правильно войдет... затем, если робот получил прибыль (правильно вошел) пущай оценнивает (ищет) новую цену инструмента при которой появиться обратный сигнал и если этот обратный сигнал уменьшит убыток - смещает лося... если увеличит убыток - не трогает лося.... т.е. робот фиксирует свой убыток определенным процентом депо или определнной суммой... и объем сделки расчитывается от возможного убытка, а не желаемой прибыли...
как говориться в "умных" книжках - реж убыток, дай прибыли рости...
Возможно все! ...что ниже скорости света!
Невозможное делаю сразу! Чудо требует незначительной подготовки...
Пришел, увидел, нафлудил...
#5
Отправлено 22 January 2011 - 00:16
а вы (ты) подойди с точки зрения - не потерять... т.е. не оптимизируй робота на максимальную прибыль, попробуй оптимизировать на минимальный убыток...
т.е. при входе в рынок робот должен оценивать процент потерь а не процент денег в рынке и не процент прибыли от депо... вот смотри: - есть сигнал... есть некие условия (уровень цены) отмены данного сигнала... есть текущая цена инструмента... пусть робот оценит сколько он потеряет если не правильно войдет... затем, если робот получил прибыль (правильно вошел) пущай оценнивает (ищет) новую цену инструмента при которой появиться обратный сигнал и если этот обратный сигнал уменьшит убыток - смещает лося... если увеличит убыток - не трогает лося.... т.е. робот фиксирует свой убыток определенным процентом депо или определнной суммой... и объем сделки расчитывается от возможного убытка, а не желаемой прибыли...
как говориться в "умных" книжках - реж убыток, дай прибыли рости...
Я не всё до конца понял, но ещё внимательно посмотрю, попробую реализовать...
Но это идея, так сказать, уже периода управления ордерами времени их исполнения...
А меня интересует (и меня здесь спрашивают) вещь попроще ... периода ещё до выполнения торговых операций. Ещё перед входом в рынок перед роботом стоит вопрос: вот сейчас прийдёт время операции - каким объёмом ордера будем работать?
Ответа у робота (очень грубо) может быть 2:
1. ордера выставляем только фиксированного объёма ... скажем, сказал он себе: "0.4 лота" и придерживается...
2. перед очередной операцией робот рассчитывает новый размер будущего ордера, как функцию некоторых уже зафиксированных перед операцией велечин, таких как: объём свободного депо, результата (-тов) предыдущих (завершённых) операций и т.д. ... мало ли ещё чего?
#6
Отправлено 22 January 2011 - 00:28
так вот... робот вычислил сигнал на покупку к примеру евро/бакс на уровне 1,3023... отмена этого сигнала стоит на уровне 1,2873 (стоп лосс) т.е. наш убыток составит 150 пунктов если робот ошибся... предположим на текущий момент у нас депо равно 10000 баксов... а я роботу сказал потерять не более 5% от депо т.е. 500 баксов... цена пункта для размера сделки в 1 лот равна 10 баксов... т.е. я могу войти в сделку объемом 3,3 лота... при этом я потеряю не более 500 баксов... а если я прав то каждый пункт в правильном направлении принесет мне 33 бакса...Я не всё до конца понял, но ещё внимательно посмотрю, попробую реализовать...
Но это идея, так сказать, уже периода управления ордерами времени их исполнения...
А меня интересует (и меня здесь спрашивают) вещь попроще ... периода ещё до выполнения торговых операций. Ещё перед входом в рынок перед роботом стоит вопрос: вот сейчас прийдёт время операции - каким объёмом ордера будем работать?
Ответа у робота (очень грубо) может быть 2:
1. ордера выставляем только фиксированного объёма ... скажем, сказал он себе: "0.4 лота" и придерживается...
2. перед очередной операцией робот рассчитывает новый размер будущего ордера, как функцию некоторых уже зафиксированных перед операцией велечин, таких как: объём свободного депо, результата (-тов) предыдущих (завершённых) операций и т.д. ... мало ли ещё чего?
вот тут http://fxgeneral.com...findpost&p=4277 реализован этот принцип индикатором...
Возможно все! ...что ниже скорости света!
Невозможное делаю сразу! Чудо требует незначительной подготовки...
Пришел, увидел, нафлудил...
#7
Отправлено 22 January 2011 - 00:46
так вот... робот вычислил сигнал на покупку к примеру евро/бакс на уровне 1,3023... отмена этого сигнала стоит на уровне 1,2873 (стоп лосс) т.е. наш убыток составит 150 пунктов если робот ошибся... предположим на текущий момент у нас депо равно 10000 баксов... а я роботу сказал потерять не более 5% от депо т.е. 500 баксов... цена пункта для размера сделки в 1 лот равна 10 баксов... т.е. я могу войти в сделку объемом 3,3 лота... при этом я потеряю не более 500 баксов... а если я прав то каждый пункт в правильном направлении принесет мне 33 бакса...
вот тут http://fxgeneral.com...findpost&p=4277 реализован этот принцип индикатором...
Теперь гораздо понятнее, и за ссылку спасибо...
... но, однако же... Ваш ответ интересен, но он немного не о том :
- ваш достаточно сложный алгоритм исходит из текущего размера депо: "предположим на текущий момент у нас депо равно 10000 баксов"(с)
- ... т.е., объём ордера будет пропорционален текущему депо: $1000 * k, где k - достаточно сложно вычисляемый коэффициент...
- в вашем примере: при депо=$100 - входите с 3.3 лота, при депо=$2000 - 6.6 лота...
- но если советник (его алгоритм) будет чередовать профиты с лосами (точное чередование - это наихудший случай), причём это может быть совсем неплохой советник, который делает через раз маленький лос и большой профит...
- то как бы (по любому алгоритму) мы не вычисляли вот тот k - мы сами себя подставляем: после профитной сделки мы увеличиваем ордер и идём на лосовую (чередование!) сделку с большим ордером, а потеряв на этой сделке мы уменьшаем следующий ордер и идём на следующий профит с малым ордером и т.д. - и это совсем плохо закончится
#8
Отправлено 22 January 2011 - 00:56
вы не совсем правильно поняли... изменяемый параметр в первую очередь - это размер лося... исходя из размера стоплосса в пунктах и процента убытка от депо мы при одинаковых условиях получаем разные объемы сделки...Теперь гораздо понятнее, и за ссылку спасибо...
... но, однако же... Ваш ответ интересен, но он немного не о том :
- ваш достаточно сложный алгоритм исходит из текущего размера депо: "предположим на текущий момент у нас депо равно 10000 баксов"(с)
- ... т.е., объём ордера будет пропорционален текущему депо: $1000 * k, где k - достаточно сложно вычисляемый коэффициент...
- в вашем примере: при депо=$100 - входите с 3.3 лота, при депо=$2000 - 6.6 лота...
- но если советник (его алгоритм) будет чередовать профиты с лосами (точное чередование - это наихудший случай), причём это может быть совсем неплохой советник, который делает через раз маленький лос и большой профит...
- то как бы (по любому алгоритму) мы не вычисляли вот тот k - мы сами себя подставляем: после профитной сделки мы увеличиваем ордер и идём на лосовую (чередование!) сделку с большим ордером, а потеряв на этой сделке мы уменьшаем следующий ордер и идём на следующий профит с малым ордером и т.д. - и это совсем плохо закончится
т.е. имеем мы на некий момент времени депо в 9500 баксов... имеем сигнал и возможный лось на 10 пунктов... разрешенный убыток 5%, цена пункта для размера сделки в 1 лот 10 баксов - каков будет размер сделки?
размер сделки составит 4,7 лота... мы ограничиваем убыток процентом от депо... мы не вычисляем коэффициент - мы вычисляем размер сделки при каждом входе в зависимости от возможного лося и разрешенного процента от депо...
и еще ММ это не только правильно расчитать вход и размер сделки - это еще и сохранить, если мы получаем прибыль, для этого и перевод в б/у и смещение лося при новом сигнале... а возможно и локирование ордеров... чего я, правду сказать, не люблю...
Возможно все! ...что ниже скорости света!
Невозможное делаю сразу! Чудо требует незначительной подготовки...
Пришел, увидел, нафлудил...
#9
Отправлено 22 January 2011 - 01:26
Но для того, чтобы использовать этот способ нужно сначала протестировать советник на продолжительной истории (депо побольше, чтобы не слился). Лучший вариант, я думаю, чтобы максимум было не более 3 подряд прибыльных и 3 подряд убыточных сделок при тестировании. Можно конечно и из советника сразу анализировать последние, например, 50 сделок и определять среднее количество прибыльных сделок подряд.
- Busa это нравится
#10
Отправлено 22 January 2011 - 01:34
а если предыдущая сделка была прибыльной, и затем прибыльной и потом прибыльной... мы говорим о нормальном распределении в коротком промежутке времени может через один, а на длительном тебе и три к одному и два к пяти...Выскажу свое имхо. Если действительно присутствует чередование прибыльных и убыточных через один - самый выгодный по-моему способ это или использовать минимальный лот, или проводить операцию "виртуально". Т.е., к примеру последняя сделка была прибыльная, значит больше вероятность, что следующая будет убыточной - используем минимально возможный лот. Если эта следующая сделка оказалась прибыльной, то продолжаем использовать минимальный лот, если же убыточной (как и предполагали) - увеличиваем лот до обычных размеров.
Но для того, чтобы использовать этот способ нужно сначала протестировать советник на продолжительной истории (депо побольше, чтобы не слился). Лучший вариант, я думаю, чтобы максимум было не более 3 подряд прибыльных и 3 подряд убыточных сделок при тестировании. Можно конечно и из советника сразу анализировать последние, например, 50 сделок и определять среднее количество прибыльных сделок подряд.
а вобще тема интересная... мне нравиться...
Возможно все! ...что ниже скорости света!
Невозможное делаю сразу! Чудо требует незначительной подготовки...
Пришел, увидел, нафлудил...
#11
Отправлено 22 January 2011 - 01:43
а если предыдущая сделка была прибыльной, и затем прибыльной и потом прибыльной... мы говорим о нормальном распределении в коротком промежутке времени может через один, а на длительном тебе и три к одному и два к пяти...
а вобще тема интересная... мне нравиться...
Мне тоже нравится
Для того, чтобы не попасть в такую серию, я как раз и написал, что сначала нужно протестировать советник аккуратно и определить, как часто чередуются сделки и максимальное количество прибыльных/убыточных подряд. Или же по ходу торговли анализировать N-ое количество закрытых ордеров. Вообще этот прием получается статистический: если на истории в 5000 сделок в среднем подряд идут две прибыльные, потом две убыточные - больше вероятность того, что эта закономерность будет работать еще как минимум 1000 сделок.
- businka и Busa это нравится
#12
Отправлено 22 January 2011 - 04:20
Для того, чтобы не попасть в такую серию, я как раз и написал, что сначала нужно протестировать советник аккуратно и определить, как часто чередуются сделки и максимальное количество прибыльных/убыточных подряд. Или же по ходу торговли анализировать N-ое количество закрытых ордеров. Вообще этот прием получается статистический: если на истории в 5000 сделок в среднем подряд идут две прибыльные, потом две убыточные - больше вероятность того, что эта закономерность будет работать еще как минимум 1000 сделок.
Я для того и завёл такую тему, откуда и вопрос ... ну, что, во-первых, столкнулся на таком чередующемся эффекте на тестировании живого советника, и, конечно, чередование там гораздо сложнее, чем утрированная последовательность ... + - + - + ..., о чём здесь уже тоже сказали...
И хотелось бы выслушать мнения (разнообразные и побольше), как поступить в таком случае, решения, естественно:
1. фиксированный лот ... это понятно и это работает...
2. ... то что сказано только-что "протестировать советник аккуратно и определить, как часто чередуются сделки" - меня не очень греет как идея: тестирование на неизвестно какой природы котировках прошлых периодов - это совершенно моделирование, и оно на реале может увестикуда угодно...
3. ... а вот там же высказанное "по ходу торговли анализировать N-ое количество закрытых ордеров" - это уже куда интереснее, это получается каким-то образом адаптивный советник, который начинает с фиксированного лота, обучается по ходу ведения операций, и начинает постепенно "раскачивать" размер лота...
#13
Отправлено 07 February 2011 - 03:13
2. ... то что сказано только-что "протестировать советник аккуратно и определить, как часто чередуются сделки" - меня не очень греет как идея: тестирование на неизвестно какой природы котировках прошлых периодов - это совершенно моделирование, и оно на реале может увестикуда угодно...
Здесь, возясь с реальным советником ... появилось такое соображение: для управления в ММ размером лота воспользоваться принципом Мартингейла:
- работая с относительно небольшим (безрисковым для депозита) лотом... (L)
- после каждого профитного закрытого ордера оставляем лот тем же...
- а вот после кажлого лоса - удваиваем лот (2L), после следующего подряд - 4L и т.д.
- но как только ордер закрывается с профитом - возвращаемся к L.
По крайней мере, для советников работающих по тренду, где выражено периодическое чередование профитных и убыточных сделок - это должно работать.
#14
Отправлено 08 February 2011 - 16:49
Здесь, возясь с реальным советником ... появилось такое соображение: для управления в ММ размером лота воспользоваться принципом Мартингейла:
- работая с относительно небольшим (безрисковым для депозита) лотом... (L)
- после каждого профитного закрытого ордера оставляем лот тем же...
- а вот после кажлого лоса - удваиваем лот (2L), после следующего подряд - 4L и т.д.
- но как только ордер закрывается с профитом - возвращаемся к L.
По крайней мере, для советников работающих по тренду, где выражено периодическое чередование профитных и убыточных сделок - это должно работать.
Может наступить момент, когда советнику не хватит депо для выставления очередного лота по мартину.
Только тестил такой вариант. Мартин = 2.
Сливает при любых настройках с 10000.
Начальный лот 0.1.
Пробовал и с 50000, тоже слив из-за нехватки депо.
Правда, это не трендовый советник, т.к. отрабатывает локальное движение за определенный уровень
и никак не определяет тренд на графиках более высокого порядка ex_Two_Orders GS_2011_02_03
http://fxgeneral.com...t=0
#15
Отправлено 08 February 2011 - 17:36
Может наступить момент, когда советнику не хватит депо для выставления очередного лота по мартину.
Всё, что связано с техникой мартингейла - опасно... особенно советники, построенные впрямую по этому принципу.
Только недавно сделал 2 совершенно разных мартин-советника по пожеланиям и видению 2-х разных реалных трейдеров... по их ТС, которые "успешные" (с их слов).
При детальном тестировании на весьма продолжительных периодах (скажем, ~1 год и более), похоже, что сами по себе мартин-советники - всегда сливают дотла. ( "сами по себе" - я имею в виду, когда не используют дополнительные сигналы на вход-выход и направление открытия).
... а вера трейдеров в технику мартингейл, которая "всегда вывезет", по моему (с точки зрения интереса к самой математической модели), это что-то из области веры в "серебряную пулю", которая ... "должна ж таки быть в природе" .
- Necron это нравится