第一步:分组

将df按照持仓时间和空仓时间进行分组,分组完成之后就可以在

# ===将每笔交易的start_time设置为发出信号的candle_begin_time,用于分组open_mask = (df['signal'].abs() == 1)df.loc[open_mask, 'start_time'] = df.loc[open_mask, 'candle_begin_time']close_mask = (df['signal'] == 0)df.loc[close_mask, 'start_time'] = pd.Timestamp(0)df['start_time'].ffill(inplace=True)

第二步:在每个group中计算极大值

在group中的每一行求本轮开仓到该时间的极大值。

# 计算每笔交易的最大回撤df['signal_'] = df['signal'].ffill()df['dir_close'] = df['signal_'] * df['close']df['cum_extreme'] = df[df['start_time'] > pd.Timestamp(0)].groupby('start_time')['dir_close'].cummax()df['cum_extreme'] *= df['signal_']

第三步:在每一行计算最大回撤

df['max_loss_pct'] = (1 - df['close'] / df['cum_extreme']) * df['signal_']

Dataframe中计算最大回撤的处理相关推荐

  1. mysql中计算最大回撤_基金最大回撤算例(Java 1.8)

    1.测试数据源:长盛电子信息主题灵活配置混合(000063),2013-05-10~2016-04-15全部历史净值数据.数据净值曲线: 2016-4-17 18:26:30 上传 下载附件 (16. ...

  2. matlab计算最大回撤,股票 最大回撤:股票中资金回撤是什么意思

    你好,回撤,是投资或资 易 见的一个名字,用 来描述 一段时间内 资产减少的 情况.具体来说,是在某一特定的时期内,账户净值由最高值一直向后推移,直到净值回落到最低值,这期间净值减少的幅度.在选定的时 ...

  3. 【Python】 计算最大回撤率(金融工程)

    Python 计算最大回撤, 使用pandas库中的.cummax()函数计算 最大回撤:  ( 累计最大回报-当前回报 )最大值为最大回撤的位置 MDD = max(data['Ret'].cums ...

  4. python计算最大回撤_【邢不行|量化小讲堂系列36-python量化入门】如何通过3行Python代码计算最大回撤...

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助. [历史文章汇总]请点击此处 [必读文章]: 个人微 ...

  5. python计算最大回撤_最大回撤线性算法实现

    最大回撤是指投资组合在选定的周期内,任一时间点往后推,可能出现资产净值下降的最大幅度.回撤的意思是指在某一段时期内净值从最高点开始回落到最低点的幅度.最大回撤常用百分率来表示,是一个重要的风险指标.最 ...

  6. pandas_计算最大回撤

    目录 概念 一.数据为收盘价,计算最大回撤 二.数据为净值,计算最大回撤 概念 计算方法 1. 将收益率做成时间序列 2. 计算财富指数(也就是净值)[PS:初始净值为1] 3. 计算上一个最高点 4 ...

  7. Python计算最大回撤、回撤天数

    Python计算最大回撤.回撤天数 "回撤"的概念 回撤是投资或者交易中常见的一个名词,是指账户的资金减少.资金回撤的定义分很多种,这些定义之间差异微小,大同小异,一般而言,资金回 ...

  8. 计算最大回撤python_python 计算收益回撤比

    对一个基金A,有每日收益序列RET_A,用python计算其收益回撤比. 思考: 收益回撤比 = 年化收益率 / 最大回撤 计算年化收益率 import numpy as np import pand ...

  9. 使用python计算最大回撤

    使用python计算最大回撤 1. 单期简单收益率 R t = P t − P t − 1 P t − 1 R_{t}=\dfrac {P _{t}-P_{t-1}}{P_{t-1}} Rt​=Pt− ...

最新文章

  1. 动态网页项目(Dynamic Web Project)2.5和3.0版本的差异
  2. 【转载】Linux系统与性能监控
  3. 高并发网络编程之epoll详解
  4. CISCO SECURE ACCESS CONTROL SERVER
  5. presto读取oracle,Presto源码分析之数据类型
  6. WP8.1开发中关于如何显示.gif格式动态格式图片方法
  7. 前端学习(3006):vue+element今日头条管理--实现基本登录功能
  8. 前端学习(2866):vue3数据劫持解析1
  9. Mac 生成SSH Key
  10. mysql mvcc undo_Mysql Innodb中undo-log和MVCC多版本一致性读 的实现
  11. 微信小程序学习笔记-(9)-仿智行火车票
  12. Unity官网地址变更为https://unity.cn/
  13. 删除Windows 7系统保留分区100MB
  14. python项目根目录是在哪_python,_python如何获取当前工程根目录,python - phpStudy
  15. 【jdbc】 jndi与“Java:comp/env/“语法
  16. import torchvision报错,UserWarning: Failed to load image Python extension: Could not find module ‘C:\U
  17. ELK日志平台---老男孩教育笔记
  18. 活前缀及构造活前缀的DFA
  19. 时光金科php_重庆金科博翠宸章 | ACA麦垦景观
  20. 国内外知名云服务公司介绍

热门文章

  1. Hi3516内核编译
  2. 关于I2C设备地址(7位)的误解
  3. java 根据ip地址获取地理位置及运营商。
  4. AI智能配音助手微信小程序源码支持多种声音场景选择
  5. 买加智能销售系统-以科技赋能企业销售
  6. 刷机相关的Android的安全
  7. Pots(bfs)(存储路径)
  8. 山东财经大学python期末考试题型_山东财经大学2012012学年第二学期期末试题
  9. 两种网页转Markdown的简便方法
  10. 电子商务计算机网络的定义,网络营销的定义概念是什么