SlippageManager отрицательное проскальзывание.

SlippageManager отрицательное проскальзывание.
Atom
4/26/2011


Михаил, добрый вечер. Как я понял считается только положительное проскальзывание. А возможно сделать так, чтобы считалось не только положительное проскальзывание, но и отрицательное, т.е. общее, разница между положительным и отрицательным? Например добавить свойсво в SlippageManager, которое активизировало бы данную фичу.

Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 4/26/2011
Reply


Garry Go to
Михаил, добрый вечер. Как я понял считается только положительное проскальзывание. А возможно сделать так, чтобы считалось не только положительное проскальзывание, но и отрицательное, т.е. общее, разница между положительным и отрицательным? Например добавить свойсво в SlippageManager, которое активизировало бы данную фичу.


Сразу возникает вопрос - а зачем?
Thanks:

Garry

Avatar
Date: 4/26/2011
Reply


Mikhail Sukhov Go to
Garry Go to
Михаил, добрый вечер. Как я понял считается только положительное проскальзывание. А возможно сделать так, чтобы считалось не только положительное проскальзывание, но и отрицательное, т.е. общее, разница между положительным и отрицательным? Например добавить свойсво в SlippageManager, которое активизировало бы данную фичу.


Сразу возникает вопрос - а зачем?


Чтобы знать реальное(т.е результирующее/ко-во сделок) проскальзывание, к примеру за весь торговый день. Чтобы потом его можно было закладывать в будущие тесты. Ведь исполнятьcя заявки могут как хуже так и лучше. Например в тестах я использую предполагаемую цену входа открытие свечи, для исполнения заявок использую котирование со смещением от края в 15 пунктов. Ясно, что иногда я буду получать доп пункты, иногда буду догонять цену и терять пункты, где-то будет лучше исполняться где-то хуже. Но результирующее проскальзывание может быть нулевым или даже отрицательным, и установить это никак не получится, кроме как опытным путем. А если считать только положительное проскальзывание то реальной картины исполнения я не увижу(всегда в минусе от теории).
Thanks:

Mikhail Sukhov

Avatar
Date: 4/27/2011
Reply


Garry Go to
Чтобы знать реальное(т.е результирующее/ко-во сделок) проскальзывание, к примеру за весь торговый день. Чтобы потом его можно было закладывать в будущие тесты. Ведь исполнятьcя заявки могут как хуже так и лучше. Например в тестах я использую предполагаемую цену входа открытие свечи, для исполнения заявок использую котирование со смещением от края в 15 пунктов. Ясно, что иногда я буду получать доп пункты, иногда буду догонять цену и терять пункты, где-то будет лучше исполняться где-то хуже. Но результирующее проскальзывание может быть нулевым или даже отрицательным, и установить это никак не получится, кроме как опытным путем. А если считать только положительное проскальзывание то реальной картины исполнения я не увижу(всегда в минусе от теории).


Вы рассчитываете на фарт. По сути, использование на истории такого значения ничем не лучше заглядывания в будущее. Как добиться отрицательного проскальзывания? Его в реальной торговле получить - раз плюнуть. Киньте заявку глубоко в рынок. Вот вам и проскальзывание < 0. Вы как-то опередили рынок? Нет. Отрицательное проскальзывание сложно или редко получается? Нет. Так какой тогда практический смысл от этой ничего не говорящей величины?
Thanks:

Garry

Avatar
Date: 4/28/2011
Reply


Mikhail Sukhov Go to
Garry Go to
Чтобы знать реальное(т.е результирующее/ко-во сделок) проскальзывание, к примеру за весь торговый день. Чтобы потом его можно было закладывать в будущие тесты. Ведь исполнятьcя заявки могут как хуже так и лучше. Например в тестах я использую предполагаемую цену входа открытие свечи, для исполнения заявок использую котирование со смещением от края в 15 пунктов. Ясно, что иногда я буду получать доп пункты, иногда буду догонять цену и терять пункты, где-то будет лучше исполняться где-то хуже. Но результирующее проскальзывание может быть нулевым или даже отрицательным, и установить это никак не получится, кроме как опытным путем. А если считать только положительное проскальзывание то реальной картины исполнения я не увижу(всегда в минусе от теории).


Вы рассчитываете на фарт. По сути, использование на истории такого значения ничем не лучше заглядывания в будущее. Как добиться отрицательного проскальзывания? Его в реальной торговле получить - раз плюнуть. Киньте заявку глубоко в рынок. Вот вам и проскальзывание < 0. Вы как-то опередили рынок? Нет. Отрицательное проскальзывание сложно или редко получается? Нет. Так какой тогда практический смысл от этой ничего не говорящей величины?


Ну можно это фартом назвать, я называю это отдельной стратегией исполнения. Ведь котирование от объема от бида, аска, или со смещением, все это мини стратегии, призванные уменьшить проскальзывание при исполнении. Используются они внутри основной стратегии, для которой в тестах была заложена "идеальная" цена. Протестировать их просто не возможно, так что да в какой то мере надеешься на фарт и тестируешь опытным путем. Смысл я вижу в том, чтобы получить реальную картину исполнения. Для некоторых стратегий результирующая картина с проскальзыванием просто не позволит взять профит(например пробойные стратегии), а для другого типа стратегии(например контр тренд) с теми же параметрами(профит, просадка, количество сделок) вполне позволит и еще останется потенциал. Так тестируя стратегию о проскальзывании можно только догадываться, но установить его можно будет только опытным путем, т.к. учитывается очень много факторов(лот, сама стратегия, микроструктра рынка в момент входа и т.д.). А так зная приблизительное значение для данного типа стратегии можно будет уже делать выводы при улучшении или модернизировании, например можно ли еще добавить сделок, увеличить лот или наоборот вводить фильтры, уменьшать количество сделок, т.к. результирующее проскальзывание критическое. Сейчас считю в Эксель по окончанию дня по сделкам и теоритическим ценам входа. Но думал считать в автомате
делал в стратегии так:
this.SlippageManager.Register(order, Decimal.Parse(idealprice));
strategy = new MarketQuotingStrategy(order, new Unit(), new Unit()) { IsParallel = false };
strategy.PriceOffset = new Unit(_gset1.kotspread);
strategy.Interval = TimeSpan.FromMilliseconds(_gset1.kotms);

но считается только положительная велечина, а не результирующая. Вот и попросил о фиче.
Thanks:

Mikhail Sukhov

Avatar
Date: 4/28/2011
Reply


В версии 3.1.6 добавил возможность учета отрицательного значение через метод TraderHelper.GetSlippage. Но нужно сделать отдельно наследника StrategySlippageManager
Thanks:

Garry

Avatar
Date: 4/29/2011
Reply


Mikhail Sukhov Go to
В версии 3.1.6 добавил возможность учета отрицательного значение через метод TraderHelper.GetSlippage. Но нужно сделать отдельно наследника StrategySlippageManager

Спасибо, огоромное!
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy