python计算复合年化增长率、年化波动率与夏普比率
根据日收益率,计算:
- 复合年化增长率
- 年化波动率
- 夏普比率
示例代码如下:
示例代码
import pandas as pd
import numpy as np
import mathdef cal_sharp(daily_returns: np.ndarray, rf=0, period=252):"""计算夏普比率:(投资组合期望收益率 - 无风险收益) / 投资组合波动率"""Er = daily_returns.sum() / len(daily_returns) - rf / period # 每日的平均收益 - 每日的无风险收益sharp = Er / daily_returns.std() * math.sqrt(period)return sharpdef cal_volatility(daily_return: np.ndarray, period=252):"""策略年化波动率"""vol = np.sqrt(period) * np.std(daily_return)return voldef cal_cagr(daily_return: pd.Series):"""复合年化增长率"""cum_return = daily_return.add(1).cumprod() # 净值序列time_days = (cum_return.index[-1] - cum_return.index[0]).days # 累计收益的天数return np.power(np.abs(cum_return[-1]), 365 / time_days) - 1 # power(净值,1/持续年份) -1def main():"""data.sum()/n 为 n 天利润百分数平均值rf / 252 对应日无风险利益:return:"""n = 200 # 数据天数rf = 3 # 假设年无风险利率data = np.random.normal(size=(n)) # 随机生成日增长率# 关于 period(数值,意义):(252,日夏普),(52,周夏普),(12,月夏普),(1,年夏普)daily_return = pd.Series(data, index=pd.date_range(start='2020-01-01 00:00', periods=n))print("年化增长率:", cal_cagr(daily_return))print("年化波动率:", cal_volatility(daily_return.values))print("夏普比率:", cal_sharp(daily_return.values, rf=rf))if __name__ == '__main__':main()
python计算复合年化增长率、年化波动率与夏普比率相关推荐
- python金融分析小知识(34)——年化收益率、年化波动率以及夏普比率的计算
Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 大家好呀 好久不见!最近忙的事情太多了 没来得 ...
- 用python怎么样实现图像二值化_使用Python+OpenCV如何实现图像二值化
使用Python+OpenCV如何实现图像二值化 发布时间:2020-10-26 14:15:52 来源:亿速云 阅读:77 作者:蛋片鸡 这篇文章运用简单易懂的例子给大家介绍使用Python+Ope ...
- 阿里云何川:开放兼容的云,计算巢帮助合作伙伴云化升级
简介:保障业务稳定性,提供安全的云上互联网,助力合作伙伴实现规模化,打通多渠道分发. 12月21日,在阿里云弹性计算年度峰会上,阿里云弹性计算高级产品专家何川发表了题为<开放兼容的云,计算巢帮助 ...
- GDAL+Python实现栅格影像处理之栅格矢量化及矢量栅格化
GDAL+Python实现栅格影像处理之栅格矢量化及矢量栅格化 相关概念 使用方法 效果展示 相关概念 栅格矢量化:将栅格数据生成矢量数据. 矢量栅格化:将矢量数据生成栅格数据. 使用方法 栅格矢量化 ...
- 手写数字图片数据之python读取保存、二值化、灰度化图片+opencv处理图片的方法
python 读取.保存.二值化.灰度化图片+opencv处理图片的方法 进行手写数字的图片预测的时候碰到了这样的问题. 先说说处理图片有三种方式 一.matplotlib 二.PIL 三.openc ...
- Python项目实战 —— 01. 疾病预测结构化数据
Python项目实战 Python项目实战--目录 Python项目实战 -- 01. 疾病预测结构化数据 一.背景 二.解题思路 三.数据分析 3.1 数据清洗 3.2 数据分析 3.2.1 相关系 ...
- 【金融、量化系列】计算股票历史期望收益率(年化)、收益率标准差(年化)、夏普比率、以及股票之间月收益率的相关系数,并以夏普比率、相关系数为条件筛选股票
使用akshare获取股票数据,利用月度数据计算每只上证50成分股的股票历史期望收益率(年化).收益率标准差(年化).夏普比率.以及股票之间月收益率的相关系数,并以夏普比率.相关系数为条件筛选股票.挑 ...
- 使用Python实现基于强化学习与游戏化学习典型算法
作者:禅与计算机程序设计艺术 随着现代社会和互联网的快速发展,基于网络.移动终端等新型信息技术的应用也越来越多,为人类提供了无限可能.同时,由于计算机科学和互联网技术的飞速发展,计算机已逐渐成为人类社 ...
- python -- 计算 平方、乘方、平方根_从零开始学习PYTHON3讲义(二)把Python当做计算器...
<从零开始PYTHON3>第二讲 上一讲我们说过了如何启动Python IDLE集成开发学习环境,macOS/Linux都可以在命令行执行idle3.Windows则从开始菜单中去寻找ID ...
- 计算机python程序设计导论,程序设计导论:Python计算与应用开发实践(原书第2版)...
程序设计导论:Python计算与应用开发实践(原书第2版) 语音 编辑 锁定 讨论 上传视频 <程序设计导论:Python计算与应用开发实践(原书第2版)>是2018年机械工业出版社出版的 ...
最新文章
- android qq三方登录授权失败,QQ第三方登陆授权失败110401原因及解决办法分享
- 文件下载--服务器端编程操作
- 单变量离散傅里叶变换DFT原理及实现
- 她半年内举报了755篇问题论文,专挑中国“下手”?还牵扯到北大副校长.........
- 机器学习之线性回归(matlab)
- 徐扬:互联网营销下的移动营销
- 蓝牙学习笔记(八)——BLE 4.0 的128Bits/32Bist/16Bits的UUID
- Tensorlayer深度强化学习之Tensorlayer安装
- 射线包含于凸集的充要条件
- MySql Server 5.5安装教程
- Kindle 3---原系统下的字典的使用
- 2D游戏新手引导点光源和类迷雾实现
- 【论文阅读】Are We Ready For Learned Cardinality Estimation?
- android 高德地图线路规划,路线规划-Android平台-开发指南-高德地图车机版 | 高德地图API...
- 综合日语第一册第六课
- 键盘之王——求打字峰值速率的小程序(C语言)
- 2022 Gartner RPA魔力象限发布,两家国产厂商入选,超自自动化成重点
- YOLOX训练自己的数据集(VOC)
- 【考研数学】九. 无穷级数
- php 五角星,php使用GD库画五角星