Существует ли техническая возможность тестированния стратегий на исторических данных, как например на MetaTrader или S#Terminal? Заранее спасибо за ответ
Михаил написал: да было бы интересно если бы такая возможность появилась, и интересно было бы как она будет реализована
Вряд ли такая возможность появится.
Мне кажется это должен быть целый фреймворк на луа. С использованием которого можно было бы писать скрипты. И скрипт, под контролем фреймворка, выполнялся бы в двух режимах: тест и торговля. В режиме теста, либо симуляция сделок с фиксацией результата, либо прогон по закачанной истории. Ну а в режиме торгов - реальные сделки.
Но основная проблема, которая мне видится в прогоне истории, в том что невозможно симулировать все события на которые затачиваются скрипты. Либо придется сильно ограничить набор входных данных, что сильно ограничивает возможности тестирования да и разработки скриптов вообще.
В режиме симуляции сделок таких проблем нет, но для этого и фреймворк не нужен. Достаточно просто в функции подачи заявки вместо транзакции фиксировать событие в лог, ну и за ценой следить.
Добрый день. Подскажите, в каком статусе сейчас заявка на тестирование стратегий, уже приступили? Какие сроки выполнения? Ввиду темы https://forum.quik.ru/messages/forum14/message43085/topic5191/?result=reply#message43085 было бы крайне актуально, т.к. два дня разбирался с простой, как оказалось, ошибкой! Мало того, что код чужой, так в добавок тестить нужно только на живом рынке. Это довольно сложно по ряду обстоятельств: работа днем, риск живыми деньгами, ожидание даже самого минимального сигнала от 15 минут (такая стратегия). Было бы тестирование - стало бы намного веселее! Интересуют сроки, т.к. эта вещь очень нужная и, если вы ее не делаете, тогда мне будет смысл сделать свой вариант, хотя бы на первое время. Хочу понять стоит ли мне тратить на это ресурсы.
Здравствуйте! Мы повторно зарегистрировали пожелание. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Примите еще одно пожелание по тестированию стратегий. Сам тестер стратегий у меня давно написан, но остался вопрос в исторических данных для него.
Так вот хотелось бы иметь возможность работать и историческими данными инструментов утративших актуальность. Поясню. Работаю с фьючерсами, на данный момент актуален SiU1. А мне хочется протестировать мою стратегию на более старых инструментах, например SiH1 и SiM1 Как я понимаю исторические данные по инструментам лежат в терминале в папке archive. У меня например имеются файлы SPBFUT_SiH1_60.dat и SPBFUT_SiM1_60.dat ну и некоторые другие
На данный момент, если я пытаюсь обратиться через CreateDataSource к SiH1, то получаю ошибку "SiH1 - unknown sec code." Так вот хотелось бы иметь возможность обращаться из скрипта к вышедшим из оборота инструментам. Все данные то имеются у меня имеются.
Решение вижу в добавлении необязательного параметра в функцию CreateDataSource, при установке которого данные будут напрямую браться из архивного файла с историческими данными игнорируя запрос инструмента у сервера и не проверяя его актуальность.
Если делать склейки инструментов при экспирации? Данные будут склеиваться, правда имя инструмента будет новое, но исторические данные получить сможете. Или такой вариант не удобен?
Если делать склейки инструментов при экспирации? Данные будут склеиваться, правда имя инструмента будет новое, но исторические данные получить сможете. Или такой вариант не удобен?
Такой вариант очень неудобен.
Может все же рассмотрите озвученное мной предложение?
Каждый при желании может написать свой тестер стратегий. Но на данный момент нет возможности получить доступ к историческим данным, однако исторические данные у многих имеются в папке archives терминала. Разве не логично бы было дать способ доступа к ним?
Если делать склейки инструментов при экспирации? Данные будут склеиваться, правда имя инструмента будет новое, но исторические данные получить сможете. Или такой вариант не удобен?
Такой вариант очень неудобен.
Может все же рассмотрите озвученное мной предложение?
Каждый при желании может написать свой тестер стратегий. Но на данный момент нет возможности получить доступ к историческим данным, однако исторические данные у многих имеются в папке archives терминала. Разве не логично бы было дать способ доступа к ним?
Все не так уж сумрачно вблизи... Рассказываю свой опыт: --------------------- Вариант 1: 1) Изучаем Lua 2) Берем редактор текста Scite. Этот редактор написан на LUA и на нем легко запускать на исполнение скрипты на LUA 3) Исторические данные за любой период и с любым таймом качаем с сайта финам или выводим из терминала КВИК в файлы 4) Пишем свой тестер на ЛУА в Scite и тестируем свои стратегии сколько душе угодно и на любой истории. ------------------------- Вариант 2: Пишем для терминала КВИК индикатор и в не вставляем режим тестирования и оптимизации Тестируем на данных, которые в КВИК. ------------------------ Вариант 3: 1) Берем пакет R, так как это бесплатно.Изучаем его язык. 2) Пишем скрипт который скачивает историю с бесплатных сайтов котировок 3) Пишем свой тестировщик в R используя любые библиотеки обработки big data. ----------------- Вариант 4: Используем бесплатный сервер в облаке и делаем все на нем. ================= Это лучше и быстрее, чем канючить халяву на этом форуме.
Если делать склейки инструментов при экспирации? Данные будут склеиваться, правда имя инструмента будет новое, но исторические данные получить сможете. Или такой вариант не удобен?
Такой вариант очень неудобен.
Может все же рассмотрите озвученное мной предложение?
Каждый при желании может написать свой тестер стратегий. Но на данный момент нет возможности получить доступ к историческим данным, однако исторические данные у многих имеются в папке archives терминала. Разве не логично бы было дать способ доступа к ним?
Дело в том,что описание инструментов засылает биржа, после экспирации старый контракт шлюз с биржи уже не получает и транслировать на сервер нечего.
Но брокер может решить Вашу задачу, на стороне сервера QUIK есть решение, которое поможет Вам получать с сервера описание экспирированных фьючерсов.
Egor Zaytsev написал: Дело в том,что описание инструментов засылает биржа, после экспирации старый контракт шлюз с биржи уже не получает и транслировать на сервер нечего.
Egor Zaytsev написал: Но брокер может решить Вашу задачу, на стороне сервера QUIK есть решение, которое поможет Вам получать с сервера описание экспирированных фьючерсов
Вы предлагаете запрашивать вручную у брокера данные по инструментам которые и так уже имеются у пользователя и меняться не будут никогда? Если я вас правильно понял, то решение, думаю, рабочее, но ведь не логичное.
Давайте еще раз и медленно 1) В терминале имеются исторические данные по инструментам 2) Обратиться к ним нет возможности 3) Прошу дать возможность работать с этими данными 4) Я даже предложил способ как это сделать
BlaZed написал: 1) В терминале имеются исторические данные по инструментам
, но нет справочников, о чем выше
Цитата
Egor Zaytsev написал: описание инструментов засылает биржа
Это он про вот эти вот все шаги цены, точность и прочее. То есть взять данные из архива квик может, он не знает, что эти все циферки обозначают, поскольку каждый день грузит новые справочники с сервера, а там выбывших уже нет. И далее Егор пишет, что ежли брокер сделает некие телодвижения, на его стороне справочники выбывших инструментов могут сохраняться уже сейчас и, соответственно, приезжать на клиенты.
Anton написал: Это он про вот эти вот все шаги цены, точность и прочее.
Для построения графика из всего справочника используется только шаг цены. В QMinEditor шаг цены вручную задается без всяких справочников. Для датасорца нужны только цена, объем и время - это всё есть в бинарниках в archive.