Постов с тегом "Python": 231

Python


Парсинг финансовых данных на Python

Собственно вопрос в следующем: есть какие-нибудь библиотеки на Python, через которые можно относительно безгеморройно парсить данные из годовой финансовой отчётности эмитентов (подразумевается — США)? Интересует возможность относительно легко и просто получать данные по годовой выручке, операционной прибыли, обесценении и амортизации, чистой прибыли; из балансового отчёта интересует: нераспределённая прибыль, акционерный капитал на начало года, акционерный капитал на конец года.

От библиотеки требуется понимать, что я хочу получить данные именно из годового отчёта, а не за 4-й квартал отчётного финансового года. В целом, здесь не было бы проблемы, если бы абсолютно у всех эмитентов финансовый год начинался 1 января, но в США довольно много эмитентов, у которых финансовый год начинается нестандартно.

Также требуется, чтобы библиотека могла выдавать данные за последние 5 лет — это очень важный критерий.

Я пробовал  библиотеки YahooFinancials, yfinance, api.tiingo.com.

Yfinance вроде ничего, но какая-то глючная (хотя может это просто у меня руки-крюки).



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

Пересечение скользящих средних + трейлинг стоп

В прошлых сериях:
— Простое пересечение скользящих стредних на 49 тикерах (https://smart-lab.ru/blog/730110.php)
— Пересечение + стоп в процентах от входа (https://smart-lab.ru/blog/730616.php). Стало только хуже.
— Пересечение + стоп на основе ATR (https://smart-lab.ru/blog/731254.php) Тоже стало хуже.

Тут та же стратегия + трейлинг стоп в процентах. Трейлинг стоп работает очень просто: если цена движется вверх, то стоп подтягивается на величину заданного процента. Если цена движется вниз, то стоп стоит на месте. Напомню, моя цель понять как точка выхода влияет на доходность стратегии. Все остальные условия неизменные. В идеале нужно увеличить доходность, при этом уменьшив просадку.

Рассмотрел четыре варианта трейлинг стопа: 1, 3, 5 и 10%.
Пересечение скользящих средних + трейлинг стоп

Топ 10 по доходности изначальной стратегии со всем вариантами трейлинг стопа

ret, max_dd — доходность и просадка простого пересечения скользящих средних
tps1...10_ret, tps1...10_max_dd — доходность и просадка разных процентов трейлин стопа

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

Софт для просмотра структуры портфеля акций

Сим творением пользуюсь сам постоянно. Буду рад, если кому-то ещё пригодится.

Характеристики

  1. Написан на Python 3, в качестве графической библиотеки используется Tkinter
  2. Цену берёт из API Мосбиржи. Цена — это цена закрытия
  3. Имеется возможность посмотреть цену и структуру портфеля на любую дату в прошлом
  4. Есть возможность импортировать структуру портфеля со Смартлаба
  5. Редактирование портфеля производится с помощь любого текстового редактора

Скриншот окна программы:
Софт для просмотра структуры портфеля акций

Попробовать можно так:
git clone https://github.com/eenden/my_case_tk.git
cd my_case_tk
python view.py
Рекомендуется создать виртуальное окружение с помощью virtualenv и использовать его. Зависимости, как обычно, в файле requirements.txt

Шаблон торговой системы на Python (backtrader, quantstats)

    • 22 сентября 2021, 21:54
    • |
    • Diamond
  • Еще
Сначала я пытался бэктестить системы в TradingView и этого было достаточно для быстрой оценки торговых гипотез, но оказалось, что мало просто знать, где купить и где продать. Не менее важно понимать, сколько купить или продать и для этого нужны другие инструменты.

Зачем Python?

Лично мне он показался удобнее. Например, можно быстро подключить telebot и система начнёт отправлять сигналы прямо в телегу на все девайсы. Работать со скриптами можно даже на айпаде где-нибудь в дороге, тоже плюс.

Самая простая система, которую можно потестить это пересечение двух скользящих средних: если быстрая SMA пересекает медленную вверх, то покупаем, а если вниз, то закрываем открытую позицию, шортить рынок не будем. Комиссии, проскальзывание и прочие расходы пока не учитываем, нужно начать с какой-то основы.

Что потребуется?

— backtrader для логики торговой системы

— quantstats для формирования отчёта

— Jupyter Notebook, если нужно удобнее редактировать код

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

Как просто изучить программирование

1) Неск недель (может месяцев) разобраться с базовыми конструкциями языка и базовыми структурами данных, связанный список, граф. Любой учебник, не больше 100 страниц, лучше если в нем есть картинки. Может быть скучновато, но это недолгий этап. Проверкой что вы эго закончили будет упражнение построить и сравнить два графа (см картинку), одинаковые они или нет, это полстраницы кода.

Как просто изучить программирование

2) Дальше, выполнить 1-4 интересных визуальных задачи. Визуальных ключевой момент поскольку у людей визуальная система ведущая и если ее задействовать то все будет получаться легче, проще и лучше. 

Например скачать текст Войны Миров, сделать гистограмму частоты слов, и нарисовать ее в красивом виде как на картинке ниже (в зависимости от уровня может уйти от неск дней до неск недель). В процессе выполнения вы обнаружите пробелы в своих знаниях и заполните их. После того как вы это сделаете вы будете знать 70% того что требуется знать в типовых задачах программирования.

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

Как из Python подключиться к API Московской Биржи и выудить оттуда данные?

    • 22 сентября 2021, 08:52
    • |
    • Oksana
  • Еще
Товарищи, объясните пожалуйста, как можно из Python подключиться через API к Московской Бирже и выудить оттуда нужную информацию по ISIN коду?
И ещё, куда можно их загрузить?(в какую-то таблицу или массив) Вроде mySQL бесплатная?
Огромная просьба, если можно, напишите здесь, а не ссылкой «вот, почитай там». По ссылкам, я там обычно всё равно ничего не понимаю((
Спасибо)

Нужно больше данных или как качать данные с яху финанс, финама и бинанса в одном месте

Нужно больше данных или как качать данные с яху финанс, финама и бинанса в одном месте



Короче, меня поглотило программирование. Данных нужно всё больше и одним бинансом не обойтись. Зафигачил единый интерфейс для яху финанс, финама и бинанса. Надеюсь внутренний программист меня отпустит и дальше напишу что-нибудь про тестирование стратегий.

В телеграме есть ссылка на гитхаб и примеры кода bit.ly/zenoftrading

Можно ли отбирать тикеры для конкретной стратегии на основе результатов данной стратегии на данном тикере в прошлом?

Можно. Только осторожно).

Конец статьи.

 

Ну ладно, не конец.

 

Обозначу контекст, чтоб сразу удобно было выключить, если чувствуешь, что не подходит: алго, бэктест стратегии сразу на большом кол-ве инструментов – т.е. скорее всего речь про акции чаще всего, а в данном посте – именно про акции.

 

Я называю это инерцией тикеров, другие это, может, никак не называют. Идея в чем: если стратегия норм, то она будет перформить на всем датасете нормально. Но конечно же для одних инструментов стратегия будет подходить больше, для других меньше. Для меня абсолютно норм тема торговать стратегию на всем дата-сете сплошняком. Но можно ли это улучшить. Можно ли тупо взять успешные в этой стратегии акции в прошлом и только их торговать. Тут, если прислушаться, можно услышать со всех сторон встревоженный шёпот: переподгонка… переподгонка… А посмотрим-ка. Как оказалось, зависит от стратегии. Где-то можно, где-то нельзя.

Для оценки я сделал следующее:



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

Скачиватель исторических данных с бинанса

Скачиватель исторических данных с бинанса


Для тестов мне нужно скачивать много исторических котировок с бинанса. Сделал для себя небольшую обертку на питоне. На выходе получается красивый датафрейм с удобочитаемой датой и столбцами open, high, low, close, volume и csv файл в придачу. Датафрейм или файл можно подавать на вход тестировщика.

Сегодня, например, без особых проблем скачал 1,9 млн строчек минутных котировок.

Исходники залил на гитхаб. Ссылку можно взять у меня в телеграме: bit.ly/zenoftrading
  • обсудить на форуме:
  • Binance

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