В этой статье собрано большое количество трехсторонних библиотек количественных финансов, классифицированных по функциям, охватывающих числовые операции, ценообразование деривативов, тестирование на исторических данных, управление рисками, сканирование данных, визуализацию и другие подполя, для справки каждому программисту Python.
Не изобретайте велосипед, определите проблему, которую нужно решить, а затем ищите соответствующие инструменты. Доказана высокая эффективность многих известных пакетов, таких как Numpy, Pandas, Seaborn, backtrader и т. д. Даже если не найден пакет, соответствующий сценарию приложения, аналогичные инструменты могут служить ориентиром для создания собственных решений.
Контент взят из проекта Github «Awesome Quant», созданного Уилсоном Фрейтасом, ссылка на проект: Awesome Quant[1].
Научные операции и структуры данных
-
numpy[2] — базовый пакет для числовых операций, scipy и numpy позволяют Python выполнять эффективные матричные операции.
-
scipy[3] — экосистема научных вычислений, широко используемая в областях естественных наук, таких как математика, физика и инженерия.
-
pandas[4] — Предоставляет высокопроизводительные структуры данных и инструменты анализа данных.
-
quantdsl[5] — предметно-ориентированный язык для количественного анализа в финансах/трейдинге
-
статистика[6] - выполнение основных статистических операций
-
sympy[7] - посвящен символической математике
-
pymc3 [8] — вероятностное программирование с помощью Python, байесовское моделирование и вероятностное машинное обучение с Theano.
Финансовые инструменты и ценообразование
-
PyQL[9] — интерфейс Python для Quantlib
-
pyfin[10] - Ценообразование опционов
-
vollib[11] - Вычислить цены опционов, подразумеваемую волатильность и греки
-
QuantPy[12] — количественный финансовый анализ
-
Finance-Python[13] - Количественный финансовый анализ
-
ffn[14] — расширение Pandas, предоставляющее ряд функций для базового количественного анализа.
-
pynance[15] — сбор, анализ и визуализация данных для рынков акций и деривативов.
-
hasura/base-python-dash[16] — быстрое начало развертывания приложений Dash. Dash основан на Flask, Plotly.js и React.js, что позволяет пользователям быстро создавать мощные веб-приложения для анализа данных с помощью чистого Python.
-
hasura/base-python-bokeh[17] — Как использовать боке для визуализации данных
-
pysabr[18] — реализация модели SABR на Python
технические индикаторы
-
pandas_talib[19] - Интеграция Pandas и Talib, использование панд для расчета технических индикаторов
-
finta[20] - Расчет общих технических индикаторов с Pandas
-
Tulipy[21] - библиотека технических индикаторов (привязки Python для tulipindicators)
Количественная торговля/тестирование на истории
-
TA-Lib[22] - Расчет технических индикаторов, глубоко интегрированный с Numpy.
-
trade[23] — базовый пакет для разработки финансовых приложений
-
zipline[24] — мощный фреймворк для тестирования на истории, используемый в качестве базовой технологии многими количественными торговыми платформами, включая Qauntopian, Jukuan и т. д.
-
QuantSoftware Toolkit[25] — Создание портфолио и управление им
-
количественное [26] - Основные инструменты количественного финансирования, тестирование на истории
-
Analyzer[27] - получайте котировки в реальном времени и проверяйте их
-
bt[28] — среда тестирования на истории, более гибкая, чем Zipline.
-
backtrader[29] — фреймворк для тестирования на истории, поддерживающий твердую торговлю. За последние несколько лет он быстро вырос и стал одним из самых популярных количественных инструментов.
-
pythalesians[30] - Фреймворк для тестирования на исторических данных
-
pybacktest[31] — векторизованный фреймворк для бэктестинга, векторизация позволяет быстро бэктрекингить, но точность теста не высока
-
pyalgotrade[32] — фреймворк для тестирования на истории
-
TradingWithPython[33] — предоставляет ряд функций и пользовательских классов для управления количественными транзакциями.
-
Pandas TA[34] - Расширение Pandas, включая 115 технических индикаторов, позволяет быстро создавать торговые стратегии
-
ta[35] - Расчет технических индикаторов с помощью Pandas
-
algobroker[36] — механизм развертывания алгоритмической торговли.
-
pysentosa[37] — интерфейс Python для торговой системы sentosa.
-
finmarketpy[38] — Анализ рыночных данных, поддержка простого тестирования на исторических данных.
-
binary-martingale[39] - программа для автоматической торговли, торгующая бинарными опционами по стратегии мартингейл
-
Fooltrader[40] - Количественный анализ с использованием технологии больших данных, включая тестирование на исторических данных.
-
zvt[41] — предоставляет унифицированный и гибкий способ получения данных, расчета коэффициентов, выбора акций, тестирования на исторических данных и сделок в реальном времени.
-
pylivtrader[42] — торговая библиотека в реальном времени, совместимая с zipline.
-
pipe-live[43] — библиотека расширения zipline для реальной торговли
-
zipline-extensions[44] — расширение Zipline, адаптированное для QuantRocket.
-
moonshot[45] — Векторизованный движок для тестирования и торговли
-
PyPortfolioOpt [46] — оптимизация финансового портфеля, включая создание эффективных границ и другие передовые алгоритмы.
-
Riskparity.py[47] — разработка портфелей паритета рисков с помощью TensorFlow.
-
mlfinlab[48] — Реализация книги «Приложения машинного обучения в финансах»
-
pyqstrat[49] - Быстрое тестирование торговых стратегий
-
pinkfish[50] - анализ безопасности
-
aat[51] - Асинхронный алгоритмический торговый движок
-
Backtesting.py[52] — среда тестирования на истории
-
катализатор[53] — фреймворк для тестирования на исторических данных, посвященный рынкам цифровых валют.
-
quantstats[54] - Анализ портфеля
-
qtpylib[55] — фреймворк для тестирования на исторических данных, поддерживает реальную торговлю
-
freqtrade[56] - робот для торговли цифровыми валютами с открытым исходным кодом
-
алгоритмическая-торговля-с-питоном[57] - исходный код и данные книги "Алгоритмическая торговля на Python"
-
DeepDow [58] — оптимизация портфеля с помощью глубокого обучения
Анализ риска
-
pyfolio[59] — Расчет показателей производительности для портфелей и торговых стратегий.
-
empyrical[60] — Расчет общих показателей риска и производительности.
-
fecon235 [61] - Финансовый эконометрический инструментарий, включая лептокуртотические модели гауссовой смеси рисков, адаптивные портфели Больцмана.
-
финансы[62] - рассчитать финансовый риск
-
qfrm[63] - Количественное управление финансовыми рисками
-
visualize-wealth[64] - Построение портфеля и количественный анализ
-
VisualPortfolio[65] — Визуализация производительности портфолио.
факторный анализ
-
alphalens[66] - Анализ эффективности прогностических факторов
последовательно
-
ARCH[67] — Python реализует модель ARCH.
-
statsmodels[68] — библиотека эконометрических моделей для создания регрессионных моделей, статистических тестов, моделей временных рядов.
-
dynts[69] - Управление и анализ временных рядов
-
PyFlux [70] — Моделирование временных рядов и причинно-следственный вывод
-
tsfresh[71] — извлечь значимые признаки из временных рядов
-
hasura/quandl-metabase[72] — Визуализация набора данных временных рядов Quandl.
календарь
-
Trading_calendars[73] - Экономические календари фондовой биржи
-
bizdays[74] - Расчет и утилита для расчета дней недели.
-
pandas_market_calendars[75] - Расширение Pandas, биржевого экономического календаря
источник данных
-
findatapy[76] — получение данных из Bloomberg Terminal, Quandl и Yahoo Finance
-
googlefinance[77] – Получайте котировки акций в режиме реального времени из Google Финансов.
-
yahoo-finance[78] - Загрузите котировки акций, исторические цены, информацию о продуктах и финансовые отчеты с Yahoo Finance.
-
pandas-datareader[79] — получение экономических/финансовых временных рядов из нескольких источников данных, включая Google Finance, Yahoo Finance, St. Louis Fed (FRED), OECD, Fama/French, Всемирный банк, Евростат и т. д., это Pandas. экосистема важные компоненты системы
-
pandas-finance[80] — предоставляет высокоуровневый интерфейс для загрузки и анализа финансовых временных рядов.
-
pyhoofinance[81] — пакетная выборка биржевых данных из Yahoo Finance.
-
yfinanceapi[82] — Получить данные от Yahoo Finance
-
yql-finance[83] — получить данные от Yahoo Finance
-
ystockquote[84] - Получите котировки в реальном времени от Yahoo Finance
-
WallStreet[85] - котировки акций и опционов в режиме реального времени
-
stock_extractor[86] - Сканировать биржевую информацию из Интернета
-
Stockex[87] - получить данные от Yahoo Finance
-
finsymbols[88] — Получите подробные данные о компаниях, котирующихся на NSE, NYSE и NASDAQ.
-
inquisitor[89] - Получите экономические данные от Econdb, агрегатора глобальных экономических показателей.
-
chinesestockapi[90] - получить данные А-акций
-
exchange[91] - Получить последние котировки обменного курса
-
ticks[92] - программа командной строки для получения биржевых тиков
-
pybbg[93] — интерфейс Python для терминала Bloomberg COM
-
ccy[94] - получить данные о валюте
-
tushare[95] - Получите исторические данные о китайских фондовых, фондовых, облигационных и фьючерсных рынках.
-
jsm[96] - Получить исторические данные японского фондового рынка
-
cn_stock_src[97] - Получить данные о запасах Китая из разных источников данных
-
coinmarketcap[98] - получить данные о цифровой валюте от coinmarketcap
-
after-hours[99] — Узнайте рыночные цены акций США до и после закрытия.
-
bronto-python[100] — интегрированный интерфейс Bronto API
-
pytdx[101] — получение котировок китайских акций в режиме реального времени.
-
pdblp[102] — общедоступный интерфейс для интеграции терминалов Pandas и Bloomberg.
-
tiingo[103] - ежедневная K-линия акций и поток котировок/новостей в режиме реального времени с платформы Tiingo
-
IEX[104] — получение котировок акций и исторических данных с биржи IEX в режиме реального времени.
-
alpaca-trade-api[105] — Получайте котировки акций и исторические данные с платформы Alpaca в режиме реального времени, а также предоставляйте торговый интерфейс для торговли акциями США.
-
metatrader5[106] — интегрированная торговая платформа Python и MQL5, подходящая для торговли иностранной валютой.
-
akshare[107] - Получить китайские акции, фонды, облигации и макроэкономические данные
-
yahooquery[108] — получение данных от Yahoo Finance
-
investpy[109] — получить данные с Investing.com
-
yliveticker[110] — получайте котировки Yahoo Finance в режиме реального времени через Websocket
Интеграция с Excel
-
xlwings[111] — глубокая интеграция Python и Excel.
-
openpyxl[112] - Чтение/запись файлов Excel 2007 xlsx/xlsm
-
xlrd[113] — извлечение данных из электронных таблиц Excel.
-
xlsxwriter [114] — записывает данные в электронную таблицу Excel.
-
xlwt[115] — создание кроссплатформенных и обратно совместимых электронных таблиц.
-
DataNitro[116] — глубокая интеграция Python и Excel, бесплатная пробная версия, коммерческое платное программное обеспечение.
-
xlloop[117] - создание пользовательских функций Excel
-
expy[118] — надстройка Excel, которая позволяет пользователям выполнять код Python и определять пользовательские функции из электронных таблиц.
-
pyxll[119] — надстройка Excel, выполнение кода Python из Excel
визуализация
-
Matplotlib[120] — базовый пакет для визуализации данных Python, от двумерных до трехмерных диаграмм.
-
Seaborn[121] — на основе Matplotlib быстро создавайте красивые статистические диаграммы.
-
Plotly[122] - Создавайте динамические и интерактивные диаграммы.
-
Altair[123] — инструмент статистической визуализации, поддерживающий как статические, так и интерактивные диаграммы.
-
D-Tale[124] — Визуализация структур данных Pandas.