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

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


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

Теги:


Спасибо:


Mikhail Sukhov

Фотография
Дата: 26.04.2011
Ответить


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


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

Garry

Фотография
Дата: 26.04.2011
Ответить


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


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


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

Mikhail Sukhov

Фотография
Дата: 27.04.2011
Ответить


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


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

Garry

Фотография
Дата: 28.04.2011
Ответить


Mikhail Sukhov
Garry
Чтобы знать реальное(т.е результирующее/ко-во сделок) проскальзывание, к примеру за весь торговый день. Чтобы потом его можно было закладывать в будущие тесты. Ведь исполнять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);

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

Mikhail Sukhov

Фотография
Дата: 28.04.2011
Ответить


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

Garry

Фотография
Дата: 29.04.2011
Ответить


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

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


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy