Блог им. 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 |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 |Брошенная стратегия

    • 01 февраля 2020, 17:22
    • |
    • 3Qu
  • Еще
В топике Несостоявшаяся стратегия я писал о том, что летом я моделировал пару стратегий, и после окончания моделирования за делами-заботами стратегии не были реализованы и были заброшены до лучших времен. Вернулся я к работе над ними только сейчас. Обе стратегии разрабатывались и моделировались для работы с фьючерсами SBRF.
Одна из этих стратегий на фьючерсе SBRF-12.19 оказалась полностью неработоспособной. Вторая же стратегия оказалась более жизнестойкой и при прогоне модели на фьючерсах SBRF-9.19 и SBRF-12.19 показала хорошие и стабильные результаты.
Вот они:
Брошенная стратегия
По Х — номер сделки, по У — накопленная прибыль в пунктах инструмента.
Работа ведется одним фьючерсом SBRF-12.19 последние 3 месяца его существования.
Вот такие результаты модели. Следующий этап — реализация в торговой системе.
Более подробная информация о принципах построения стратегии изложена в топике Несостоявшаяся стратегия и комментариях к нему.

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