Проектирование ТС. 4. Машинное обучение.

    • 31 августа 2021, 15:40
    • |
    • 3Qu
  • Еще

Ещё с самого начала, в первой части, писал, что проект является экспериментальным, что из него получится я не знаю.Получится — хорошо, не получится — останутся наработки, которые могут пригодиться в дальнейшем.Тем не менее, обещал освещать ход проекта.
На сегодняшний день удалось получить на тестах некоторую незначительную и неустойчивую прибыль. Эти копейки не произведут впечатления на читателя — такое вы и сами получали неоднократно. Даж позориться не хочется.)
Но, что это дало? Это позволило алгоритмически более-менее разграничить области возможных лонгов и шортов.
Дальше есть следующие возможности:
а. Накручивать на ТС различные индикаторы и долго и нудно подбирать их параметры и условия входа в сделку и соответствующую логику.
в. Попробовать использовать для построения ТС методы машинного обучения (МО. Тем более, какие-то наработки в этой области у меня уже есть.
«И так как с детства его влекло к технике, то он всею душою отдался пункту «в» (тайное похищение чужого имущества, совершенное с применением технических средств или неоднократно».© Пункт «в» мне тоже более интересен, однако я совсем не исключаю и параллельного применения элементов из пункта «а».
Для тех, кто не в теме, немного подробней.
Если мы возьмём рыночные данные, каким-то образом их идеально подготовим, попробуем обучить какое нибудь МО (нейросеть (НС), скажем), то мы, скорее всего, сразу получим великолепные результаты. Единственным недостатком этих результатов будет то, что прибыль мы сможем получить только на той истории, на которой мы обучали МО. На реале и даже на другом отрезке истории такая ТС работать скорее всего не будет.
Рыночные зависимости очень неявные, встречаются в ценовом ряду нечасто и выделить их на общем фоне удачных и неудачных сделок не представляется возможным. В результате МО при обучении находит некоторые зависимости или псевдозависимости имеющиеся только в обучающей последовательности, нигде более не встречающиеся и обучается им. Т.е., псевдозависимости оказываются более явными, чем то что мы пытаемся найти.
Как с этим планируется бороться, это, возможно, обсудим уже в следующий раз.


Проектирование ТС. 3. Базовые принципы.

    • 28 августа 2021, 16:55
    • |
    • 3Qu
  • Еще
Собственно, все стратегии основаны на принципе: покупай дешево — продавай дорого. Вопрос только в определении понятий — дорого/дешево.
Основной принцип на графике:
Проектирование ТС. 3. Базовые принципы.
Это фьючерс Сбера, 1 м график, по х — минуты. Дешево внизу, дорого вверху. Средняя прибыль ~40 п за сделку.
Я не боюсь, что кто-то что-то украдет, в смысле идей, да, они, собственно, и без меня очевидны. Один из наших коллег на СЛ уже «украл» — работает с этим уже три или 4 года — результат околонулевой. Ну, вы наверное знаете товарисча.)
Вот с этим я сейчас и работаю. Система совершенно другая — старая почти изжила себя — на графике все можно увидеть. Раньше ходы цены были несколько другими.  Сейчас требуются другие подходы к снаряду. Сеточники — не хочу, не нравится мне это, хотя bohemian rhapsody...
Вот, пока, чего не пойму, так это стратегию Мальчика BuyBuy. Может, вообще бы все переделал, если бы понял.))
А вообще, не скрою, я сюда, на СЛ, за идеями пришел. Варясь в собственном соку новые мысли не появятся.



Проектирование ТС. 2 Тестер стратегий.

    • 27 августа 2021, 22:25
    • |
    • 3Qu
  • Еще
Люди достаточно часто пишут — я бы конечно моделировал, но где взять тестер стратегии? Не на чем тестировать.
Ну, это самое простое, что может быть, я тестер пишу каждый раз заново — лень искать, быстрее написать заново. Да, и функциональность, возможно, нужна какая-то другая.
Смотрим код тестера стратегии и его вызов:
def TradeSystem(ibegin):
    ln = len(sdata)
    i = ibegin
    indata =[]
    dealdata =[]
    while i < ln:
        ls = DealIn(i)
        if ls != 0:
            j = DealControl(i, ls)
            i = j
        i += 1 
    return dealdata, indata
    
DealsData, InData = TradeSystem(100)  #вызов тестера стратегий
Рабочий код, между прочим.)
ibegin — это номер свечи на истории с которой начнет работу тестер.
sdata — история в формате [datetime, o, h, l, c, v]
indata — все параметры открытия сделок для последующего анализа.
dealdata — все необходимые для последующего анализа данные о всех сделках на истории
Дальше идет цикл while() последовательно перебирающий свечи на истории, которые анализируются функцией DealIn(i) (собственно, это и есть ваша стратегия, определяющая момент открытия сделки Лонг или шорт — ls). DealIn() при обнаружении сделки также передает данные для анализа в indata

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

Цены или приращения? Курица или яйцо?

    • 24 августа 2021, 00:45
    • |
    • 3Qu
  • Еще
Напишу сейчас, завтра некогда будет.
Итак, у некоторых наших товарищей (не будем называть имён, их, как минимум около десятка), в ТС во главу угла поставлены приращения цены, у других (их тоже есть), алгоритмы ТС основаны на ценах.
Какая из этих моделей более близка к реальности и более проста в реализации?
Рассмотрим самую примитивную модель рынка. Конечно, понятнее было бы нарисовать квадратики, но не имея технических возможностей для этого (смартфон) ограничусь эпистолярный жанром.
Начнем с текущей цены которую видят участники рынка и ее текущего положения относительно истории актива. Уже только из этих соображений они предпринимают некие действия меняющие цену. Другие участники смотрят на меняющуюся цену и ее относительное положение в пространстве, и также предпринимают некие действия, что также изменяет стоимость актива.
Теперь к участникам поступает поток новостей. Участники реагируют на них исходя из «веса» новости и опять-таки относительного положения актива на графике.

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

Как я инвестировал в Газпром - неудачный удачный опыт

    • 22 августа 2021, 18:44
    • |
    • 3Qu
  • Еще
Кажется, где-то в 2011-12 году, купил я на все бурно растущий Газпром, аж по 230 р. Почему я не купил в пополаме Сбер (80-90 он стоил), для меня это загадка, ведь был и такой вариант.
Ясно дело, Газпром тут же стал падать, но я же купил для инвестиций, а дело инвестора — ждать, а не кидаться из стороны в сторону.
Но есть же ещё фьючерсы, которыми я могу хеджировать свою покупку. Падает — продаем фьючерсы, растет — закрываем позицию во фьючерсах.
Итог: в 2019 году продал Газпром по 233 р, с прибылью ~55 р за акцию. Это без учета дивидендов, которые я получал все это время.
Это все, что я знаю об инвестициях. Ошибки легко исправляются. Сидеть и ждать у моря погоды в инвестициях — последнее дело.

Зачем выводить в ленту скрытые посты?

    • 22 августа 2021, 13:38
    • |
    • 3Qu
  • Еще
12:20 Зачем выводить в ленту скрытые посты?Трейдинг и инвестиции ← autotrade.ru Читаем - только друзья могут читать этот пост.
Все замечательно, только друзья и так получат оповещение. Остальным-то зачем видеть заголовок топика, который прочитать невозможно? Для остальных это мусор.

Проектирование ТС. 1

    • 15 августа 2021, 18:09
    • |
    • 3Qu
  • Еще
Обещал в Процесс рождения интрадей Грааля пошагово освещать процесс проектирования торговой системы — освещаю).
Итак, первым делом скачал с Финам 1м котировки нескольких фьючерсов за 3 последних месяца перед экспирацией и поместил их в БД SQLite — так проще работать. Код экспорта из CSV в SQLite приводил ранее, см. раздел Python моего блога.
Вот эти:

1 GAZR-6.21 GZM1
2 GAZR-9.21 GZU1
3 SBRF-6.21 SRM1
4 SBRF-9.21 SRU1
5 Si-6.21 SiM1
6 Si-9.21 SiU1
С фьючем РТС работать и отрабатывать технологии сложнее, если и нужен будет, то оч нескоро.
У меня заготовлено несколько новых индикаторов для этой ТС. Конечно я на что-то рассчитывал при их проектировании, но все это умозрительно, и о реальных свойствах индикаторов я, ровным счетом, ничего не знаю. Для начала хотелось бы выяснить их возможности.
Для этого на множестве 1м истории (~66000 свечей) генерируем ~6600 равномерно распределенных по интервалу истории случайных сделок продолжительностью 5 минут ( потом будет и 10 и 15 минут), пока только Лонг (потом и Шорт будет, рассматривается отдельно) и находим прибыль в каждой из этих сделок.
Выглядеть это будет вот так:
Проектирование ТС. 1 



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

О стационарности биржи.

    • 11 августа 2021, 20:06
    • |
    • 3Qu
  • Еще
Многие, даже великие мира сего (имеется в виду СЛ), буквально жалуются на нестационарности биржи, ее котировок и ее ВР, и как это мешает им прибыльно торговать. В ход идут некие толстые хвосты, которые, кстати, никакого отношения к стационарности не имеют. Можно иметь толстый хвост, оставаясь при этом стационарным.))
Ну, ладно, давайте подумаем, что же на рынке стационарно? В общем, на рынке более-менее стационарен состав участников, и, стало быть, их реакция на происходящее на рынке.
Выделить эту стационарность не просто, а очень просто. Проводим реал-тайм линию регрессии, строим вокруг нее канал ± СКО, и убеждаемся, что этот канал стационарен на оч длительном интервале.
Итак, рынок стационарен относительно реакции участников торгов.
Вам мешала только нестационарность? — все, мы от нее избавились. Теперь ничто не должно мешать вашей прибыльной торговле.)

Все подвергай сомнению. (с)

    • 11 августа 2021, 18:37
    • |
    • 3Qu
  • Еще
Все подвергай сомнению © — это, конечно, перебор, но к тредингу-инвестициям это относится в большей степени, чем к любой другой области. Трейдинг-инвестиции в большей степени чем что-либо основаны на вере в ничем не обоснованные теории, взгляды, субъективные мнения и даже слепую почти религиозную веру.
Даже статистике, которая в других областях может говорить о истине, в трейдинге- инвестициях верить нельзя. Не погружаясь в математику, она обманчива — есть три вида лжи — ложь, наглая ложь и статистика. ©
Для продвинутых в математике — рыночные процессы нестационарны, и это означает, что то что верно на одном интервале времени, абсолютно не соответствует действительности на других.

Форекс - это совсем другая музыка.

    • 09 августа 2021, 18:09
    • |
    • 3Qu
  • Еще

Периодически дискутируем с Мальчиком БайБай. Говорим об одном и том же, но часто друг друга вообще не понимаем — я его, а он, чувствую, меня. И вдруг, сегодня, в 2 часа ночи выясняется, что он играет на Форекс. Сразу все расхождения становятся понятными.
Вообще, я всех Форекс- дилеров, независимо от их статуса, считаю жуликами, ну, ладно, — это игорный бизнес. Первая обязанность Форекс-дилера — котировать инструменты. Это как? — я сам котирую? — это-ж замечательно.)
Дальше уже вторичное — ни стаканов, ни объемов, котировки мои, спред сам выставляю — что хочу, то и ворочу, короче. Хороший бизнес.
Не, я не против, законодательство позволяет. Мальчик БайБай и казино обыгрывал, но это его личное дело.
Однако, к Форекс у меня отношение сугубо отрицательное. Не кидайте в меня камнями, это мое личное отношение. На истину в последней инстанции не претендую
Но, всё-таки, был грех, в период очередного рыночного кризиса завел счёт на Форекс у одного из банков (ни хухры мухры). Опять не кидайтесь камнями, всего-то 15 баксов, на минимальный лот 0.01 — не играть, а попробовать, что за зверь.
И чё, иннфы ноль, только котировки, спред гуляет как хочет, реал объемов нет- инфы недостаточно. Ну, вошёл, потерял 2,5 бакса (пара пачек сигарет не проблема), но никогда ранее такого не было, а это уже проблема.
Не, туда я больше не ходок, не мое это, а Мальчик БайБай — он казино обыгрывал, и мне до него далеко. Мне бы что попроще.)


теги блога 3Qu

....все тэги



UPDONW
Новый дизайн