Работа с портфелем инструментов

6/25/2011 2:20:19 AM
Gravatar
Total Posts 4

Работа с портфелем инструментов

Здравствуйте!

Столкнулся со следующей проблемой: работаю с набором инструментов DataSetSymbols, в котором выбираю различные инструменты для входа в позицию на данном баре. При этом курсор установлен на каком-либо определенном (но любом) инструменте из DataSetSymbols. Суть в том, что когда я его(курсор) переставляю (выделяю другой инструмент), у меня меняется итоговая доходность стратегии, чего происходить явно не должно (исходя из того, что мы обрабатываем все инструменты DataSetSymbols). С DataSetSymbols работаю следующим образом:

for(int bar = 20; bar < Bars.Count; bar++)

{

foreach(string symbol in DataSetSymbols)

{

SetContext(symbol, true);

....................

............ какие-то расчеты для данного инструмента......

...............

}

RestoreContext();

}

В чем может быть проблема? Спасибо.

6/27/2011 8:55:01 PM
Gravatar
Total Posts 115

RE:Работа с портфелем инструментов

При синхронизации

SetContext(symbol, true)

выбирается тайм фрейм базовой серии, в том случае если тайм фреймы у различных серий не совпадают, то приводится они будут к разным рядам для разных базовых серий и давать различные результаты.

6/27/2011 10:15:08 PM
Gravatar
Total Posts 4

RE:Работа с портфелем инструментов

Нет, все серии одного тайм-фрейма. У меня в наборе 6 серий: фьючерсы на Газпром, Сбер, Лукойл, Роснефть, ВТБ и индекс РТС. Всего наборов два вида: с дневным тайм-фреймом и часовым. Если смотреть "дневки", то при выделении любого инструмента (т. е. при определении базовой серии) кроме индекса РТС - доходность одинаковая. Если взять РТС как базовый - доходность меняется. При этом, также меняется и количество сделок. В случае с часовиками, доходность меняется при любой базовой серии.

Еще, если можно, подскажите как задать комиссию и проскальзывание для каждого инструмента в отдельности? Ведь если я устанавливаю на проскальзывание для РТС 60 пунктов, то, скажем, для Сбера это явно многовато.

6/28/2011 1:23:12 AM
Gravatar
Total Posts 6

RE:Работа с портфелем инструментов

Максим, попробуйте сравнить итоговые сделки по разным "позициям курсора".

Скорее всего, сами всё увидите - может быть управление капиталом, либо

[CODE]foreach(string symbol in DataSetSymbols)[/CODE]даёт вам разный порядок инструментов в зависимости от текущего инструмента, ну или логическая ошибка где-то в основном цикле.

6/28/2011 4:38:01 PM
Gravatar
Total Posts 115

RE:Работа с портфелем инструментов

Проверьте одинаковая ли последовательность бумаг в цикле (foreach) при разных базовых сериях. Используете ли вы в коде базовую серию (Bars) явно? Насчет дневок, действительно вроде никаких проблем с синхронизацией быть не должно. Посмотрите еще количество баров при разных базовых сериях. Одинаково ли оно?

6/28/2011 10:15:39 PM
Gravatar
Total Posts 4

RE:Работа с портфелем инструментов

valenock, WL Support,

Спасибо за помощь!

Да, проблема оказалась в том, что различные серии имели разную длину истории. Сейчас все работает отлично.

Кстати, а то, что foreach может перебирать инструменты не в одинаковой последовательности в зависимости от выбранной базовой серии, влияет только на распределение капитала, или здесь еще что-то имелось ввиду? Спасибо.

6/28/2011 10:59:59 PM
Gravatar
Total Posts 115

RE:Работа с портфелем инструментов

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

6/29/2011 6:39:27 PM
Gravatar
Total Posts 4

RE:Работа с портфелем инструментов

ОК, спасибо!