【Python】案例:计算股票收益率和波动率

【Python】案例:计算股票收益率和波动率:

  • 1、案例需求
  • 2、数据准备
  • 3、案例实现

1、案例需求

在分析股票数据时,我们需要从这些数据中得到一些关键指标进行评估,比如收益率、波动率,其中收益率又可以细分为简单收益率和对数收益率,而波动率可以细分为年波动率和月波动率。
(1)简单收益率:相邻两个价格之间的变化率。例如,收盘价为20、30、50,它们的变化率为(30-20)/20、(50-30)/30;
(2)对数收益率:所有价格取对数后两两之间的差值;
(3)年波动率:衡量股票在一年内回报波动水平指的标,计算公式为:
年波动率=(对数波动率的标准差/对数波动率的均值)/√(1/交易日天数)(其中交易日通常是252天);
(4)月波动率:衡量股票在一月内回报波动水平的指标,计算公式为:
月波动率=√(1/12)×年波动率;

下面根据一组股票数据,编写代码,计算这组数据的简单收益率、对数收益率、年波动收益率

2、数据准备

通过网络采集最近一个月某公司股票收盘价的数据,具体如下所示:
336.1, 339.32, 345.03, 344.32, 343.44, 346.5, 351.88, 355.2, 358.16, 354.54, 356.85, 359.18, 359.9, 363.13, 358.3, 350.56, 338.61, 342.62, 342.88, 348.16, 353.21, 349.31, 352.12, 359.56, 360.00, 355.36, 355.76, 352.47, 346.67, 351.99

336.1, 339.32, 345.03, 344.32, 343.44, 346.5, 351.88, 355.2, 358.16, 354.54, 356.85, 359.18, 359.9, 363.13, 358.3, 350.56, 338.61, 342.62, 342.88, 348.16, 353.21, 349.31, 352.12, 359.56, 360.00, 355.36, 355.76, 352.47, 346.67, 351.99

3、案例实现

准备好股票数据之后,接下来按照前面介绍的公式对这组数据进行操作,分别计算简单收益率、对数收益率、年波动率和月波动率这几个指标,具体步骤如下:
(1) 创建一个NumPy数组,用于保存一组股票数据;
(2) 获取了股票数据之后,先根据简单收益率公式计算简单收益率,具体思路为:首先通过diff()函数计算离散差,得到一个包含相邻元素差值的数组,然后通过切片获取数组中除末尾元素的其他元素,得到一个不包含最后一个价格的数组,最后这两个数组相除后得到的结果便是简单收益率;
(3) 计算对数收益率。要想计算对数收益率,可以先通过log()函数计算所有价格的对数,再通过diff()函数得到一个包含价格对数差值的数组;
(4) 计算年波动率。要想计算年波动率,可以先通过std()函数得到对数波动率的;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/75837.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

geoserver搭建Docker一键直接安装并上传tif影像预览

geoserver搭建Docker一键直接安装 文章目录 geoserver搭建Docker一键直接安装前言一、Docker拉取Geoserver二、运行后使用geoserver进行数据管理进入geoserver调整语言登录geoserver上传一个tif影像建立工作空间并上传自己的tif数据建立图层预览 总结 前言 使用docker安装geos…

STM32看门狗应用实战:独立看门狗与窗口看门狗深度解析(下) | 零基础入门STM32第九十五步

主题内容教学目的/扩展视频看门狗什么是看门狗,原理分析,启动喂狗方法,读标志位。熟悉在程序里用看门狗。 师从洋桃电子,杜洋老师 📑文章目录 一、看门狗应用架构分析1.1 系统监控流程图1.2 双看门狗应用场景对比 二、…

nacos集群启动问题

根据您的描述,Nacos集群只能启动两个节点,可能的原因和解决方法如下: 1. 集群配置问题 • 原因:cluster.conf文件中可能只配置了两个节点的地址,导致第三个节点无法加入集群。 • 解决方法: • 检查每个…

【C语言】跳台阶

相信你是最棒哒!!! 一、题目描述 二、题目代码 1.斐波那契数列 2.DFS深度搜索 总结 一、题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果…

指纹浏览器技术架构解析:高并发批量注册业务的工程化实践——基于分布式指纹引擎与防关联策略的深度实现

一、技术背景与行业痛点 在跨境电商、广告投放、问卷调查等场景中,批量注册与多账号矩阵运营已成为刚需。然而,主流平台(如亚马逊、Facebook、Google)的风控系统通过浏览器指纹追踪(Canvas/WebGL/WebRTC等&#xff09…

linux基础操作

一、系统目录知识 /bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev : dev 是 Device(设备) 的缩写,…

源码分析之Leaflet图层控制控件Control.Layers实现原理

概述 本文将介绍Leaflet库中最后一个组件,即图层控制组件 Control.Layers。 源码实现 export var Layers Control.extend({options: {collapsed: true,position: "topright",autoZIndex: true,hideSingleBase: false,sortLayers: false,sortFunction:…

Element 使用 textarea 内容实现高度自适应

在 ElInput 组件的 type"textarea" 模式下&#xff0c;你可以使用 autosize 属性来实现内容高度自适应。当没有内容时默认显示 3 行&#xff0c;当有内容时根据内容动态调整高度。 代码&#xff1a; <el-form-item v-if"item.type textarea" :rules&…

Java技术生态前沿洞察:虚拟线程引领并发革命,框架创新赋能云原生时代

Java技术生态正迎来新一轮变革浪潮。虚拟线程的落地成为高并发编程范式转折点&#xff0c;其极低资源开销特性在电商秒杀场景中展现出3倍吞吐量提升&#xff0c;彻底改写传统线程模型性能边界。Spring Boot 3.2原生支持虚拟线程&#xff0c;结合Observation API与HTTP客户端优化…

leetcode每日一题:替换子串得到平衡字符串

引言 今天的每日一题原题是1863. 找出所有子集的异或总和再求和&#xff0c;比较水&#xff0c;直接对于集合中的每一个元素&#xff0c;都有取或者不取2种情况&#xff0c;直接递归进去求和即可。更换成前几天遇到的更有意思的一题来写这个每日一题。 题目 有一个只含有 Q,…

node-modules-inspector 可视化node_modules

1、node_modules 每个vue的项目都有很多的依赖&#xff0c;有的是dev的&#xff0c;有的是生产的。 2、使用命令pnpx node-modules-inspector pnpx node-modules-inspector 3、node_modules可视化 4、在线体验 Node Modules Inspector 5、github地址 https://github.com/a…

【零基础入门unity游戏开发——动画篇】unity旧动画系统Animation组件的使用

考虑到每个人基础可能不一样&#xff0c;且并不是所有人都有同时做2D、3D开发的需求&#xff0c;所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】&#xff1a;主要讲解C#的基础语法&#xff0c;包括变量、数据类型、运算符、…

Linux网络:数据链路层以太网

目录 认识数据链路层关于以太网1. 基本概念2. 以太网帧格式3. MAC vs IP 认识数据链路层 数据链路层 位于物理层和网络层之间&#xff0c;其作用是将源自物理层来的数据可靠地传输到相邻节点的目标主机的网络层&#xff0c;主要通过物理介质(如以太网&#xff0c;Wi-Fi等)将数…

SpringMVC与SpringCloud的区别

SpringMVC与SpringCloud的核心区别 功能定位 • SpringMVC&#xff1a; 基于Spring框架的Web层开发模块&#xff0c;采用MVC&#xff08;Model-View-Controller&#xff09;模式&#xff0c;专注于处理HTTP请求、路由分发&#xff08;如DispatcherServlet&#xff09;和视图…

使用MATIO库写入MATLAB结构体(struct)数据的示例程序

使用MATIO库写入MATLAB结构体(struct)数据的示例程序 MATIO是一个用于读写MATLAB数据文件(.mat)的开源C库。下面是一个完整的示例程序&#xff0c;展示如何使用MATIO库创建一个包含结构体数据的MAT文件。 示例程序 #include <stdio.h> #include <stdlib.h> #inc…

SSE与Streamable HTTP的区别:协议与技术实现的深度对比

引言 在现代Web开发中&#xff0c;实时数据传输是许多应用的核心需求&#xff0c;从聊天应用到股票市场更新&#xff0c;从游戏服务器到AI模型通信。为了满足这一需求&#xff0c;各种技术应运而生&#xff0c;其中Server-Sent Events (SSE)和Streamable HTTP是两种重要的实时…

【Easylive】视频在线人数统计系统实现详解 WebSocket 及其在在线人数统计中的应用

【Easylive】项目常见问题解答&#xff08;自用&持续更新中…&#xff09; 汇总版 视频在线人数统计系统实现详解 1. 系统架构概述 您实现的是一个基于Redis的视频在线人数统计系统&#xff0c;主要包含以下组件&#xff1a; 心跳上报接口&#xff1a;客户端定期调用以…

Linux 高级命令与常见操作:文本处理、系统管理与网络调试

下面是一份针对已经熟悉 Linux 基础命令的用户所整理的「高级命令与常见操作」笔记&#xff0c;涵盖文本处理、系统管理、网络调试与其他常用的进阶技巧。请你审核下面笔记&#xff0c;检查是否有过时的内容&#xff0c;如有请进行替换&#xff0c;确保其符合现代化需求&#x…

使用MFC ActiveX开发KingScada控件(OCX)

最近有个需求&#xff0c;要在KingScada上面开发一个控件。 原来是用的WinCC&#xff0c;WinCC本身是支持调用.net控件&#xff0c;就是winform控件的&#xff0c;winform控件开发简单&#xff0c;相对功能也更丰富。奈何WinCC不是国产的。 话说KingScada&#xff0c;国产组态软…

QScrollArea 内部滚动条 QSS 样式失效问题及解决方案

在使用 Qt 进行 UI 开发时,我们经常希望通过 QSS(Qt Style Sheets)自定义控件的外观,比如为 QScrollArea 的内部滚动条设置特定的样式。然而,有开发者遇到了这样的问题:在 UI 设计器中预览 QSS 显示效果正常,但程序运行时却显示为系统默认样式。经过反复测试和调试,最终…