0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用 Empyrical 风险指标计算神器

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-10-21 14:28 次阅读

Empyrical 是一个知名的金融风险指标库。它能够用于计算年平均回报、最大回撤、Alpha值、Beta值、卡尔马率、Omega率、夏普率等。它还被用于zipline和pyfolio,是Quantopian开发的三件套之一。

下面就教你如何使用 Empyrical 这个风险指标计算神器。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

**(可选1) **如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

**(可选2) **此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

请选择以下任一种方式输入命令安装依赖

  1. Windows 环境 打开 Cmd (开始-运行-CMD)。
  2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
  3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install empyrical

2. Empyrical 基本使用

计算最大回撤,你只需要从 empyrical 库中引入 max_drawdown ,将数据作为参数传入计算,一行代码就能实现:

import numpy as np
from empyrical import max_drawdown

returns = np.array([.01, .02, .03, -.4, -.06, -.02])

# 计算最大回撤
max_drawdown(returns)
# 结果:-0.4472800000000001

同样地,如果你需要计算alpha和beta指标:

import numpy as np
from empyrical import alpha_beta

returns = np.array([.01, .02, .03, -.4, -.06, -.02])
benchmark_returns = np.array([.02, .02, .03, -.35, -.05, -.01])

# 计算alpha和Beta值
alpha, beta = alpha_beta(returns, benchmark_returns)
print(alpha, beta)
# 结果:-0.7960672549836803 1.1243025418474892

如果你想要计算夏普率,同样也是一行代码就能解决,只不过你需要注意这几个参数的意义:

import numpy as np
from empyrical import sharpe_ratio

returns = np.array([.01, .02, .03, -.4, -.06, -.02])

# 计算夏普率
sr = sharpe_ratio(returns, risk_free=0, period='daily', annualization=None)
print(sr)
# 结果:-6.7377339531573535

各个参数的意义如下:

参数数据类型意义
returnspandas.Series策略的日回报,非累积。
risk_freefloat本周期内的无风险利率
periodstr, optional确定回报数据的周期,默认为天。
annualizationint, optional交易日总数(用于计算年化)如果是daily,则默认为252个交易日。

3.更多的指标

Empyrical 能提供使用的指标非常多,这里就不一一介绍了,基本上用法都和夏普率的计算方法差不多,这里介绍他们的方法和参数。

3.1 omega_ratio

empyrical.omega_ratio(returns, risk_free=0.0, required_return=0.0, annualization=252)
参数数据类型意义
returnspandas.Series策略的日回报,非累积。
risk_freefloat本周期内的无风险利率
required_returnfloat, optional投资者可接受的最低回报。
annualizationint, optional交易日总数(用于计算年化)如果是daily,则默认为252个交易日。

3.2 calmar_ratio

empyrical.calmar_ratio(returns, period='daily', annualization=None)
参数数据类型意义
returnspandas.Series策略的日回报,非累积。
periodstr, optional确定回报数据的周期,默认为天。
annualizationint, optional交易日总数(用于计算年化)。如果是daily,则默认为252个交易日。

3.3 sortino_ratio

empyrical.sortino_ratio(returns, required_return=0, period='daily', annualization=None, _downside_risk=None)
参数数据类型意义
returnspandas.Series策略的日回报,非累积。
required_returnfloat最小投资回报
periodstr, optional确定回报数据的周期,默认为天。
annualizationint, optional交易日总数(用于计算年化)。如果是daily,则默认为252个交易日。
_downside_riskfloat, optional给定输入的下跌风险。如果没有提供则自动计
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 参数
    +关注

    关注

    11

    文章

    1398

    浏览量

    31477
  • 代码
    +关注

    关注

    30

    文章

    4556

    浏览量

    66812
  • python
    +关注

    关注

    51

    文章

    4678

    浏览量

    83476
收藏 人收藏

    评论

    相关推荐

    PCB参数计算神器分享

    提前祝小伙伴们中秋节快乐。今天分享一个PCB计算神器,功能非常齐全。
    发表于 09-09 09:31 1070次阅读

    免费又好用的PCB参数计算神器——Saturn PCB Toolkit

    今天给大家分享一款免费又好用的PCB 参数计算神器——Saturn PCB Toolkit。
    发表于 01-03 13:51 1.8w次阅读

    DIY必备电子电路常用计算神器级别

    DIY必备电子电路常用计算神器级别轻松你的DIY之路
    发表于 08-22 10:12

    Vulkan同步机制和图形转换的风险

    Vulkan同步机制和图形-计算-图形转换的风险(一)
    发表于 01-21 06:17

    高速TIA 应用中关注的指标是什么?它的计算过程是怎样的?

    高速TIA 应用中关注的指标是什么?它的计算过程是怎样的?高速TIA在光检测应用下的常见问题该如何去解决?
    发表于 04-09 06:25

    衡量微型计算机的主要技术指标是什么

    衡量微型计算机的主要技术指标是?特点是?
    发表于 09-10 08:33

    NXP电力变换的神器

    其实很早之前在公众号给大家推送过NXP的这个神器,freeMaster,这个工具其实已经好多年了,在最早的飞思卡尔早期就存在,一直是工程师调试电机,电力变换的神器,确实好...
    发表于 09-17 06:48

    移动商务信誉系统风险评估模型

    针对移动商务信誉系统风险评估这一复杂系统问题,在分析以往信息系统风险评估指标和移动商务信誉系统特点的基础上,提出3 类核心评估指标,构建一种移动商务信誉系统
    发表于 03-30 08:29 15次下载

    基于免疫网络的信息安全风险评估模型

    风险评估是评价网络信息系统安全的有效措施之一。该文基于免疫网络可动态实时诊断的特性,提出一种新的信息安全风险评估模型,给出模型中各项指标的定量计算方法,以评估
    发表于 04-10 08:44 14次下载

    商业银行信用风险评价指标的熵权选择方法

    基于信息熵思想,按照熵权的大小筛选信用风险评价指标,定义了评价指标的效率指数,用评价结果的区分度反映评价指标的有效性。算例表明,在初始指标
    发表于 05-28 11:24 8次下载

    基于可能性计算模型的信息系统风险评估系统设计

    本文提出了一个基于可能性计算模型的定量风险评估方法,设计并实现了一个计算机辅助评估系统,它利用业务事务价值和可能性计算模型来计算资产的
    发表于 07-07 13:20 13次下载

    基于投影寻踪方法的工程项目风险评估

    本文基于投影寻踪的方法以模糊综合估计与聚类方法为核心,研究了工程项目风险量化评估问题。首先使用投影寻踪方法求出各个风险指标项的权重;接下来,检验各个指标项评分的偏离程度,对其中偏离度高
    发表于 12-20 16:45 0次下载

    基于多因素融合的电网高风险设备评估方法

    了设备风险影响度计算指标体系。在该体系的基础上,利用设备相对重要度矩阵和设备相对隐患矩阵构建设备风险影响度计算模型以获取设备的
    发表于 02-28 10:39 0次下载
    基于多因素融合的电网高<b class='flag-5'>风险</b>设备评估方法

    功分器的损耗计算_功分器的技术指标

    本文主要介绍了功分器的损耗计算及功分器的技术指标
    发表于 04-21 09:49 3.1w次阅读

    边缘计算风险及其补救措施

    如今,每个人都知道计算和网络会带来安全风险,而新的风险伴随着新的计算技术而出现。边缘计算也是如此。因为对于大多数组织来说,它代表了IT模式的
    的头像 发表于 10-19 14:55 2232次阅读