Избранное трейдера MrD

по

Поговорим немного об оптимизации?!

Приветствую.

Не станем углубляться в философию оптимизации своего алгоритма, и для чего нужен бектест. Могу сказать свое мнение — оптимизировать можно, но только делайте это правильно. В своей практике, бектестинг для меня играет крайне малую роль при создании алгоритма. Но все же некие аспекты и зависимости можно выделить.
Для начала хотелось бы показать как вообще это выглядет все в рамках TSLab.
Два примера — на первом рисунке дефолтно созданный алгоритм под простые индикаторы, RSI 20 поверх SMA20. Купили когда индикатор близок к 100, продали когда близок к нулю. Никаких фильтров и усложнений (так нужно для данного поста). Так же для примера показана таблица результатов под 400проходов. От 5 до 100 с шагом 5 для каждого индикатора. (тоже лишь для примера). В ней можно усмотреть что количество отрицательных результатов — довольно маленькое. (удачный пример, не более)

Поговорим немного об оптимизации?!



( Читать дальше )
  • обсудить на форуме:
  • TSLab

Конспект по валютным СВОПам Мосбиржи

После плотного общения с автором топика «Маленькая какашка на торт оптимизма» 
smart-lab.ru/blog/657181.php
сделал себе Маленький конспект по валютным свопам на Мосбирже, чтобы уложить в голове все по полочкам:
Конспект по валютным СВОПам Мосбиржи

Участников рынка СВОП можно разбить на 5 групп:
1. Группа характеризуется положительной позицией по валюте и отрицательной по рублям.
Это либо те, кто купил валюту с плечом, либо использующие валюту под обеспечение рублевых активов на других рынках (фондирующиеся СВОПами, сохраняя при этом валютную позицию).
2. Группа характеризуется положительной позицией по рублям и отрицательной по валюте.
Это те, кто открыл короткие позиции по валюте на СПОТ рынке (шорты).
Остальные группы не имеют отрицательных позиций.
3. Группа имеет только валюту без рублей.
4. Группа имеет только рубли без валют.
5. Группа имеет смешанную положительную позицию как в валюте, так и в рублях.
Первые две группы обязаны к моменту клиринга как-либо закрыть свои минусовые позиции, иначе схватят штраф от Мосбиржи. Таким образом



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

Python. Импорт данных OHLCV из файла CSV.

    • 02 ноября 2020, 22:55
    • |
    • 3Qu
  • Еще

Простите за банальность, работа с данными начинается с их получения из внешнего источника. Мы будем получать их из 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


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

Строим дашборд на API бирже

Заметил, что совсем немного постов освещают тему API Мосбиржи. Вместе с тем, Мосбиржа позволяет не только отгружать котировки акций, но и например, забирать данные по кривой ОФЗ, коэффициентам корреляции, индексам и многое другое. Замечательно, что биржа отдает данные в csv и json, что позволяет легко настроить их автоматическое импортирование. Например, можно импортировать их в Google Sheets и создавать там онлайн-дашборды. 

Один такой дашборд я построил для рынка ОФЗ, выведя на панель данные о спредах, исторической динамике и индексе облигаций. Для того чтобы вся эта красота работала необходимо 4 простых шага:
  • создать запрос с помощью API в формате CSV (Google Sheets не умеет в json, а сторонние костыли не всегда справляются)
  • импортировать данные в Google Sheets с помощью функции ImportData используя ссылку из пункта 1
  • Распарсить импортированные строки на столбцы
  • Прикрутить графики
Строим дашборд на API бирже

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

Как я понял показатель Хёрста

Опишу, как я понял показатель Хёрста, ознакомившись с ним: 

1. Это основной показатель, от которого зависит эффективность трендовой ТС. Чем выше Хёрст — тем лучше работает трендовая ТС.

2. Отрезки с высоким Хёрстом перетекают в отрезки с низким Хёрстом плавно (в соответствии с общефизическим законом постепенной смены состояний), то есть у трейдера есть время заметить изменение условий до того, как трендовая ТС сольёт на низком Хёрсте. Показателем данного перетекания также может являться снижение эффективности трендовой ТС, несмотря на то, что она делает всё так же, как и раньше.

3. На низком Хёрсте можно смело включать контртрендовую ТС.

Если есть дополнения и возражения, буду рад услышать и запомнить.


Оптимизация эквити (незаконченная дискуссия с А.Г.)

Добрый вечер, коллеги!

Есть желание устроить нетривиальную математическую дискуссию.
Приглашаются все желающие, но, в качестве дисклеймера, могу сразу заявить, что лохам ловить здесь нечего.

Обычно я вообще не пишу на подобные темы, но 2 выпитые бутылки Borie-Manoux, Chateau Beau-Site, Saint-Estephe, 2013, настроили меня на лирический лад )))

Поэтому предлагаю начать (неначатую) дискуссию с А.Г.

ВВОДНАЯ:
Мы работаем с ценовым рядом x(i). Приращения цен — это d(i)=x(i)-x(i-1)
Мы хотим заработать все деньги мира построить оптимальный линейный индикатор. Он представляет из себя массив коэффициентов a(i).
Таким образом, мы покупаем, когда sign(summ(a(i)*d(n-i))) >=0 и продаем в противном случае.

Эквити ТС при этом будет выглядеть так: приращение Eq(i) = d(i)*sign(summ(a(j)*d(n-j-1)))
Если мы захотим максимизировать рост эквити — у нас есть 2 варианта:
1. (классическая максимизация) — ищем минимуи summ((d(i) — summ(a(j)*d(n-j-1))))^2)
2. (максимизация по Горчакову) — ищем минимум summ((sign(d(i)) — sign(summ(a(j)*d(n-j-1)))))^2)

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

О стационарности рынка. 3.

    • 14 сентября 2020, 17:53
    • |
    • 3Qu
  • Еще
В топике О стационарности рынка. была высказана гипотеза о стационарности рынка. Уточняю, под рынком подразумевался именно рынок, а именно, совокупность трейдеров и их действий на рынке и биржевая площадка. Можно это назвать передаточной функцией рынка.
В топике  О стационарности рынка. 2. приведен тест системы построенной на этой гипотезе.
В комментариях ко второму топику был такой диалог:
ivanovr, специально для вас, ну, и прочих неверующих, попробую сделать тест системы на фьючерсе МТС-9.20, что изначально дурацкая затея). На РТС, Сбере и Газпроме она работает. Настраивать ничего не нужно, только данные загрузить. Сделаю как у компа буду.

3Qu, не, это не проверка. Давай на реале погоняй и стейтмент покажи
avatar

ivanovr



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

О стационарности рынка. 2.

    • 12 сентября 2020, 23:15
    • |
    • 3Qu
  • Еще
Был опубликован топик О стационарности рынка. Повторяться не буду. Общий вопрос в комментариях — что это дает?
На старых системах показывать не буду, а результат новой ТС на новых данных, которая уже долго, с перерывом на лето, разрабатывается, показан на картинке. Система пока в разработке.
О стационарности рынка. 2.
Тест на фьючерсе SBRF-09.20 за 3 последних месяца.
По х — номер сделки, по У — накопленная прибыль в пунктах. Торговля постоянным лотом — 1 контракт.
Вот это она и дает.)

О стационарности рынка.

    • 12 сентября 2020, 17:59
    • |
    • 3Qu
  • Еще
Все, включая нашего главного теоретика АГ (как не бросить камень)), годами говорят и повторяют, что рынок нестационарен. Основывают все это на анализе распределения истории цен на рынке. С этим не буду спорить, временные ряды цены возможно и нестационарны, хотя и это вопрос спорный. Но не буду. Пусть будет так, это непринципиально.
Однако рынок это не временной ряд цен, который является всего лишь реакцией рынка на внешние воздействия, а внешние воздействия могут быть какими угодно. С какого бодуна реакция системы на нестационарный процесс вдруг станет стационарным процессом? Наверное, чтобы делать заключение о рынке нужно изучать не реакцию, а сам рынок как систему.
А рынок, это всего навсего совокупность действий большого количества участников с разными капиталами, горизонтами, интересами и пр., и пр. Ну, и сама биржа, как сумматор этих интересов — это не сложно. Т.е., для понимания рынка нам нужно изучать поведение совокупности участников торгов.
И вот тогда выяснится, что состав участников меняется достаточно медленно, дни, недели и месяцы большой роли не играют, и реакция участников на внешние раздражители вполне стационарна и со временем изменяется незначительно. Кроме того, все это оч похоже на нормальное распределение.

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

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