каким может быть правильный способ реализации стратегий в торговом клиенте?

Этот вопрос требует некоторых знаний алгоритмического трейдинга и IB TWS API.

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

На данный момент я думаю о чем-то вроде этого:

1. GUI: I have i.e. buttons:
STRATEGY 1 -> start,stop,view status/details, etc.
STRATEGY 2 -> start,stop,view status/details, etc.
STRATEGY 3 -> start,stop,view status/details, etc.

каждая стратегия представляет собой класс, который реализует некоторые основные понятия

class Strategy{ // Template method approach
public:
void start(); // uses subscribeData(), trade()
private:
virtual void subscribeData();
virtual void trade();
boost::shared_ptr<Model> model;
boost::shared_ptr<Data> data;
boost::shared_ptr<Statistics> stats;
};

Таким образом, настоящая, самая важная часть закончится trade() метод и все
классы стратегии работают на одном и том же экземпляре моего PosixClient
внедрение ИБ EWrapper с EPosixClientSocket указатель на него (так один
разъем).

Это правильный подход? У меня есть опыт работы с системами управления рисками (т. Е. Алгоритмикой), но я не видел ни одной реализации коммерческой торговой системы. Можешь дать совет?

2

Решение

Очень хороший вопрос

Я бы порекомендовал разработать каждую стратегию в отдельном модуле / клиенте / JVM.

Ознакомьтесь с Алгоритмической Торговой Платформой AlgoTrader.

Эта структура позволяет вам разрабатывать / развертывать / запускать / останавливать / обновлять стратегии, независимые друг от друга в отдельных JVM. Все они находятся на вершине так называемой базы, которая отвечает за связи с рыночными данными, постоянство в базе данных и размещение заказов у ​​брокера. Различные модули / стратегии могут даже общаться друг с другом через общие события.

Есть две версии AlgoTrader.

  • Версия с открытым исходным кодом, которую вы можете скачать бесплатно с Вот
  • Коммерческая версия (с поддержкой и профессиональными услугами) доступна Вот
0

Другие решения

Других решений пока нет …