计算夏普比率的python代码
时间: 2023-07-31 15:12:11 浏览: 161
(三)python计算夏普率
5星 · 资源好评率100%
计算夏普比率的Python代码可以参考以下示例:
```python
import numpy as np
import pandas as pd
import math
def sharpe_ratio(returns, risk_free=0, period='daily'):
# 计算收益率的平均值和标准差
erp_rf = returns.mean() - risk_free
sigmap = returns.std()
# 根据不同的周期计算夏普比率
if period == 'yearly':
period = 252
elif period == 'quarterly':
period = 63
elif period == 'monthly':
period = 21
elif period == 'weekly':
period = 5
elif period == 'daily':
period = 1
sharpe = erp_rf / sigmap * math.sqrt(period)
return sharpe
# 使用示例
returns = np.array(\[0.05, 0.03, 0.02, 0.04, 0.01\]) # 收益率数据
risk_free_rate = 0.02 # 无风险利率
sharpe_ratio_daily = sharpe_ratio(returns, risk_free=risk_free_rate, period='daily')
sharpe_ratio_yearly = sharpe_ratio(returns, risk_free=risk_free_rate, period='yearly')
print("日夏普比率:", sharpe_ratio_daily)
print("年夏普比率:", sharpe_ratio_yearly)
```
这段代码定义了一个名为`sharpe_ratio`的函数,该函数接受收益率数据、无风险利率和计算周期作为参数,并返回夏普比率。在函数内部,首先计算收益率的平均值和标准差,然后根据给定的周期计算夏普比率。最后,使用示例展示了如何使用该函数计算日夏普比率和年夏普比率。
#### 引用[.reference_title]
- *1* *2* *3* [夏普比率 —— Python 实现](https://blog.csdn.net/qq_16026001/article/details/109706474)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文