Избранное трейдера MrD
Приветствую.
Не станем углубляться в философию оптимизации своего алгоритма, и для чего нужен бектест. Могу сказать свое мнение — оптимизировать можно, но только делайте это правильно. В своей практике, бектестинг для меня играет крайне малую роль при создании алгоритма. Но все же некие аспекты и зависимости можно выделить.
Для начала хотелось бы показать как вообще это выглядет все в рамках TSLab.
Два примера — на первом рисунке дефолтно созданный алгоритм под простые индикаторы, RSI 20 поверх SMA20. Купили когда индикатор близок к 100, продали когда близок к нулю. Никаких фильтров и усложнений (так нужно для данного поста). Так же для примера показана таблица результатов под 400проходов. От 5 до 100 с шагом 5 для каждого индикатора. (тоже лишь для примера). В ней можно усмотреть что количество отрицательных результатов — довольно маленькое. (удачный пример, не более)
После плотного общения с автором топика «Маленькая какашка на торт оптимизма»
smart-lab.ru/blog/657181.php
сделал себе Маленький конспект по валютным свопам на Мосбирже, чтобы уложить в голове все по полочкам:
Участников рынка СВОП можно разбить на 5 групп:
1. Группа характеризуется положительной позицией по валюте и отрицательной по рублям.
Это либо те, кто купил валюту с плечом, либо использующие валюту под обеспечение рублевых активов на других рынках (фондирующиеся СВОПами, сохраняя при этом валютную позицию).
2. Группа характеризуется положительной позицией по рублям и отрицательной по валюте.
Это те, кто открыл короткие позиции по валюте на СПОТ рынке (шорты).
Остальные группы не имеют отрицательных позиций.
3. Группа имеет только валюту без рублей.
4. Группа имеет только рубли без валют.
5. Группа имеет смешанную положительную позицию как в валюте, так и в рублях.
Первые две группы обязаны к моменту клиринга как-либо закрыть свои минусовые позиции, иначе схватят штраф от Мосбиржи. Таким образом
Простите за банальность, работа с данными начинается с их получения из внешнего источника. Мы будем получать их из CSV-файла архива котировок, скачанного с сайта Финам. Для работы с другими источниками вам надо будет немного изменить программу.
Я уже давно не работаю непосредственно с CSV, и храню все данные в БД SQLite. Поначалу я хотел написать программу чтения CSV с нуля, но выяснилось, что я уже подзабыл как это делается, однако нашелся рояль в кустах — моя старая библиотека читающая данные из CSV-файла непосредственно в программу. Ее мы и будем использовать.
Собственно, Python и ориентирован на работу с библиотеками, и не нужно знать что там внутри, важно только уметь с ними работать, а сами программы с использованием библиотек станут очень простыми.
Для начала качаем с Финам историю в формате CSV-файла следующего вида:
<TICKER>,<PER>,<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL> SPFB.Si-12.20,1,04/05/20,10:00:00,76900.0000000,76990.0000000,76900.0000000,76990.0000000,3 SPFB.Si-12.20,1,04/05/20,10:06:00,77695.0000000,77695.0000000,77400.0000000,77400.0000000,8 SPFB.Si-12.20,1,04/05/20,10:08:00,77781.0000000,77781.0000000,77700.0000000,77750.0000000,30 SPFB.Si-12.20,1,04/05/20,10:13:00,78088.0000000,78098.0000000,78088.0000000,78098.0000000,6 SPFB.Si-12.20,1,04/05/20,10:14:00,78100.0000000,78100.0000000,78100.0000000,78100.0000000,1
Опишу, как я понял показатель Хёрста, ознакомившись с ним:
1. Это основной показатель, от которого зависит эффективность трендовой ТС. Чем выше Хёрст — тем лучше работает трендовая ТС.
2. Отрезки с высоким Хёрстом перетекают в отрезки с низким Хёрстом плавно (в соответствии с общефизическим законом постепенной смены состояний), то есть у трейдера есть время заметить изменение условий до того, как трендовая ТС сольёт на низком Хёрсте. Показателем данного перетекания также может являться снижение эффективности трендовой ТС, несмотря на то, что она делает всё так же, как и раньше.
3. На низком Хёрсте можно смело включать контртрендовую ТС.
Если есть дополнения и возражения, буду рад услышать и запомнить.
ivanovr, специально для вас, ну, и прочих неверующих, попробую сделать тест системы на фьючерсе МТС-9.20, что изначально дурацкая затея). На РТС, Сбере и Газпроме она работает. Настраивать ничего не нужно, только данные загрузить. Сделаю как у компа буду.
3Qu, не, это не проверка. Давай на реале погоняй и стейтмент покажи