pandas计算最大回撤

2023-11-03

需求

需要计算某股票在某个周期内的最大回撤率。
最大回撤定义:在选定周期内任一历史时点往后推,产品净值走到最低点时的收益率回撤幅度的最大值。

实现

思路就是将dataframe在groupby之后,通过apply函数处理每个分类的最大回撤,返回一个结果

import numpy as np
import pandas as pd
def getMaxDrawdown(x):
    j = np.argmax((np.maximum.accumulate(x) - x) / x)
    if j == 0:
        return 0
    i = np.argmax(x[:j])
    d = (x[i] - x[j]) / x[i] * 100
    return d

def applyMaxDrawdown(x):
    f = x.sort_values("date").reset_index()
    array = pd.Series(f["value"])
    return getMaxDrawdown(array)

总结

因参考文章实现的是一个series的数据,而我需要处理整个dataframe里面的指标,而这时还不太清楚pandas.groupby.apply的用法

  1. pandas.groupby.agg是对分组中的某一列进行处理,是将该列传递给agg的函数,当需要同时处理多个列时,agg就有点力不从心
  2. pandas.groupby.apply是对一个分组进行处理,会将整个分组作为参数传递给appy的函数,因此可以处理多列数据

参考文章

最大回撤率(Python实现)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas计算最大回撤 的相关文章

  • MongoDB集群部署

    安装部署 部署3分片的Mongo集群 下面是架构图 实际环境每个分片最好不要放在同一台机器 不同分片的主从也尽量分散 否则数据库压力大的时候磁盘会成为瓶颈 下面的安装示例仅为学习交流 每个节点创建用户 groupadd mongo user
  • mac的mysql workbench打不开解决

    问题 原因 mac 升级后默认卸载python2 7 brew也搜索不到 不方便安装 解决 手动安装包 安装python2 7 python2 7下载链接 https www python org ftp python 2 7 18 pyt

随机推荐

  • 搜索框(js)

  • docker 启动Elasticsearch镜像指令

    docker run d e ES JAVA POTS Xms256m Xmx256m e discovery type single node p 9200 9200 p 9300 9300 name ES3 502bab3f5e7d
  • 机器学习:Python实现多标签分类(Multi-label Classification)

    1 多标签分类 1 1 定义 传统的多分类算法是对一个训练样本仅标记一个类别标签 而多标签分类 Multi label Classification MLC 是指对每个训练样本分配一个或一个以上的类别标签 其数学模型如下 给定一个 d d
  • React中state状态详解

    文章目录 1 基本使用 2 使用setState操作state数据 3 案例 toDoList 4 案例 购物车 1 基本使用 要点 成员属性 state 它是一个特殊的属性 它是当前类的私有数据 只有在当前的组件中才能操作里面的数据 状态
  • 【解决】JS中使用foreach循环,无法终止判断跳出循环;JS中使用try catch跳出foreach循环;浅谈JS深浅拷贝......

    问题 在foreach循环中有一个判断 需要在第一次符合该判断时跳出该循环 结果是未跳出 示例代码如下 this arr forEach item index gt if item uuid this uuid 会走多次该循环 此时使用re
  • 客户端测试是什么?你了解客户端测试吗?

    大家好 我是大圣 最近接到一个问题 客户端测试是什么 今天我们就来说说客户端测试 客户端 顾名思义就是Client 就是大家常说的C S架构里的Client 随着移动端越来越发达 现在的客户端分为PC端应用程序以及移动端APP 今天我们就针
  • python入门学习之小工具制作系列--02使用tkinter库写一个BMI身体指数检测小程序

    一 小程序检测功能逻辑 即通过输入身高 体重两个数据即可计算自己的BMI身体指数是多少 且对身体状况做相应提醒 二 小程序使用体验 1 弹出主界面 输入身高 体重数据 2 点击计算 输出BMI数据 3 根据BMI结果 给出相应的建议 三 小
  • 第7章 OpenWrt-opkg包管理

    第7章 OpenWrt OPKG 本章讲解了OPKG包管理工具 OPKG Open OpenWrt Package 是 IPKG Installing Packages 衍生版本 可以用于安装应用层ipk和驱动ipk等 在安装时会自动解决安
  • HCIA-AI 3.0题库

    一 人工智能概览 多选 1 下列哪些属于 AI 的子领域 A 机器学习 B 计算机视觉 C 语音识别 D 自然语言处理 答案 ABCD 判断 2 语音识别指的是将音频数据识别为文本数据 A TRUE B FALSE 答案 A 单选 3 人工
  • UEFI启动模式的服务器使用U盘安装Linux系统

    今天要为一台十年前的IBM服务器安装CentOS7系统 本来以为是手到擒来的小事 没想到啊 没想到 竟然折腾了一个上午 罪魁祸首就是这台服务器是快速启动的方式 且看下文 这里我将虚拟机安装的系统设置成uefi启动 设置方法是打开系统配置文件
  • Adobe Premiere Rush CC 2020中文版

    教程 1 下载解压镜像文件 2 断开网络连接 资源地址在评论区 3 运行 autoplay exe 开始安装 点击 Install 4 设置默认不变 点击 继续 5 等待进度到达100 6 安装成功 运行Adobe Premiere Rus
  • 【校招VIP】前端JS语言考点之px rem等单位

    考点介绍 rem vm等问题是前端面试里的高频题型 但是不少同学并不能很清楚的说明为什么在有px单位之后 还需要rem单位 往往会往不对的自适应方向回答 作为基础性问题 只要回答不出来 面试就通过不了 需要真正理解 而不是死记硬背 前端JS
  • 服务器配置文件wiki,Wiki服务器的配置.pdf

    Wiki 站点支持面向社群的协作式写作 每个人都可以发表自己的见解 或者对共同维护的 主题进行扩展 Wiki 同时也包括一组支持这种写作的辅助工具 可以在 Web 的基础上对 Wiki 页面的文本进行创建 更改和发布 比做网页和更新网页简单
  • 开始字符串 14 颠倒字符串中的单词

    题目 题解 对字符串的操作不是很了解 所以字符串的第一题就直接看题解 方法1 将一整个字符串进行翻转 再对每个字符串翻转 最后去掉空格 先看代码理解 看懂之后再自己实现一遍 要有能将思想转换为代码的能力 class Solution pub
  • 初识STP协议

    一 STP协议简介 1 STP协议的基本原理 在一个具有物理链路的交换网络中 交换机通过运行STP协议 自动生成一个没有环路的工作拓扑 这个无环拓扑也称为STP树 STP tree 其中 树节点是某些特定的交换机 树枝为某些特定的链路 一棵
  • 华为OD机试真题- 跳格子-2023年OD统一考试(B卷)

    题目描述 小明和朋友玩跳格子游戏 有 n 个连续格子 每个格子有不同的分数 小朋友可以选择从任意格子起跳 但是不能跳连续的格子 也不能回头跳 给定一个代表每个格子得分的非负整数数组 计算能够得到的最高分数 输入描述 给定一个数例 如 1 2
  • Buuctf<极客大挑战2019>upload

    文章目录 一 划重点的知识点 二 解题步骤 三 各种类型的一句话木马 四 php文件后缀替换 一 划重点的知识点 GIF89a图片头文件欺骗 一个GIF89a图形文件就是一个根据图形交换格式进行格式化之后的图形 用记事本编写一下内容 然后修
  • 9.Paper小结——《VerifyNet: Secure and Verifiable Federated Learning》

    题目 VerifyNet Secure and Verififiable Federated Learning 安全的和可验证的联邦学习 0 Abstract 联邦学习作为一种新兴的神经网络训练模型 由于其能够在不收集用户原始数据的情况下更
  • Springboot 整合Quartz

    目录 一 Quartz介绍 二 Quartz核心元素 1 Scheduler 任务调度器 2 Trigger 触发器 3 JobDetail 定时任务的信息载体 三 Springboot整合Quartz 1 添加Quartz依赖 2 app
  • pandas计算最大回撤

    文章目录 需求 实现 总结 参考文章 需求 需要计算某股票在某个周期内的最大回撤率 最大回撤定义 在选定周期内任一历史时点往后推 产品净值走到最低点时的收益率回撤幅度的最大值 实现 思路就是将dataframe在groupby之后 通过ap