Что-то амиброкер, который я использую для бэктестов, стал после каждого нового запуска программы показывать разные результаты (при тех же настройках).
Видно, что свихнулось в его скриптовых мозгах...
Может кто поделиться хорошим бэктестером на R, в который можно закачивать котирки с форматами с Финама?
Я решил не использовать АмиБрокер по той же причине.
Однако, это не его беда, а в том массиве данных, которые он получает с сервера торговой системы. Об этом я написал в своем последнем посте, который очень не понравился народу.
Дело в том, что каждый день в базе исторических данных в Ами могут находиться разные данные. Поэтому бэктесты, сделанные в разные дни, выдают разные результаты, и именно поэтому я написал свой тестер, работающий напрямую с базой QUIK. Хотя там тоже не всё однозначно по той же причине.
Вся причина кроется в строго зафиксированном количестве «баров»/«свечек» для любого фрейма. Согласитесь, что 3000 баров на «минутках» — это совсем не то же самое, что 3000 «баров»/«свечек» на, допустим, 5-минутках…
Доктор, Питон вам нужен.
Тестер на Питон есть в одном из моих топиков. Всего навсего цикл перебирающий данные. И все. Там делиться нечем.
ЗЫ То, что R буде жевать 15 минут, Питон перемелет секунд за 20.
Врач-бондиатОр, ссылку с телефона не получается.
Открываете содержание моего блога, в разделе Python топик - Python. Делаем тестер стратегий и… зарабатываем на случайном блуждании.
Врач-бондиатОр, Если Вы грузите из Финама, то можете проверить, совпадут ли начальные данные в разных фреймах… А в Ами есть свои настройки базы, которые также могут ограничивать количество данных.
Я написал свой тестер на Луа, да.
Теперь уже этот труд не кажется столь невозможным, как это виделось 2 года назад, в самом начале. Тем более, что в 60 мозги труднее проворачиваются.)))
Тем не менее, скидать простой тестер без мани- и риск — менеджментов, с постоянными параметрами системы совсем несложно.
Врач-бондиатОр, ну, так, если «свечки не совпадают», значит, нельзя такими бэктестами пользоваться!
Нужно сначала найти способ или источник устойчивых данных. Я пытался решить эту проблему, но, в конце концов, понял, что это невозможно. Поэтому написал тестер для QUIK'а, чтобы данные брать из системы без посредников и там же их обрабатывать.
Вот один из комментаторов написал, что он каждые 2 недели перестраивает базы и перетестирует их, поскольку он обнаружил, что базы меняются с такой периодичностью. Я это тоже нашел где-то в 2017-м. И бросил и Метасток, и Ами, и Финам, и МФД...
А 60 после 90-х — это возраст. Тогда год жизни за три шли (а у кого и поболе)...
Я ведь не коммерсант ни по духу, ни по призванию. Хотя много раз звали в главные селзы идти.
Врач-бондиатОр, да, физик-исследователь, доперестроечный еще)))
Могу Вас «провести» по ЛУА для бэк-тестирования. Готов показать основные моменты, а готовое решение будет Вашим. Если терпения хватит самому построить тестер, то…
Eugene Bright, тогда в 90-е я Вам не завидую. Случайно в 93 на митинги не ходили?
По поводу Луа у меня учебный курс от oojoo, и там рассмотрен вариант бэктестера.
Но в квике история тикера весьма короткая, и будет ли репрезентативна выборка, особенно на 5-10 минутках — вопрос…
Врач-бондиатОр, нет, на митинги не ходил. Причины предлагаю здесь не обсуждать, дабы не вызвать ненужные споры.
Означенного курса не знаю. Их много в инете. Я изучал по исходной документации.
Данные в КВИКе…Видите ли, после многолетних (это не фигура речи, а именно «так и было на самом деле») опытов я открыл для себя, что толковая система не нуждается в огромном массиве данных и глубокой истории. Об этом я писал в последнем своем посте: «память» старых данных «замыливает глаз», что называется.
Правда, здесь тоже есть лукавство и некоторое кноу-хау.
Кароч, только Вам намекну, я пользуюсь небольшим историческим периодом, просто в системе есть некий параметр, который нивелирует историческую глубину.
Думаю что глюки бывают при compression (когда из минуток пятиминутки итд) из-за таких настроек как на Вашем скриншотах. Просто чтобы закачанные свечи не совпадали в оригинальном формате это вряд ли.
На втором Custom time formats не обязательно как у меня, главное настройки справа.
quant_trader, да, датафид гадит. Факт!
И — да, сохранить локально можно сколько угодно. Про «периодически save database» (если честно) просто не стал разбираться.
Когда Квиковский датафид упирается в ограничение кол ва баров датабазы Ами то он вместо того чтобы затирать самые первые записи тупит. Это известный баг и Квиковцы в курсе.
Поэтому надо самостоятельно затирать первые записи чтобы он нормально работал, особенно актуально на валютах/акциях.
Но у автора топика не работает на финамовских насколько понимаю. Мне оч интересно.
quant_trader, вполне возможно. Я обошел эту проблему так, как описал выше. Поэтому больше не стал копать тему. Просто знаю, что она имеет место быть. Принцип «экономного мышления» такой…
Простите, наверное не совсем в тему комментарий, но у меня вопрос, поскольку топик читает много людей которые используют исторические данные. Я себе накодил декодер истории, которая есть на фтп цериха в формате *qsh. То есть можно эти файлы читать и писать информацию в текст или другой бинарный формат. С удивлением обнаружил, что вечерних сессий там нет. Это на самом деле так, или янакосячил? Расшифровка этого формата конечно тот ещё квест…
Спасибо. Интересно.
Вы предоставили листинг ордерлога, а я читаю пока что сделки.
Вот текст, выданый утилиткой, которую сам автор всей этой затеи предлагает для проверки содержимого файлов, qsh2txt.exe:
Ветка Палестины, 1602 год основание компании, 1611 год выплата первых дивидендов, при этом первые дивиденды по планам должны были быть еще раньше (в 1603 году)
Вывод дивиденды тоже очень важны и ...
Sloikin, да ладно?
Откроем интернет и почитаем, как их «благодарят».
Умные люди благодарят умных людей. А кем эти люди работают — второстепенно.
Не нравится брокер? Закройте счёт. Ник...
Сираж Нигматуллин, так ответьте наконец, Мечел то здесь при чем? После снятия санкций все население Земли донаты ему на счет начнет отправлять или кредиторы долги спишут?
📉 Рынок закрывает первые торги года в минусе впервые за девять лет — индекс Мосбиржи (-2,01%) Российский рынок акций скорректировался после мощного ралли последних двух недель 2024 года. По итогам тор...
Да, сделаешь в 100 раз меньше. Но хоть ПОЙМЁШЬ, что тестил, пройдя глазами побарно!
Врач-бондиатОр, ну значит возьмите что-нибудь проще.
Хоть excel.
Подачу котировок можно организовать почти куда угодно.
Врач-бондиатОр, ну это я для примера.
Писать можно на любом удобном языке.
Python, Java, C#, LUA...
Или взять готовый продукт типа TsLab.
Однако, это не его беда, а в том массиве данных, которые он получает с сервера торговой системы. Об этом я написал в своем последнем посте, который очень не понравился народу.
Дело в том, что каждый день в базе исторических данных в Ами могут находиться разные данные. Поэтому бэктесты, сделанные в разные дни, выдают разные результаты, и именно поэтому я написал свой тестер, работающий напрямую с базой QUIK. Хотя там тоже не всё однозначно по той же причине.
Вся причина кроется в строго зафиксированном количестве «баров»/«свечек» для любого фрейма. Согласитесь, что 3000 баров на «минутках» — это совсем не то же самое, что 3000 «баров»/«свечек» на, допустим, 5-минутках…
Тестер на Питон есть в одном из моих топиков. Всего навсего цикл перебирающий данные. И все. Там делиться нечем.
ЗЫ То, что R буде жевать 15 минут, Питон перемелет секунд за 20.
Открываете содержание моего блога, в разделе Python топик - Python. Делаем тестер стратегий и… зарабатываем на случайном блуждании.
Я написал свой тестер на Луа, да.
Теперь уже этот труд не кажется столь невозможным, как это виделось 2 года назад, в самом начале. Тем более, что в 60 мозги труднее проворачиваются.)))
Тем не менее, скидать простой тестер без мани- и риск — менеджментов, с постоянными параметрами системы совсем несложно.
А 60 лет по современным меркам молодость ))
Нужно сначала найти способ или источник устойчивых данных. Я пытался решить эту проблему, но, в конце концов, понял, что это невозможно. Поэтому написал тестер для QUIK'а, чтобы данные брать из системы без посредников и там же их обрабатывать.
Вот один из комментаторов написал, что он каждые 2 недели перестраивает базы и перетестирует их, поскольку он обнаружил, что базы меняются с такой периодичностью. Я это тоже нашел где-то в 2017-м. И бросил и Метасток, и Ами, и Финам, и МФД...
А 60 после 90-х — это возраст. Тогда год жизни за три шли (а у кого и поболе)...
Я ведь не коммерсант ни по духу, ни по призванию. Хотя много раз звали в главные селзы идти.
А по образованию Вы, наверное, инженер?
ЗЫ: Я без подвоха.
Могу Вас «провести» по ЛУА для бэк-тестирования. Готов показать основные моменты, а готовое решение будет Вашим. Если терпения хватит самому построить тестер, то…
По поводу Луа у меня учебный курс от oojoo, и там рассмотрен вариант бэктестера.
Но в квике история тикера весьма короткая, и будет ли репрезентативна выборка, особенно на 5-10 минутках — вопрос…
Означенного курса не знаю. Их много в инете. Я изучал по исходной документации.
Данные в КВИКе…Видите ли, после многолетних (это не фигура речи, а именно «так и было на самом деле») опытов я открыл для себя, что толковая система не нуждается в огромном массиве данных и глубокой истории. Об этом я писал в последнем своем посте: «память» старых данных «замыливает глаз», что называется.
Правда, здесь тоже есть лукавство и некоторое кноу-хау.
Кароч, только Вам намекну, я пользуюсь небольшим историческим периодом, просто в системе есть некий параметр, который нивелирует историческую глубину.
Это какие то некорректные настройки.
Если не очень трудно можете показать File-Database settings, Intraday settings оттуда же и Tools-Preferences-Intraday?
Думаю что глюки бывают при compression (когда из минуток пятиминутки итд) из-за таких настроек как на Вашем скриншотах. Просто чтобы закачанные свечи не совпадали в оригинальном формате это вряд ли.
На втором Custom time formats не обязательно как у меня, главное настройки справа.
Если только квиковский датафид гадит.
«Вся причина кроется в строго зафиксированном количестве «баров»/«свечек» для любого фрейма.»
Это не так. Ставим local storage и накапливаем сколько надо, исторические вообще можно подгрузить туда же. И периодический save database конечно.
И — да, сохранить локально можно сколько угодно. Про «периодически save database» (если честно) просто не стал разбираться.
Когда Квиковский датафид упирается в ограничение кол ва баров датабазы Ами то он вместо того чтобы затирать самые первые записи тупит. Это известный баг и Квиковцы в курсе.
Поэтому надо самостоятельно затирать первые записи чтобы он нормально работал, особенно актуально на валютах/акциях.
Но у автора топика не работает на финамовских насколько понимаю. Мне оч интересно.
накосячил
Вы предоставили листинг ордерлога, а я читаю пока что сделки.
Вот текст, выданый утилиткой, которую сам автор всей этой затеи предлагает для проверки содержимого файлов, qsh2txt.exe:
Plaza2:SBER:TQBR::0.01
Received;ExchTime;DealId;Type;Price;Volume;OI
02.10.2020 10:00:05.423;02.10.2020 09:59:40.000;3316238956;Buy;210.4;165;0
————————————————————————————————————
02.10.2020 18:46:03.014;02.10.2020 18:46:02.575;3317696421;Buy;208.16;2;0
первая и последняя сделка.
Моя программа дает точно такой же результат.
То есть ордерлог записан до конца вечерней сессии, а сделки только до вечернего клиринга?
да, у меня тоже самое по SBER
совсем не понимаю!!!
Ест алгоритм, который в коде.
Есть приложение, в котором код.
В итоге есть конкретная программа.
Ей нужны данные.
Качаются с ФИНАМа данные (вполе нормальоные), а ПРОГРАММА НЕ РАБОТАЕТ С НИМИ!!!
Попробуйте после скачки данных для начала тупо отрубить инет ...
А потом проверяйте целостность алгоритма пошагова на ОТКЛИ в виде ошибоек исполнния команды!!!,..
Это же так просто, друзья! ...
Я, не программист, использую программирование даже тут при написании комментов!!!