Неттинговые транзакции в кванцтрате
Допустим, у меня есть стратегия с несколькими правилами, которая генерирует несколько ордеров на одном и том же символе в одно и то же время. Например, 2012-05-23 одно правило может купить 10 акций IBM, а другое правило - 5 акций IBM. В производстве разумная система будет использовать взаимозачет и выполнять один приказ на покупку 5 акций, а не один заказ на покупку 10 акций и другой заказ на продажу 5 акций.
Есть ли способ получить это поведение в quantstrat
? Из моих экспериментов, quantstrat
не выполняет взаимозачет и, например, добавит комиссию за транзакции для обоих противоположных заказов, как если бы были выполнены два отдельных заказа.
Если quantstrat
не может чистые заказы, тогда все еще должно быть возможно получить желаемый PnL при тестировании на истории с помощью пользовательского TxnFees
функция. Если это правильный путь, как можно определить пользовательскую функцию для расчета комиссионных за транзакции?
1 ответ
"Разумная система", скорее всего, не сделает ничего подобного. Мой опыт одновременного выполнения по тиковым данным для агрессивных ордеров практически нулевой.
Что касается данных о столбцах, то да, внутренняя взаимозачет будет иметь смысл и будет обрабатываться системой управления производственными заказами. Или, например, усвоение покоящихся внутренних лимитных ордеров против других сигналов, требующих агрессивных ордеров на другой стороне или неттинговых позиций. Использует ли какой-нибудь инвестор нетривиального размера данные бара?
Кажется, это не соответствует тому, для чего нужен quantstrat. Вы хотите выяснить (в исследовании) некоторую стратегию, которая делает хорошие прогнозы и оценить качество этих прогнозов, написав тестирование на истории.
Бэктесты не реальность.
Кроме того, сетка полностью помешает любой способности выяснить, обладает ли ваш процесс обработки сигналов предсказательной силой.
Учетная запись в Blotter автоматически будет получать чистую прибыль, поэтому при отсутствии сборов будет иметь тот же результат, что и нетто для вашего заказа. Так что я не думаю, что вам нужно отдельное TxnFees
Функция, чтобы понять возможное влияние неттинга, предварительных сборов.