Как правильно запрограммировать арбитражную стратегию?
Atom Ответить
13.08.2012


Я по процедурному вопросу. :)

Вот, допустим, я не жадный и готов арбитражить по рублю. Берем фьючерс на акцию, например SBRF-9.12 и саму акцию на РТС-стандарт, в данном случае SBER. Смотрим в стаканы фьючерса и акции, и как только есть арбитраж (а он там есть, только маленький) - продаем фьюч по биду и одновременно покупаем акции по аску (или наоборот). Потом держим до поставки или, если позиция вышла в прибыль - закрываем.

Вопрос в том, как лучше всего эту стратегию запрограммировать. Смущает то, что для наследников Strategy надо указать свойство Security (инструмент, который стратегия будет торговать) - но у меня-то два инструмента одновременно. Что делать? Конечно, можно за всем следить руками, но именно этого хочется избежать.

Есть ли какой красивый способ упаковать такой арбитраж в Strategy? Наверняка же не я один над этим думал.

Теги:


Спасибо:




6 Ответов
OvcharenkoVI

Фотография
Автор статей
Дата: 13.08.2012
Ответить


Много раз этот вопрос разбирался на форуме.

В 4.1 есть BasketSecurity(см. документацию)

Но я пользуюсь немного другим методом и добавляю второй инструмент как дополнительное свойство класса, то есть

public Security Security2; например, а потом в конструкторе определяете этот инструмент
Спасибо:

Oppositus

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


OvcharenkoVI Перейти
В 4.1 есть BasketSecurity(см. документацию)


Спасибо, поковыряю.

OvcharenkoVI Перейти
Но я пользуюсь немного другим методом и добавляю второй инструмент как дополнительное свойство класса, то есть

public Security Security2; например, а потом в конструкторе определяете этот инструмент


Собственно, вопрос в том, будет ли стратегия корректно отрабатывать ордера и считать позиции по инструментам. То есть, поймет ли стратегия, что именно ей надо мониторить. Как хранить второй инструмент внутри объекта - с этим проблем нет.
Автор топика
Спасибо:

OvcharenkoVI

Фотография
Автор статей
Дата: 13.08.2012
Ответить


Oppositus Перейти
Собственно, вопрос в том, будет ли стратегия корректно отрабатывать ордера и считать позиции по инструментам. То есть, поймет ли стратегия, что именно ей надо мониторить. Как хранить второй инструмент внутри объекта - с этим проблем нет.


Будет, проверено
Спасибо: Oppositus MaximMM

virtualperm

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


Подскажите пожалуйста, как в алгоритме задаются переменные : цена последней совершенной сделки на рынке по определенной бумаге и цена последней совершенной мною сделки по определенной бумаге? Заранее спасибо!
Спасибо:

ra81

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


virtualperm Перейти
Подскажите пожалуйста, как в алгоритме задаются переменные : цена последней совершенной сделки на рынке по определенной бумаге и цена последней совершенной мною сделки по определенной бумаге? Заранее спасибо!


Не ясна суть вопроса :). Про какой алгоритм речь? Про какие переменные.
Спасибо:

Кот Матроскин

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


virtualperm Перейти
Подскажите пожалуйста, как в алгоритме задаются переменные : цена последней совершенной сделки на рынке по определенной бумаге

Код
var lastPrice = Security.LastTrade.Price;


virtualperm Перейти
и цена последней совершенной мною сделки по определенной бумаге? Заранее спасибо!

Если для стратегии, то можно так:
Код
var lastPrice = Strategy.MyTrades.Last<MyTrade>().Trade.Price;

Если для Trader, то так:
Код
var lastPrice = Trader.MyTrades.Last<MyTrade>().Trade.Price;


Спасибо:


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

loading
clippy