Блог им. 3Qu

Моделирование стратегий на Python. С чего начинать.

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

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

Теперь, литература. Я начинал с книги — Марк Саммерфилд Программирование на Python 3. Подробное руководство. 2009 гКнига есть в интернете.
Книга слегка устарела и не содержит новых фишек, но для начала они и не нужны. Пожалуй, это единственная книга о Python, которую я читал. В интернете имеется подробная документация как по самому Python (https://www.python.org/), так и по всем его модулям, и этого более чем достаточно для любых целей.

Что касается примеров кода для моделирования стратегий, то такие простые примеры есть в моих топиках. Возможно где-то еще — я не в курсе, как-то ни к чему было.
Youtube содержит множество учебных материалов по Python, включая пошаговую реал-тайм разработку несложных программ с подробными комментариями и пояснениями. Это может быть интересно.

PS Комментарии к топику модерируются. Не тратьте время, не пишите чушь.)
★15
34 комментария
Еще в телеге учебный канал по Питону хороший https://t.me/seniorpythonist (не реклама, не моё)
avatar
На курсере и других онлайн образовательных площадках, есть нормальные курсы по питону, если все нормально с английским я бы их советовал. Так как там обычно хороший баланс теории и практики, и по деньгам не дорого, есть совсем бесплатные.
avatar
Спасибо!  Самое то для чайников!
avatar
Давай лучше примеры:

Коннект к терминалу.
Получить свечку.
Выставить лимитку.
Убедиться что рынок лимитку слизал.

Так и начнётся.
avatar
Turbo Pascal, учить программированию на Питон я нигде не обещал. Сорри. Это самостоятельно.
А что обещал, выполнил.
avatar
3Qu, а как Питон с квиком сконнектить? Я тут Питоню помаленьку, и выяснил что Фреймы страшно тормозные, а вот на массивах все летает, это я о простом переборе данных, я там структуры искал, так вот и охренел от увиденного.
avatar
iuiu, к Квику приделываю С++ ДЛЛ, а уже из ДЛЛ вызывается Питон через его API.
Если стратегия не требует высокой скорости, то можно связать через файловый обмен. Там есть несколько вариантов. У меня, вроде, где-то пост был на эту тему.
Но, вообще, если функционал на Питоне несложен, то его проще переписать на язык системы. Скажем, тот же Луа.
avatar
Гугл колаб проще оноконды
avatar
Скажи а бэктесты Ты в каком софте делаешь? Есть же софт специальный в котором Ты уже код пишешь или вставляешь готовый для бэктеста? Сорян я не программист но надеюсь что понятно объяснил)
avatar
Alex_Gold, Spyder.
avatar
3Qu, Понял, благодарю.
avatar
для постороения графиков на питоне есть отличный модуль finplot
avatar
По книгам — классикой читается лурц. вводная книжка есть (изучаем питон) и  двухтомник «практики программирования».  Также неплохие есть курсы на стептик stepik.org и более продвинутая специализация на курсера.
С этим проблем как раз нет.
От Вас хотелось бы услышать именно специфику в предметной области (например как забирать из квика историю котировок )  и примеры.
avatar
Gregori, ну, это к Питону отношения не имеет. Обычно для моделирования хватает истории 1м, и любая история имеется в инет. Например на сайте Финам.
А как забирать из Квик, у меня есть топик с примером, да, и в инете это можно найти.
avatar
3Qu, 
ок. посмотрю Ваши записи. спасибо. вопросы ещё
1. Какие библиотеки используйте? 
2. Значение индикаторов (если система предусматривает их использование) можно из квика брать или нужно  их на пайтоне описывать (или какие то библиотеки готовые используйте)
avatar
Gregori, я использую Питон для моделирования торговых систем. Для этого, как правило, не нужна его связь с Квик, т.е. вся инфраструктура стратегии (индикаторы и пр) делается на Питон.
Совместить Квик и Питон достаточно сложно и редко нужно, и после отладки стратегии, я переписываю стратегию на рабочий язык.
Библиотеки Питон — самые обычные, все или почти все основные есть в книгах по Питон. Топик, все-таки, для тех кто только собирается начать.
avatar
3Qu, самыми обычными библиотеками выйдет довольно трудоёмко (те же индюки самому писать). и непонятно тогда почему именно пайтон, а не vba например в exel. и не какое то специализированое решение (tslab, скриптовый язык в трейдингвью и т д_
avatar
Я установил  Spyder 3  даже на такую приблуду Orange Pi3. Пришлось установить MambaForge  от Conda-Forge.org  и перерыть кучу Github.В  таких одноплатных компьютерах (Orange Pi,Raspberry Pi,Pine и др.)                          стоит процессор Aarch64  или  ARM64, который поддерживает пакеты Conda.  Потому часто конфликты пакетов PIP vs Conda  (важное правило! — создание среды и установка пакетов на PIP или Conda только ,-- их нельзя смешивать) .
 В основном, все ставится с Anaconda.org, с пометкой Aarch64          
или ARm64.
 Конечно,



на Spyder 3  много не «накодишь», а только для изучения. Но на старшей машине с Windows  стоит Spyder 4   на подмогу:)
avatar
Вельвет, до Raspberry не добрался, только смотрел возможности, реально ни к чему было. Ограничился STM32.) Вот с этим реально поиграл. Клевая штучка для всякой автоматики.
avatar
А гуманитариям помогаете с питоном? ) Я кодируют понемногу, но все к бэктестеру подбираюсь )
avatar
Врач-бондиатОр, книгу и среду разработки которые я рекомендую я привел выше.
avatar
3Qu, я в спайдере все и делаю. Из книг когда-то купил 5 издание Марка Лутца.
avatar

теги блога 3Qu

....все тэги



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