Блог им. FineLogin |Лайфхак QLUA для загрузки больших данных

    • 27 апреля 2023, 22:45
    • |
    • GOLD
      Популярный автор
  • Еще
Мой дорогой друг, если ты гоняешь бэктесты в QLUA, то тебе регулярно приходится загружать исторические данные. Как правило, это текстовый файл с тысячами строк в формате D,T,O,H,L,C,V:

20220915,090000,61420,61497,61406,61464,241
20220915,090100,61460,61476,61420,61451,160
20220915,090200,61444,61489,61436,61479,185

Осмелюсь предположить, что эти строки ты заливаешь в массив с помощью string.match. Это готовый парсер строки с разделителем. Работает достаточно шустро. Я на нем сидел пару лет.

Когда данных не много, такой метод загрузки не напрягает. Но когда за день 20-30 раз загружаешь сотни тысяч или миллион строк, то потери времени становятся невыносимыми.

Стал искать способ ускорить этот процесс. И он таки нашелся. Выяснил следующее:

Если строки в файле истории сконвертировать в такой вид (делается 1 раз):

table.insert(MyTable,{«20220915»,«090000»,61420,61497,61406,61464,241})
table.insert(MyTable,{«20220915»,«090100»,61460,61476,61420,61451,160})
table.insert(MyTable,{«20220915»,«090200»,61444,61489,61436,61479,185})



( Читать дальше )

Блог им. FineLogin |Почему на бектесте +100%, а в реале -100%?

    • 06 февраля 2021, 17:40
    • |
    • GOLD
      Популярный автор
  • Еще
Глядя на графики, ты замечаешь, что сегодняшний график похож на вчерашний, а вчерашний похож на позавчерашний. График за текущий месяц похож на график за прошлый месяц. А график за прошлый год мало чем отличается от графиков за предыдущие годы.

И тут тебе в голову приходит гениальная идея:

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

И вот, через некоторое время ты создаешь стратегию, которая с учетом всех потерь показывает 100% годовых на 10-летнем бэктесте с просадкой менее 30%. Понятное дело, ты покрываешься счастливым потом и кидаешься считать доход с учетом капитализации. От полученных цифр теряешь сон и начинаешь торговать по своей гениальной стратегии.

Через год ты получаешь убыток -100%. Как так??? Что за муда$кий рынок????

Мой дорогой друг, спешу тебя утешить. Рыночек меняется. Хотя выглядит на графике всегда одинаково. Сравни графики звуковых колебаний:

( Читать дальше )

Блог им. FineLogin |Голая МАшка

    • 26 августа 2020, 00:13
    • |
    • GOLD
      Популярный автор
  • Еще
Делюсь бэктестом голой МАшки.

Беру миллион пятиминутных свечей ришки, сишки, брента и сбера. Накладываю простую МАшку. Получаю до боли известную картину:

Голая МАшка
Если MAшка идет вверх, открываю лонг на открытии каждой свечи.
Если MAшка идет вниз, открываю шорт на открытии каждой свечи.
Закрываю сделку на закрытии каждой свечи.
Простой и заманчивый (для новичков) алгоритм.

Бектест перебирает период MAшки от 3 до 500 и складывает все сделки (их чуть меньше миллиона). Естественно, по каждому фьючу выбираю самый прибыльный вариант. 

Результаты этого простого упражнения выглядят примерно так:

Голая МАшка

( Читать дальше )

....все тэги
UPDONW
Новый дизайн