Блог им. 3Qu |Прогнозирование - это просто.

    • 23 апреля 2024, 18:48
    • |
    • 3Qu
  • Еще
Прогнозирование — это просто. Доступно любому желающему. Прогнозирование котировок на 5 минут вперед. Для интрадея самое оно. Для чего-то большего и длительного — эт не знаю.
В данном примере берем язык Python, строим простейшую нейросеть (перцептрон, 4 слоя) — 15 входов и 1 выход, на котором имеем прогнозируемое значение котировок. На входы подаем обучающую последовательность — Close минутных данных и Close через 5 минут после окончания нашей входной 15 минутной последовательности. Формируем также тестовую последовательность (у меня это 1000 экземпляров). Нормируем наши обучающую и тестовые последовательности, обучаем, и получаем на тестовой последовательности картинку.
Прогнозирование - это просто.
по х — прогнозируемые значения на 5 минут вперед, по у — реальные значения через 5 минут.
Значения predict около нуля (> -0.05 и <0.05) для сделок нас не интересуют, мы же не хотим получать нулевую прибыль, а вот значения <-0.05 и >0.05 для совершения сделок уже вполне подходят, и на графике мы видим, что в этом диапазоне неудачных сделок не так уж и много — в прибыли больше.

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

Блог им. 3Qu |Python и Java: кто заберет золото

    • 01 сентября 2023, 04:22
    • |
    • 3Qu
  • Еще
К дискуссии о том, какой язык программирования целесообразней использовать для алготрейдинга.
Python и Java: кто заберет золото?

https://www.securitylab.ru/news/541378.php


Блог им. 3Qu |В защиту Python (язык такой, программирования).

    • 28 января 2023, 19:28
    • |
    • 3Qu
  • Еще
На чем чем только не писал стратегии — На VBA Excel, VB.NET (тогда еще так назывался), C#, C++. Не обошлось и без участия скриптовых языков Java Script, Lua. Не обошлось и без специализированных языков, R, например — вот где тягомотина по исполнению и большая помойка пакетов. Мож там и есть бриллианты, но кто будет искать бриллианты в помойке.) MQL4 -5 — эти, г… но полное — это не делай, туда не ходи — нах такие языки. Еще и другие были, всех и не перечислишь.
Лет, этак 5-7 тому перешел на Python (С++ тоже не забываю)). Python понравился резко и сразу. Стратегий на нем пока не писал, но моделировал много. Сейчас планирую сделать первую, для Binance. Ага, криптой торговать собираюсь. Я, так полагаю, что МОЕХ умер (или почти), и делать там абсолютно нечего. Умирал он долго и мучительно, аж с 14-го года. Жаль, вообще то, неплохой был рынок.
Итак, чем хорош Python. Это, в первую очередь, нулевой порог входа — вчера вы еще ничего не знали о нем, а сегодня уже нейросети и прочие machine learning применяете для своих задач. Да, с переменным успехом, но, ведь, применяете.) Не, ну, для тех, кто не в ладах с обычной логикой, любой язык программирования противопоказан, но не о них речь.

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

Блог им. 3Qu |Моделирование стратегий на Python. С чего начинать.

    • 11 февраля 2022, 19:13
    • |
    • 3Qu
  • Еще
В предыдущей теме слегка неосторожно обмолвился, что помогу желающим начать программировать на Python. Таковых желающих уже оказалось несколько человек. И выбор — либо отвечать всем по очереди и, с вариациями, почти одно и тоже, либо написать топик, почти очевиден — написать топик и ответить всем разом. Кроме того, есть вероятность, что меня дополнят и поправят.

Итак, чтобы начать работать с Python, надо установить среду Python. Для совсем начинающих я рекомендую Anaconda. В Anaconda все в одном флаконе — большинство необходимых модулей, среды разработки, документация — вам ни с чем не придется заморачиваться, сиди работай и ни о чем не беспокойся. Из сред разработки я предпочитаю Spyder — он уже изначально входит в комплект поставки Anaconda, и вам опять ни о чем беспокоиться не надо. Многие предпочитают другие среды разработки, но это их выбор.
Более продвинутые могут установить Miniconda, что я и делаю на данном этапе. Начинать и даже продолжать со среды Python я бы не советовал, но это, опять таки, мое личное мнение. Можно я больше не буду после каждой фразы писать ИМХО — ИМХО, это очевидно, а чье же еще это мнение.)

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

Блог им. 3Qu |Моделирование интрадей стратегии на Python. Результаты

    • 10 февраля 2022, 22:31
    • |
    • 3Qu
  • Еще
Я уже писал, что ухожу из трейдинга временно или постоянно, пока не решу вопросы  его прибыльности и окупаемости. Не хочу, знаете ли, работать и получать за работу ниже чем то, что, мне кажется приемлемым. Лучше на диване лежать.)) Об этом я подробно писал в топиках - Жив ли трейдинг? и Объявление об уходе. В общем, чтобы вернуться к трейдингу надо решить ряд описанных в топиках проблем, чем и занимаюсь — моделирую стратегии на Python в поисках приемлемого решения.
Поднял свои уже старые нереализованные модели стратегий на Python, загружаю в них различные биржевые инструменты, и смотрю, можно ли, выгодно ли, и имеет ли смысл с ними реально работать.
Итак, представляю вам первую нереализованную интрадей стратегию на Python — ее тест на 1-м фьючерсе Si-3.22 c 15.12.21 по 09.02.22 включительно.
Моделирование интрадей стратегии на Python. Результаты
по Х -номер сделки, по У — накопленная прибыль в пунктах инструмента. 1 п = 1 рубь.

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

Блог им. 3Qu |Прямая пропаганда Python.

    • 10 февраля 2022, 17:01
    • |
    • 3Qu
  • Еще
Спрашивал многих — на чем вы моделируете и отрабатываете стратегии? Ответы — Луа, С #, Delphi, C++, Java, php и пр.  Хорошие языки, спору нет. Но хороши они для релиза. И лишь немногие при моделировании стратегий работают с Python.
Чем хорош Python?.. Это простота изучения — с нуля можно начать за считанные дни. Это громадные библиотеки — математические, машинное обучения, преобразования, работа с векторами и сложной графикой. Это простота моделирования — слабать стратегию можно за вечер.
Да, когда придет время релиза, придется все это переписывать на другой язык, но библиотеки можно оставить из Python — они оч быстрые, написаны на С++. Интерфейсы ко многим языкам имеются.
Для проверки ваших рыночных гипотез и моделирования стратегий переходите на Python. Чем могу, помогу. Но не обучаю, для этого книги есть- ничего сложного. По книгам и среде посоветую, для начала.

PS. Так, для справки, если покопаетесь в инете, то увидите, что NASA уже почти все пишет и моделирует на Python, и уже потом критические участки кода переводит на С++.

Блог им. 3Qu |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, для начальных этапов не вредно.

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

Блог им. 3Qu |Использование Машинного Обучения в торговых системах. Реализация.

    • 18 января 2021, 22:58
    • |
    • 3Qu
  • Еще
В топике Использование Машинного Обучения в торговых системах. Простейшее применение описаны принципы построение логики ТС с применением Машинного Обучения (МО). Вкратце опишем пути реализации.
Это уже посложней — нам понадобятся знания  Lua, С++ и Python.
Я предпочитаю ничего не делать сам, особенно, если для написания программы требуется изучение и реализация сложных алгоритмов. Зачем это делать, если можно использовать уже готовое. В современном программировании это один из основных принципов объектно-ориентированного программирования — берешь готовый объект и используешь. Если есть уже готовые библиотеки с нужными программами, то их и используем — сокращает время реализации, не надо беспокоиться об отладке, и много других плюсов. Извините, ленив и нелюбопытен — есть масса других интересных вещей, на которые можно потратить свое время.
Для начала пишем на C++ простенькую DLL для связи с Lua — шаблон проекта такой DLL вы можете найти в моих топиках. Нужный Вам код вам придется писать самим.

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

Блог им. 3Qu |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


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

Блог им. 3Qu |Нейросети в торговых системах. 1.

    • 25 июня 2020, 22:59
    • |
    • 3Qu
  • Еще

Вначале о грустном. Не понимая теорию нейросетей (НС) у вас вряд ли получится построить на ней ТС. Поэтому лучше для начала почитать теорию, например, Хайкин Саймон. «Нейронные сети. Полный курс». Книга уже достаточно старая и в ней нет новомодных веяний, но она дает базовые представления о НС.

И второе, мы будем далее для построения систем использовать пакет scikit-learn для Python. рекомендую ознакомиться. Есть и более продвинутые пакеты, скажем, TensorFlow и др., но их использовать мы не будем, и ограничимся более простым scikit-learn.
Теперь о том, чего здесь не будет. Здесь не будет теории НС, разве эпизодически и оч кратко. Здесь не будет описания пакетов Python, работы с графикой и пр. Обо всем этом вы можете прочесть в интернете, книгах, и документации Python.
В топике мы будем обсуждать только применение НС к ТС и их построению.
Так как тема достаточно велика, в один топик не влезет, сегодня мы займемся самыми общими вопросами. Следующая часть будет недели через две, раньше не получается.



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

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