r - 我的夏普比率计算与 SharpeRation.annualized 不一致。如何排除故障?
问题描述
我有我的资产的每日日志回报,我正在尝试计算一个 252 天窗口的滚动夏普比率。
我在 R 中将夏普比率函数定义为:年化简单回报除以简单回报的年化标准差。然后我在 252 天的窗口中使用 apply.rolling 性能分析来创建时间序列。
明确地,我的夏普比率函数定义为
sharpe_ratio <- function(x) {
annualized.return = exp(sum(x)) - 1
annualized.sd = sd(exp(x))*sqrt(252)
sr = annualized.return / annualized.sd
return(sr)
}
我从我的returns.ts
使用中创建了我的时间序列
sharpe.ts <- apply.rolling(returns.ts, width = 252, FUN = 'sharpe_ratio')
但是,当我将其与PerformanceAnalytics中的SharpeRatio.annualized函数进行比较时,我得到了不同的结果。
例如,
test <- returns.ts[1:252]
SharpeRatio.annualized(test , scale = 252)
sharpe_ratio(test)
返回
- 5.251688 为 SharpeRatio.annualized 和
- 5.259081 用于我定义的Sharpe_ratio 函数。
我尝试了一些不同的组合,但我无法弄清楚 SharpeRatio.annualized 正在做什么,或者差异来自哪里,更不用说哪个计算正确。
解决方案
推荐阅读
- sql - Oracle Instant Client - SQL*Plus - 错误:没有 TNS 侦听器 (MacOSX)
- python - Pyqt 4 - QWebView.load(url) 泄漏内存(不是来自 python)
- node.js - 使用 for loop mongoose 批量插入文档
- python - ' Str 对象没有属性“Crop” - 使用 PIL 和 Tesseract 裁剪多幅图像
- javascript - JavaScript - 用列表替换列表
- 元素
- orange - 如何在 Web 服务器中安装 Orange 库?
- cakephp - CakePHP 3:如何为本地化准备 cakephp 表分页标题?
- c++ - 根据 cpp 中的某些条件切换流
- python - 如何使用python将数组内的字符串切片到另一个数组中
- python - 如何让 NAT 后面的两个客户端在没有端口转发或打孔的情况下进行通信?