python实现交易策略评价指标-最大回测

【Python】 计算最大回撤率(金融工程) 使用Python计算金融资产的最大回撤、回撤开始时间、结束时间、持续时间 阅读详情
1. 什么是最大回撤

最大回撤是评估金融产品收益的一个非常重要的风险指标,它指的是在选定历史周期内任一历史时点往后推,产品净值走到最低点时的收益率回撤幅度的最大值。

在这里插入图片描述
以上图为例,最大回撤=(ValueA−ValueB)ValueA 最大回撤 = \frac{(ValueA - ValueB) } {ValueA}最大回撤=ValueA(ValueA−ValueB)​

2. 计算最大回撤

下面演示使用pandas 计算最大回撤

  1. 获取贵州茅台20191.1到2019.12.31的日k数据
import pandas as pd
import numpy as np
import baostock as bs

lg = bs.login()
# 显示登陆返回信息
print('login respond error_code:'+lg.error_code)
print('login respond  error_msg:'+lg.error_msg)

#### 获取沪深A股历史K线数据 ####
# 详细指标参数,参见“历史行情指标参数”章节;“分钟线”参数与“日线”参数不同。“分钟线”不包含指数。
# 分钟线指标:date,time,code,open,high,low,close,volume,amount,adjustflag
# 周月线指标:date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg
rs = bs.query_history_k_data_plus("sh.600519",
    "date,code,open,high,low,close,volume",
    start_date='2019-01-01', end_date='2019-12-31',
    frequency="d", adjustflag="3")
print('query_history_k_data_plus respond error_code:'+ rs.error_code)
print('query_history_k_data_plus respond  error_msg:'+ rs.error_msg)

data_list = []
while (rs.error_code == '0') & rs.next():
    # 获取一条记录,将记录合并在一起
    data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)

#### 结果集输出到csv文件 ####   
result.to_csv("贵州茅台_k_data.csv", index=False)
print(result)

#### 登出系统 ####
bs.logout()

在这里插入图片描述
2. 读取贵州茅台的日k数据,读入日期和收盘价

data = pd.read_csv("贵州茅台_k_data.csv")[["date", "close"]];

3.计算每天的回撤值

# 找出当前值以前的最大值
data["previous_max"] = data["close"].cummax(axis=0)
# 计算每一天的回撤
data['draw_downs'] = data['close'] / data['previous_max'] - 1

4.可视化

data.plot(y=['close','previous_max'], figsize=(8,4))

在这里插入图片描述

# 绘制回撤曲线
data.plot(y='draw_downs',figsize=(8,4),color='g')

在这里插入图片描述

5.计算最大回撤

# 最大回撤
data['draw_downs'].min()
【Python】 计算最长回撤时间 (金融工程) 使用Python 计算最长回撤时间、最长回撤率、最长回撤开始时间、结束时间 阅读详情

相关推荐

Python量化投资实战:用numpy计算最大回撤的3种方法对比

本文详细对比了使用Python和numpy计算最大回撤的三种方法:暴力循环法、向量化计算和Numba加速。通过性能基准测试和实战案例,重点分析了向量化计算这一线性算法在量化投资中的高效应用,帮助开发者优化策略回测效率,实现精准的风险控制。

weixin_29048309的博客 114

python金融分析小知识(35)——最大回撤的计算

Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助!今天就给大家讲讲在进行量化策略回测结果分析的时候最最最常见的有一个指标——最大回撤的计算。最大回撤(Max drawdown)指标评价一个交易模型及其投资组合的风险度,最大回撤越小越好。最大回撤的计算公式是MDD = (A-B) / A,其中A是最大下跌前的资产最大净值(peak asset value before largest drop),B为资产净值

qq_41281698的博客 1万+

Python双均线策略回测(2021-10-12)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 Python双均线策略回测 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页

EricWangP的博客 2万+

Python 实现最大回撤

____tz_zs最大回撤 是一个重要的风险指标。对于对冲基金和数量化策略交易,这个指标比波动率还重要。定义:对于序列x1,x2,⋯,xn ,定义最大回撤d 为·# -*- coding: utf-8 -*- """ @author: tz_zs 最大回撤 """ import numpy as np import matplotlib.pyplot as plt # data = [100,...

tz_zs的博客 1万+

量化回归测试平台 设计,python量化交易策略回测

如果将backtrader包分解为核心组件,主要包括以下组成部分:(1)数据加载(Data Feed):将交易策略的数据加载到回测框架中。(2)交易策略(Strategy):该模块是编程过程中最复杂的部分,需要设计交易决策,得出买入/卖出信号。(3)回测框架设置( Cerebro):需要设置(i)初始资金(ii)佣金(iii)数据馈送(iv)交易策略(v)交易头寸大小。(4)运行回测:运行Cerebro回测并打印出所有已执行的交易。

P5688346的博客 1452

量化交易中用到的回测评估指标(策略收益、基准收益、Alpha比率、Beta比率、夏普比率、索提诺比率)详解

量化交易中用到的回测评估指标(策略收益、基准收益、Alpha比率、Beta比率、夏普比率、索提诺比率)详解

weixin_42410014的博客 8128

量化炼金术:深入解析CTA与多因子策略回测评价指标及实战经验

精通回测评价指标及其解读,是量化研究者从入门到精通的必经之路。它帮助我们量化地认识策略的收益潜力、风险特征、优势与短板。然而,我们必须清醒地认识到,历史回测的成功并不保证未来的盈利。市场在变,模型需要不断迭代。将严谨的回测评价与对市场深刻的理解、对风险持续的敬畏相结合,辅以强大的执行力和纪律性,才能在量化投资这条充满挑战与机遇的道路上行稳致远。希望本文能为您构建强大的量化策略评价体系提供有益的参考。

zhangyunchou2015的博客 2252

Python机器学习与量化交易

文章目录1. 量化交易简介1.1 量化交易的历史1.2 什么是量化交易1.3 量化交易分类1.4 金融产品及衍生品的投资策略1.5 量化交易的优势1.6 如何做量化交易项目2. 量化回测框架介绍2.1 回测框架介绍2.2 策略创建运行的流程2.3 数据获取接口2.4 回测交易接口2.5 策略评价指标2.6 实现第一个股票策略 1. 量化交易简介 1.1 量化交易的历史 ➢ 全球量化交易的发展历...

NiuXL的编程技术网络日志 5139

量化交易backtrader实践(四)_评价统计篇(4)_多个回测的评价列表

本节通过实践,我们制作了一个相对完整的程序,把多支股票乘以多种策略在backtrader中进行回测的许多评价指标做成了列表输出,以方便后续分析和选择分数高的股票或与之相匹配的策略。

AouSdu 2420

ETF定投数据分析4——计算各种回测指标

先计算各种回测和评估策略时要用的指标吧。 参考: https://zhuanlan.zhihu.com/p/24356155 https://zhuanlan.zhihu.com/p/55425806 https://zhuanlan.zhihu.com/p/29386150 先建立一个新的分支Index,再建立一个新文件index.py,写计算各种指标的程序。 这个过程折腾了我几天,方法是先建立...

不会写python的牙医不是好司机(本博客已关闭,不再更新) 3454

Backtrader 量化回测实践(6)——量化回测评价工具Quantstats

quantstats主要有三个功能,对每个功能进行解读和测试,提供测试用例: 1.统计功能,计算各类性能指标,夏普率,胜率,波动率等; 2.绘图功能,可视化性能指标,最大回撤,滚动统计,月度回报率等; 3.报告功能,生成度量报告,批量绘图,创建HTML报告;

六月闻君 6403

如何用Python实现股票量化交易?

1.1 定义量化交易(量化投资)是指借助现代统计学和数学(机器学习)的方法,利用计算机技术来进行交易的证券投资方式。量化交易从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,用数量模型验证及固化这些规律和策略,然后严格执行已固化的策略来指导投资,以求获得可以持续的、稳定且高于平均收益的超额回报。1.2 掌握技能1、 基础回测框架Zipline本身只支持美国的证券,无法更好的使用数据,本地运行速度慢2、云端的框架提供部分满足需求的数据(但是平台数据质量不行,指标不完整)...

黑马程序员官方博客 1万+

Matlab系列之GUI设计基础

Matlab系列之GUI设计基础简介编辑界面菜单设计控件设计控件描述个人理解Matlab转译控件属性【1】外观与行为【2】控件对象的信息【3】回调函数【4】状态信息结束结束更多精彩,等你发现~ 简介 GUI即图形用户界面(Graphical User Interface),人机交互的一种方式,可以简化用户的操作,比如只需要点点窗口上的按键或者菜单选择等等,就可以实现一个复杂的功能,有点类似黑盒的操作吧。 本篇将主要介绍GUI的使用,以及一些功能,后续的篇章再使用GUI来设计实例。 打开GUI可以在Matla

Smart_Devil的博客 5万+

【python量化交易】qteasy使用教程03 -创建交易策略并评价回测结果

qteasy使用教程第三篇,以一个大小盘轮动交易策略为例子,详细介绍了如何使用queasy创建交易策略,设置策略参数、配置回测参数、检查回测结果、并修改策略

Shepherdppz的博客 1794

ThingsBoard 仪表板状态

请先通过阅读仪表板概述和仪表板入门案例来熟悉ThingsBoard的仪表板。文章希望通过浅显的文字描述什么是仪表板状态及如何使用。 概念 状态功能使得仪表板可以分层,配合小部件的动作,实现多层仪表板之间的跳转.每个状态对应一个仪表板的图层 每个仪表板有一个默认的根状态, 根状态可以理解为默认状态, 也就是打开仪表板默认展示的仪表板图层.编辑模式下, 点击右上角的图标来管理状态.添加多个状态后左上角出现状态切换(图层切换)下拉列表可以通过选中根状态复选框切换新的默认展示的状态/图层配合小部件的动作,实现状

物联网三分钟 2308

RS485差分信号A下拉B上拉导致的乱码问题:一个硬件工程师的踩坑实录

本文通过一个工业网关项目中的RS485通信乱码故障,深入剖析了差分信号偏置电路设计的核心要点。文章详细记录了从波形抓取、原理图分析到多节点冲突排查的全过程,重点揭示了A下拉、B上拉这一反常规配置如何导致总线空闲状态不稳定,进而引发数据包末尾多出0x00字节及前导乱码的问题,并最终给出了硬件与软件协同的系统级解决方案与设计准则。

weixin_29159441的博客 236

量化策略——准备3 数据、Backtrader回测框架与quantstats评价指标

我们一般使用这个库来获取股票数据或策略中用得到的数据:使用Backtrader框架作为回测的框架:使用quantstats库作为回测结果评价的库:这一部分准备好之后,后续我们将关注点主要放在【策略】上,对于数据、评价指标这些如无特殊处理,将不再赘述。整个量化的框架构造起来不太容易,如果以前有所了解,可以用自己习惯的方式;如果觉得困难较大,也可以先跳过,等后面能力够了之后,再上手构建。ps:大家要慎重的使用网上的量化平台,因为偷策略这种事太正常了,大家还是最好自己本地搭一个测试的平台~

呆萌的代Ma 4219

STK12与Python联合仿真(一):环境搭建

STK仿真python接口,安装与测试

qq_42635142的博客 1万+

【手把手教你】入门量化回测最强神器backtrader(一)

1引言目前基于Python的量化回测框架有很多,开源框架有zipline、vnpy、pyalgotrader和backtrader等,而量化平台有Quantopian(国外)、聚宽、万...

Python金融量化 2万+

vivado运行时报错 license文件更新操作

vivado使用:SYNTHESIS->Run Synthesis 时报错 [Common 17-345] A valid license was not found for feature ‘Synthesis’ and/or device ‘xc7vx485t’. Please run the Vivado License Manager for assistance in determiningwhich features and devices are licensed for your sy

qq_44692266的博客 2万+

点云PCL库学习-双目图像转化为点云PCD并显示

文章目录 双目视觉模型 代码实现 总结 参考文章 一、双目视觉模型 和RGBD相机主动发射光线实现测距不同,双目测距原理通过配置立体摄像头(通常由左眼相机和右眼相机两个水平放置的相机组成)来获取一对同一场景中的二维图像,再基于同一空间点在两个坐标系下的视差来计算深度。双目测距的示意图和数学表达式如下所示: 双目相机的成像示意图 上述示意图描述了一个空间点在左右两目相机中位置之间的成像关系,根据相似三角形原理可得: 其中,f和b分别为相机焦距和双目相机基线,d为空间点在两个坐标系下

weixin_41957687的博客 6948

量化交易-Backtrader回测

如果将backtrader包分解为核心组件,主要包括以下组成部分:"Lines"是backtrader回测的数据:Open(开盘价),High(最高价),Low(最低价),Close(收盘价),Volume(成交量),OpenInterest(无得话设置为0)。DataFeeds(数据加载)、Indicators(技术指标)和Strategies(策略)都会生成Lines.价格数据中的所有“Open”(开盘价)按时间组成一条Line。所以,一组含有以上6个类别的价格数据,共6条Lines。如果算上“Data

linxiarain的博客 3877

【2026华为OD新规机考】最新套题持续更新【完全原创题解 | 详细考点分类 | 不断更新题目 | 六种主流语言Py+Java+Cpp+C+Js+Go】

可上练习华子OD、大厂真题绿色聊天软件戳od1441了解算法冲刺训练(备注【优快云】否则不通过)

weixin_48157259的博客 505

量化交易 第六课 策略评估指标计算

策略评估指标计算. 包括回测收益率, 回测年化收益率, 最大回撤, 夏普比率.

我是小白呀的博客 1万+

7、复杂分布式水文模型的两阶段代理参数校准框架

本文提出了一种针对复杂分布式水文模型的两阶段代理参数校准框架,旨在解决可变入渗能力模型(VIC)在参数校准过程中计算成本高、耗时长的问题。该框架结合AdaBoost与反向传播神经网络(BPNN)构建高精度代理模型,并引入ε-NSGA II多目标优化算法加速搜索最优参数集。通过在兰江流域和湘江流域的实验验证,该方法在校准效率上提升了约20倍,同时保持了高模拟精度(NSE接近1,Bias接近0)。框架采用两阶段设计:第一阶段(SM-I)快速筛选关键参数范围,第二阶段(SM-II)进行高精度预测,显著减少了无效计

apple5的专栏 86

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

用 Python 三剑客玩转量化交易:从数据获取到策略回测,一篇通关实战指南

本文聚焦 Pandas、yfinance、Matplotlib 三库的组合应用,详解 Python 量化交易的完整实现流程。首先阐述三者的核心价值:yfinance 免费获取全球金融数据,Pandas 处理数据并计算技术指标,Matplotlib 可视化呈现结果,三者构成量化交易的 “黄金组合”。 核心内容包括:环境搭建与股票代码格式说明;用 yfinance 获取单只及多只股票的历史价格与基本面数据;借助 Pandas 清洗数据并计算均线、RSI、MACD 等关键技术指标;通过 Matplotlib 绘制

C++、Python、Linux、人工智能、车载开发、QT开发、AI绘画。 2007

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 深度学习入门之感知机
下一篇: python实现交易策略评价指标-收益率
苍老流年
博客等级 码龄16年 397粉丝 165原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值