Железная основа алгоритмического трейдинга - какая она?
Atom Ответить
06.08.2013


Уважаемые алготрейдеры! =)
В особенности те, кто уже давно занимается написанием и тестированием роботов на платформе S#! Подскажите, пожалуйста, какие требования предъявляются к ПК для работы с торговыми роботами. В частности очень интересует какой объем оперативной памяти и мощность процессора(ов) желательна для комфортного тестирования стретегий на объемных исторических данных. Как можно ускорить эти процессы?
Будет здорово, если авторы проекта озвучат мощности свох ПК или дадут рекомендации BigGrin

P.S. Под ПК имеются в виду домашние компьютеры, а не виртуальные машины или специальные серверы.

Теги:


Спасибо:




6 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 06.08.2013
Ответить


Bond Перейти
для комфортного тестирования стретегий на объемных исторических данных.

Bond Перейти
а не виртуальные машины или специальные серверы.


Противоречие в вопросе.

Сейчас содержание сервера обходится дешевле, чем содержание компьютера в аналогичной комплектации дома. Нет смысла покупать сервер для дома. Дальше будет только дешеветь.

У меня дома 5 корпусов со старыми процами (i5 i7 AMD). Заменилось одним сервером в интернете. Железо устареет, перейду на новое. Разница перехода = стоимость первоначального взноса = 150 долларов. Старое домашнее железо я так просто не продам.
Спасибо: Bond

Bond

Фотография
Курсы
Дата: 06.08.2013
Ответить


Михаил Сухов Перейти
Bond Перейти
для комфортного тестирования стретегий на объемных исторических данных.

Bond Перейти
а не виртуальные машины или специальные серверы.


Противоречие в вопросе.

Сейчас содержание сервера обходится дешевле, чем содержание компьютера в аналогичной комплектации дома. Нет смысла покупать сервер для дома. Дальше будет только дешеветь.

У меня дома 5 корпусов со старыми процами (i5 i7 AMD). Заменилось одним сервером в интернете. Железо устареет, перейду на новое. Разница перехода = стоимость первоначального взноса = 150 долларов. Старое домашнее железо я так просто не продам.


Собственно потому и спрашиваю, что плохо представляю потребности в мощностях =)
В моем видении для хорошей оптимизации роботов требуется большое количество итераций во время тестирования на исторических данных, может быть даже динамическая оптимизация во время реальной работы алгоритмов. И сколько для этого нужно оперативной памяти, какие процессоры, материнские платы использовать вижу довольно условно.
И, конечно, задача не стоит, чтобы за пару секунд оптимизировать алгоритм на 15 летних тиковых данных по нескольким инструментам. Плюс, на сколько мне известно, виртуальные серверы предлагают ограниченные мощности под каждую виртуальную машину, суперкомпьютер за 150 долларов вряд ли предложат поюзать... Скорее всего я плохо владею информацией в этой области Confused
Возникает куча вопросов:
1) Насколько корректно все будет работать на виртуальной машине? Как там будет вести себя софт? (у меня к сожалению нет опыта)
2) Какие возможности современных виртуальных машин? Скорости обмена данными? Предлагаемые вычислительные мощности?
3) Как все это настраивать? (может требуются какие-то специальные навыки)
4) К кому обращаться? Как платить и подключиться? (область довольно специфичная и далеко не на слуху у "обычных" пользователей)

Виртуальная машина кажется выгодной, когда уже отладил робота, закинул его на сервер и у тебя не болит голова по поводу не отключили ли электричество и не пропал ли интернет. А простым решением кажется купить системник с хорошим процессором, засунуть туда побольше оперативы, подключить ИБП и дублированный интернет канал(для параноиковBigGrin ) и работать. Да, железо будет стареть, но может это будет уже не важно, так как его мощности все равно будет достаточно. А сколько этой мощности нужно пока непонятно RollEyes
Не хочется изобретать велосипед... Прошу совета у специалистов на каком железе лучше писать и тестировать робота? Насколько удобно и выгодно для обычного "домашнего" трейдера переходить на виртуальную машину?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 06.08.2013
Ответить


Есть виртуальные сервере, есть выделенные сервера, есть облачные сервера. Это все разные вещи.

Выделенный сервер как правило сейчас стоит порядка 70-100 долларов в месяц. Достаточно мощная конфигурация, но ее нужно загружать постоянно тестами. Иначе оплата будет за простой.

Виртуальные сервера - это виртуальные машины. Отличается от выделенного по возможности установки программ (не все возможно установить, так как это не настоящая машина) + конечно же мощность меньше.

Облачные сервера - кардинальное отличие от первых двух категорий. Здесь покупка идет времени и ресурсов (скажем, аренда на 1 час 10 Ксеонов и 100 гигабайтов оперативки, и 10 гигов места на жестком диске). Есть варианты Pay As You Go, есть с фикс тарифами. Все по разному. Но именно облако наиболее подходит для тестирования стратегий с большим количеством итераций.

Облачные сервера сейчас становяться модными фишками, и мое мнение, скоро заменят обычные типы серверов. Поэтому, если опыт небольшой, то лучше начать рыть в направлении облаков. Тема большая, множество вариаций, услуг, цен. Надо пробовать, тут все под себя как правило.
Спасибо: Bond

Bond

Фотография
Курсы
Дата: 06.08.2013
Ответить


Михаил Сухов Перейти
Есть виртуальные сервере, есть выделенные сервера, есть облачные сервера. Это все разные вещи.

Выделенный сервер как правило сейчас стоит порядка 70-100 долларов в месяц. Достаточно мощная конфигурация, но ее нужно загружать постоянно тестами. Иначе оплата будет за простой.

Виртуальные сервера - это виртуальные машины. Отличается от выделенного по возможности установки программ (не все возможно установить, так как это не настоящая машина) + конечно же мощность меньше.

Облачные сервера - кардинальное отличие от первых двух категорий. Здесь покупка идет времени и ресурсов (скажем, аренда на 1 час 10 Ксеонов и 100 гигабайтов оперативки, и 10 гигов места на жестком диске). Есть варианты Pay As You Go, есть с фикс тарифами. Все по разному. Но именно облако наиболее подходит для тестирования стратегий с большим количеством итераций.

Облачные сервера сейчас становяться модными фишками, и мое мнение, скоро заменят обычные типы серверов. Поэтому, если опыт небольшой, то лучше начать рыть в направлении облаков. Тема большая, множество вариаций, услуг, цен. Надо пробовать, тут все под себя как правило.


Спасибо, на мой взгляд очень важная информация!ThumpUp
Как я понял, если нужны мощности протестировать программу, то, очевидно, выгодно арендовать Облачный сервер и провести на нем оптимизацию сэкономив кучу времени и денег на закупку или аренду дорогостоящего оборудования! Отличный выход из ситуации!
Но для работы готового откомпилированного приложения, на сколько я знаю, обычный компьютер вполне подойдет. Верно?

Условный план создания и запуска робота:
1) Создаем стратегию.
2) Оптимизируем на не большом историческом интервале, проверяем алгоритмы в первом приближении.
3) Арендуем облачный сервер и проверяем на большом объеме исторических данных.
4) Оптимизированного торгового робота запускаем на обычной рабочей станции (или виртуальной машине) и торгуем.
Правильно?

P.S. Так сколько примерно нужно оперативной памяти для тестирования на не большом объеме исторических данных? Как тестили до облачных серверов?
P.S.2 Как быть с лицензией на библиотеку S#? Она будет работать на всяких виртуальных и облачных серверах? Ведь не все привязываются к номеру счета!
P.S.3 Подготовка облачного или виртуального сервера для работы наверняка потребует дополнительных настроек! Есть опытные люди, которые могут поделиться опытом в этой области?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 06.08.2013
Ответить


Bond Перейти
выгодно арендовать Облачный сервер и провести на нем оптимизацию сэкономив кучу времени и денег на закупку или аренду дорогостоящего оборудования! Отличный выход из ситуации!


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

Bond Перейти

P.S. Так сколько примерно нужно оперативной памяти для тестирования на не большом объеме исторических данных? Как тестили до облачных серверов?
P.S.2 Как быть с лицензией на библиотеку S#? Она будет работать на всяких виртуальных и облачных серверах? Ведь не все привязываются к номеру счета!
P.S.3 Подготовка облачного или виртуального сервера для работы наверняка потребует дополнительных настроек! Есть опытные люди, которые могут поделиться опытом в этой области?


1) Оперативки: грубо 1 гиг под 1 инструмент. До облачных серверов тестил на своем домашнем сервере.
2) Насколько я помню, в последних версиях EmuTrader не проверяет лицензию. А так можно получить лицензию для железа. Но этот вариант не годится для облаков.
3) Ну можно пока тут обсуждать. Может еще кто подтянется. Я сам пользую сейчас AWS. Но там крайне дорого и неудобно. Есть еще Азура, там удобнее, но тоже не дешево. Предлагаю завтра поискать сервисы и покидать ссылки.
Спасибо:

Bond

Фотография
Курсы
Дата: 08.08.2013
Ответить


Автор топика
Спасибо:


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

loading
clippy