Избранное трейдера Старик Рамуальдыч

по

Стратегия для wistopus.

    • 04 сентября 2021, 18:56
    • |
    • 3Qu
  • Еще
Не говорю, что стратегия является панацеей от всех бед, но переиграть конкретную акцию по прибыли можно. Работать надо, однако. Само ничего не будет.
Итак, покупаем некии акции у которых имеется фьючерс. Таких акций около 30.
Если акция растет — ничего не делаем.
Если акция падает, продаем фьючерсы на сумму, равную объему акции у нас в портфеле.
Если акция начала расти, закрываем позицию во фьючерсах.
Что при этом происходит.
1. Акция растет, накапливая прибыль.
2. Акция падает, и накопленная прибыль перекачивается в проданные нами фьючерсы.
И так далее, по циклу. Своеобразный денежный насос. Цикл наполнения при росте акции, цикл перекачки прибыли на фьючерсный счет при падении акции.
Даже если иногда ошибаемся при продаже или непродаже фьючерсов, то, собственно, ничего не теряем.
Скажем, при продаже фьючерсов мы находимся вне позиции — наш суммарный депозит не меняется.
Если мы пропустили продажу фьючерсов, то тоже не страшно, т.к. акции мы купили в расчете на их последующий рост.

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

Ох, уж, эти выбросы.

    • 04 сентября 2021, 00:24
    • |
    • 3Qu
  • Еще
При анализе рыночных данных оч мешают выбросы. Гэпы всякие, которые зашкаливают за все нормальные диапазоны, и в течение длительного времени забивают все индикаторы и весь анализ. Вот такие, например:
Ох, уж, эти выбросы.
Здесь бы до 1.5 -1.7 все ограничить, и нормально бы было.
Для этого обычно применяются всяческие ограничители, типа сигмоидов и им подобных:
Ох, уж, эти выбросы.

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

Сравнение торговой системы на индикаторах и нейросети. Это как это?

    • 01 сентября 2021, 21:28
    • |
    • 3Qu
  • Еще
Сравнение торговой системы (ТС) на индикаторах и нейросети. — У меня вопрос, а это как?
Не, конечно можно сравнить между собой две системы — одну на индикаторах, другую на нейросети — не вопрос. Но вопрос, что, если сделать такую же ТС как на нейросети (НС), но на индикаторах, а потом их сравнить?, лишен смысла.
Для тех кто не в танке. Что есть нейрон НС?
Сравнение торговой системы на индикаторах и нейросети. Это как это?
Всего лишь сумматор, на выходе которого прикреплена некая нелинейность, сигмоид, например.
Если подать на входы нейрона значения цены с интервалом Т (скажем, 1 минута), то на выходе сумматора получим значения нашего любимого индикатора WMA.
Допустим, таких нейронов во входном слое НС штук 20. Получается, что только один входной слой нашей НС уже содержит 20 различных индикаторов WMA.
Если слоев у нас несколько, то одна НС уже может иметь в своем составе сотенку-другую индикаторов WMA перемежающихся нелинейными элементами (скажу только, что нелинейные элементы там нужны).
Ну, и каким образом мы собираемся строить на индикаторах ТС аналогичную НС? Хотел бы я посмотреть на того героя, любителя индикаторов.)
Все тоже самое относится и к другим методам машинного обучения. Но, если что, то вперед за орденами, стройте.)
Это так, немного достало.)

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

    • 01 сентября 2021, 17:37
    • |
    • 3Qu
  • Еще
Прошлый топик мы завершили на том, что попытки поручить построение торговой системы (ТС) машинному обучению (МО) бесполезны, т.к. на рынке отсутствуют явные зависимости, а те которые есть подавляются псевдозависимостями присущими конкретному интервалу истории котировок.
Но, все-таки не верится. Мы ведь находим в инете и даже в комплекте с пакетами МО такие экземплы применения МО, что при запуске их на своем компе, мы порой находимся в изумлении — неужели такое вообще возможно сделать за каких-то 5 минут. Ну, если это можно, то брехня это, что нельзя поручить МО самой сделать ТС.
Ну, скажем задача разделения множеств различными методами МО:
Проектирование ТС. 5. Машинное обучение.
картинка с сайта - https://scikit-learn.org ©

Не самая крутая задача, но хрен вручную такой алгоритм за 5 минут построишь.)
Чего рассуждать, давайте вживую попробуем поручить МО сделать нам ТС. При торговле на рынке все упирается в прогнозировании цены, вот и поручим нейросети (НС) прогнозировать цену хотя бы на 5 минут вперед. Пусть даже не очень точно. Будем это делать НС из пакета scikit-learn.

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

Проектирование ТС. 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

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

Как играть и выигрывать интрадей. Краткие рекомендации.

    • 07 августа 2021, 15:01
    • |
    • 3Qu
  • Еще
1. Должны быть предпосылки для движения вверх или вниз. Об этом подробно написано в одном из передудущих топиков.
2. Должно начаться само движение вверх (вниз).
3. Должна быть некоторая уверенность (прогноз) что движение просуществует хотя бы 3-5 минут.
4. При выполнении п.п. 1-3 входим в сделку.
5. Непрерывно прогнозируем движение актива. Находимся в сделке до тех пор, пока прогноз не перестанет оправдываться, независимо от текущей прибыли/убытка в сделке. Т.е., закрываемся при наличии факта, что что-то пошло не так.

Дальше ждём следующей ситуации, когда выполняются п.п.1-3.
Вот и все.


Прогноз дивидендов и финансовых показателей с помощью аналитической DBMS - ClickHouse + Grafana на примере компании ММК

Всем привет, ранее для прогнозов на 1-й и 2-й квартал я использовал Excel — это так же мощный аналитический инструмент, но пора двигаться вперед и делать выбор в пользу 

  • скорости;
  • масштабируемости;
  • расширяемости;
  • высокой доступности и отказоустойчивость;
  • простоты развертывания и удобство эксплуатации.

В основном не хватало, возможности подгрузки свежих данный из любых источников и функций агрегации по временным интервалам для приведения к одному формату.
Так же я писал про инстурумен анализ рынка OLAP (TransaqConnector + Clickhouse + Grafana), где у нас уже подгружались все котировки биржи MOEX и для расчета «справедливой стоимости» компаний не хватало операционных и финансовых результатов и данных с сырьевых бирж металлов.
Надо отдать должное ММК публикует самые подробные данные по каждому квартал в разделе Инвесторам/Финансовые и операционные результаты находим 



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

Windows 10, Python, Anaconda, Miniconda (топик для питоноводов).

    • 28 июня 2021, 23:13
    • |
    • 3Qu
  • Еще
Доконал я, таки, свою Windows 10, стала еле ползать. Вначале восстановил штатной системой восстановления — не понравилось. Тогда сделал чистую установку. Вроде нормально, полетела. Поставил VS 2019, и очередь дошла до Python — что ставить?
Уже несколько лет использую Python для всех задач анализа данных и моделирования торговых систем. До того использовал разное — Excel, MathLab, SciLab, R. Python, имхо, оказался наиболее удобным и быстрым инструментом для решения всех околорыночных задач.
В свое время долго выбирал среду под Python, и, в конце концов остановился на Anaconda. Это самое оно для начинающих — все сразу сконфигурировано и готово к употреблению, уже сразу в базе ~700 пакетов, и не надо заморачиваться с их установкой. Кроме того, уже готовы к употреблению несколько сред разработки, я пользуюсь только одной — Spyder — не то, чтобы другие хуже, просто потребности не возникало.
В общем, для тех, кто только начинает работать с Python или не хочет заморачиваться с пакетами и средами, Anaconda — самое оно.
Однако, есть и недостатки. Очень большой объем на диске, долго ставится. Все 700 пакетов вам никогда не понадобятся, и по любому, позднее какие-то пакеты вам все равно придется устанавливать самостоятельно. Множество сред разработки тоже никогда не понадобятся, однако, чтобы получить общее представление о том, что есть под Python, для начальных этапов не вредно.

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

Связь Lua -> ваша программа. RAM Disk.

    • 11 мая 2021, 21:33
    • |
    • 3Qu
  • Еще
Я, вроде, уже писал подобный пост. Давно. Но, новое — хорошо забытое старое.
Очень многие неплохо владеют основами программирования, но написать DLL, связь через TCP или что-то другое для экспорта-импорта в Lua — это достаточно сложная процедура, и требует дополнительных знаний и много времени. Однако, если такую связь как-то по простому реализовать, то решились бы многие проблемы обмена данными с C#, Python и другими средами, и не надо вникать во всяческие C-API и прочие премудрости.
Однако, есть достаточно простой и доступный способ — обмен данными через файлы. Например, так:
1. программа Lua пишет строку (строки) данных в формате CSV в файл data.csv,
2. программа Lua создает пустой файл flag.ddd,
3. ваша программа проверяет наличие файла flag.ddd, что означает, что данные готовы к чтению,
4. при наличии файла flag.ddd программа читает данные файла data.csv и удаляет файл flag.ddd,
5. программа Lua проверяет наличие файла flag.ddd, и если этот файл отсутствует пишет строку (строки) данных в файл data.csv (см. п.1)
При обратном обмене происходит все тоже самое, только имена файлов другие.

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

Панель скальпинга для Quik.

    • 24 апреля 2021, 20:55
    • |
    • 3Qu
  • Еще
Недавно в одном из топиков анонсировал проект скальпинга и интрадея для Quik. С чего-то начинать надо, и начал с простенькой панели для скальпинга, чтобы не думая и ничего не настраивая нажимать на клавиши Buy/Sell. Ну, вот, сегодня слабал на C# вот это, первый вариант, самый простенький и без затей.
Пока панель выглядит так:
Панель скальпинга для Quik.

На данный момент панель предназначена для торговли одним инструментом, записанном в скрипте Lua. Чтобы сменить инструмент, его надо прописать в скрипте.
Панель не получает никакой информации из Quik, и это ей не нужно, а только передает через DLL в Lua данные о сделке: Buy/Sell, отступы и количество. Всю дальнейшею работу по формированию заявки, будет делать скрипт Lua.
На данный момент панель уже умеет взаимодействовать со скриптом и пока ничего более. Торговый функционал Lua, когда будет время перенесу из другого скрипта. Сейчас все равно выходной, и попробовать нет возможности.

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