Библиотека QuantStats Python, которая выполняет профилирование портфеля, позволяя количественным аналитикам и менеджерам портфеля лучше понимать свою эффективность, предоставляя им углубленную аналитику и показатели риска.
Журнал изменений »
quantstats.stats
— для расчета различных показателей производительности, таких как коэффициент Шарпа, процент побед, волатильность и т. д.quantstats.plots
— для визуализации производительности, просадок, скользящей статистики, ежемесячной доходности и т. д.quantstats.reports
— для создания отчетов о показателях, пакетной печати и создания отрывных листов, которые можно сохранить в виде HTML-файла.Вот пример простого отрывного листа, анализирующего стратегию:
% matplotlib inline
import quantstats as qs
# extend pandas functionality with metrics, etc.
qs . extend_pandas ()
# fetch the daily returns for a stock
stock = qs . utils . download_returns ( 'META' )
# show sharpe ratio
qs . stats . sharpe ( stock )
# or using extend_pandas() :)
stock . sharpe ()
Выход:
0.8135304438803402
qs . plots . snapshot ( stock , title = 'Facebook Performance' , show = True )
# can also be called via:
# stock.plot_snapshot(title='Facebook Performance', show=True)
Выход:
Вы можете создать 7 различных листов отчета:
qs.reports.metrics(mode='basic|full", ...)
— показывает базовые/полные метрикиqs.reports.plots(mode='basic|full", ...)
— показывает базовые/полные графикиqs.reports.basic(...)
— показывает основные показатели и графики.qs.reports.full(...)
— показывает полные показатели и графики.qs.reports.html(...)
— генерирует полный отчет в формате html.Давайте создадим отрывной лист HTML
( benchmark can be a pandas Series or ticker )
qs . reports . html ( stock , "SPY" )
Вывод будет генерировать что-то вроде этого:
(просмотреть исходный html-файл)
[ f for f in dir ( qs . stats ) if f [ 0 ] != '_' ]
['avg_loss',
'avg_return',
'avg_win',
'лучший',
'кагр',
'спокойно',
'common_sense_ratio',
'комп',
'сравнивать',
'компсум',
'условное_значение_при_риске',
'последовательные_потери',
'последовательные_выигрыши',
'cpc_index',
'квар',
'просадка_детали',
'ожидаемый_возврат',
'ожидаемый_недостаток',
'контакт',
'gain_to_pain_ratio',
'геометрическое_среднее',
'гпр',
«греки»,
'подразумеваемая_волатильность',
'информационный_пропорция',
'келли_критерий',
'эксцесс',
'макс_просадка',
'ежемесячный_возврат',
'outlier_loss_ratio',
'outlier_win_ratio',
«выбросы»,
'коэффициент_выплаты',
'коэффициент_прибыли',
'profit_ratio',
'р2',
'р_квадрат',
'рар',
'коэффициент_восстановления',
'удалить_выбросы',
'риск_разрушения',
'risk_return_ratio',
'роллинг_греки',
'рор',
'острый',
'перекос',
'сортино',
'скорректированная_сортино',
'tail_ratio',
'to_drawdown_series',
'ulcer_index',
'ulcer_ Performance_index',
'упи',
'утилиты',
'value_at_risk',
'вар',
«волатильность»,
'win_loss_ratio',
'выигрыш_рейт',
'худший']
[ f for f in dir ( qs . plots ) if f [ 0 ] != '_' ]
['ежедневные_возвраты',
'распределение',
'просадка',
'просадки_периоды',
'заработок',
'гистограмма',
'log_returns',
'месячная_тепловая карта',
'возвращается',
'rolling_beta',
'rolling_sharp',
'rolling_sortino',
'rolling_volatility',
'снимок',
'ежегодные_возвраты']
*** Полная документация скоро появится ***
Тем временем вы можете получить информацию о дополнительных параметрах для каждого метода, используя help
метод Python:
help ( qs . stats . conditional_value_at_risk )
Справка по функции Conditional_value_at_risk в модуле quantstats.stats:
условное_значение_at_risk(возвращает, сигма=1, достоверность=0,99)
рассчитывает условную дневную стоимость риска (так называемую ожидаемую нехватку)
количественно определяет величину хвостового риска инвестиции
Установите с помощью pip
:
$ pip install quantstats --upgrade --no-cache-dir
Установите с помощью conda
:
$ conda install -c ranaroussi quantstats
plots.to_plotly()
) Это новая библиотека... Если вы обнаружили ошибку, откройте проблему в этом репозитории.
Если вы хотите внести свой вклад, лучше всего поискать проблемы, отмеченные знаком «Требуется помощь».
По какой-то причине я не смог найти способ сказать seaborn не возвращать тепловую карту ежемесячных возвратов при получении инструкции о сохранении - поэтому даже если вы сохраните график (передав savefig={...}
), он все равно покажет график .
QuantStats распространяется по лицензии Apache Software License . Подробности см. в файле LICENSE.txt в выпуске.
Пожалуйста, напишите мне сообщение с любым отзывом, который у вас есть.
Ран Арусси