Алготрейдинг на Python. Торговые роботы.Скальпинг
747 subscribers
36 photos
2 videos
2 files
46 links
Канал блога алготрейдинг.рф
В 48 начал изучать Python с нуля. Здесь делюсь знаниями и рассказываю о том, что получается сделать.
админ: @Severland
чат "Алготрейдинг АлгоКоллектива" t.me/algotrading_ru
чат "Flet-GUI для Python программ" t.me/flet_GUI
Download Telegram
Всем привет! Затянул с программой, т.к. не смог себя остановить и решил таки реализовать внезапно появившуюся идею - сделать мини сайт под мою вторую программу, а это + 2 дня на изучение генератора статичных сайтов. Идея родилась после первого опыта на 🐍. Итак, программа добывает исторические данные по акциям Мосбиржи в объеме OHLCV (Open-High-Low-Close-Volume). Да, это всего лишь консольное приложение, но полностью работоспособное и вполне самодостаточное для поставленной задачи.
ВНИМАНИЕ! Есть, по крайне мере на текущий момент, приятный бонус - данные доступны за достаточно большой период!
Например SBER в минутках доступен с 2011-12-15 10:00:00 и сейчас скачивается 1,8 млн записей в объеме 160мБ.
Программу можно скачать с сайта https://tahometr.ru/ , буду рад, если пригодится! Репосты приветствуются)
👍13
написал ради интереса скрипт statistics_candles.exe для подсчета статистики работы программы. На текущий момент если качать данные по всем акциям по 4 таймфреймам получаем 996 файлов исторических данных с 114,6 миллионами строчек(свечек), общий объем сохраненных данных составляет 9.15 Гб
👍6
Уважаемые подписчики! Хочу всех Вас пригласить в созданный мной чат "Алготрейдинг АлгоКоллектива России" https://t.me/algotrading_ru
У многих есть какие-либо вопросы, хочется что-то обсудить, чем-то поделиться, что-то спросить. Коллективный разум - это здорово. Буду рад, если примите это приглашение! 🤘
👍5
https://t.me/algotrading_ru/21/110
И все же Искусственный Интеллект не перестает удивлять! Программирует, рисует, теперь еще и поет. Выдал прямо хит по теме. Приятного прослушивания.
Всем привет! Не так давно я сделал свою первую минипрограмму на Python для получения исторических данных с Мосбиржи. Это консольный вариант и не совсем то, что хотелось получить и чем было бы удобно пользоваться. Поэтому я решил освоить хотя бы в базовом объеме какой-нибудь инструмент для создания графического интерфейса на пайтон. Освоить его для того, чтобы любые будущие программы можно было оформлять в виде удобного и красивого программного софта. Это может быть и та же программа для получения исторических данных, программа для анализа этих данных, программа - обертка для торгового робота и т.д. Однозначно это затягивает и осложняет путь погружения в алготрейдинг. Это из серии чего-то прикладного, без чего точно можно обойтись, но тем не менее я все же решил захватить и это направление тоже.
(Есть еще желание освоить создание ботов в телеграмм и немного начать разбираться в базах данных.Время покажет - будет ли оно для изучения этих направлений. )
👍3
Сейчас я хочу поделиться информацией по инструментам для создания GUI на python.
Во первых я достаточно много посмотрел роликов и публикаций чтобы выбрать для себя что-то из разряда: 1)современного и красивого 2)функционального 3)мультиплатформенного 4) простого в освоении.
На каких вариантах было желание остановиться и почему я их отсек:

Tkinter (встроен в стандартную библиотеку языка) - отличный вариант для старта, но морально устаревшее решение. Всеобщее мнение оказало силу влияния.
wxPython. По этой библиотеке пожалуй самое большое количество всевозможных учебных материалов, курсов и книг. Сначала было желание остановиться именно на нем, но стал смотреть в сторону более современных решений, информацию о которых нашел немного позже.
PyQt. Видимо это самая крутая штука, но скорее всего и самая сложная. Сразу отсек именно по этой причине. Если будите изучать - обратите внимание на надстройку PyDracula.
👍1
KivyMD - сплошная красота в прямом смысле слова, не зацепило для моих задач.
Streamlit. Очень хороший инструмент для анализа данных и различных исследований. Но мне показалось, что это совсем уж узко инженерный и научный продукт. Не подходит.
reflex. Отличный вариант для веба с красивыми элементами управления.Не стал погружаться в детали.
NiceGUI и PyWebIO - очень даже интересные варианты, но отсек уже на самом финише выбора.
Flet - ну уж совсем молодой фреймворк. Находится в стадии становления. Постоянно новые версии, устранение ошибок - пожалуй это единственный небольшой минус, хотя такое активное развитие - есть жирный плюс. Разработчик из Канады. Как можно догадаться именно на нем я и сделал свой выбор. Чуть позже расскажу почему.

#python_с_нуля
👍4
Flet – это новый современный фреймворк, позволяющий создавать мультиплатформенные веб-, мобильные и настольные приложения на Python.

Flet позволяет упаковывать ваши приложения для распространения на всех платформах -  Windows, macOS, Linux, Web, iOS (ipa), Android (apk/aab). Для создания настольных приложений используется не общепринятый для Python PyInstaller, а Flutter SDK, обеспечивающий создание быстрого и автономного исполняемого файла.

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

Интерфейс программ, созданных с помощью Flet, строится на основе виджетов Flutter. Flet при этом объединяет их в готовые и удобные к использованию «элементы управления». Благодаря этим инструментам приложение выглядит профессионально. (Flutter - это открытый набор инструментов для разработки пользовательских интерфейсов, созданный компанией Google).

В настоящее время Flet поддерживается языком Python, но в стадии разработки еще поддержка языков Go и C#.

#python_с_нуля #flet
👍2
Всем привет! Нашел на этой неделе время и протестировал работу с БД SQLlite. Почитал первые главы одного замечательного учебника по SQL и воспользовался шпаргалками с Хабра. Ссылки на эти источники есть в статье моего блога.
Написал в качестве эксперимента два скрипта. С помощью первого все файлы с котировками акций загнал в одну базу данных с транформацией времени в unix время. На все ушло 48мин. Вторым скриптом обратно из базы данных сгенерировал csv файлы с котировками. - на все ушло 15 мин.

#python_с_нуля #sql #sqllite
👍54
Впечатления - отличные, за исключением скорости. У меня ssd диск и на hdd видимо время будет еще дольше. С другой стороны это время затрачено вообще на все акции на всей их многолетней истории и с 4 разными таймфреймами. Уверен, что при записи потока живых данных по нескольким акциям вопрос времени вообще не будет препятствием к использованию sqllite. Чтение же данных идет намного быстрее записи и это для анализа и тестирования стратегий очень хорошо.
Еще в ходе эксперимента я нашел одну ошибку в первой версии программы Тахометр трейдера, а именно нашел несколько дублей строк. При записи в БД эти несколько дублей исчезли благодаря соответствующему sql запросу. В самой программе эту проблему также устраню при следующей модернизации.
👍2🤨2
И последнее. Во время написания скрипта пришла мысль, "а почему бы Мосбирже не отправлять данные, как минимум текущие "живые", по технологии WebSocket?" Почитал про эту технологию подробнее - однозначно должна быть именно такая передача данных, по этой технологии например идут данные на постоянно меняющийся график акций в вашем браузере. А get запросы, создают временные "рывки" в получении данных. Постоянно надо крутить циклы с их отправкой. Вообщем я задал в телеге вопрос представителю мосбиржи, на что получил ответ: "да, все по гет запросам. Про вебсокет ходят только разговоры пока. Конкретики по ним пока нет".

#мосбиржа #Algopack
🔥2👍1