python量化交易策略实例_Python进阶量化交易场外篇3——最大回撤评价策略风险...
新年伊始,很荣幸笔者的《教你用 Python 进阶量化交易》专栏在慕课专栏板块上线了,欢迎大家订阅!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外会陆续推出一些手记来辅助同学们学习本专栏内容,因此同学们无需担心专栏内容在学习上的困难,更多的是明确自己学习的目的即可。当然笔者也欢迎同学们踊跃留言,说出自己想扩展的知识点,笔者会根据同学们的意愿选择性的推出一些内容。
本次场外篇笔者在专栏《18、股票交易数据可视化:买卖区间下策略收益绘制》的基础上对策略的最大回撤指标做一定的扩展介绍。最大回撤属于判断策略风险高低的指标,用来描述买入股票后,在策略出现最糟糕的情况下会损失多少钱,这也直接关系到《21、股票交易策略开发:ATR止盈止损风险策略》小节中对于风险策略中止盈止损因子的设定。
我们知道投资是有风险的,那么如何去衡量这个风险呢?最大回撤率就是一种直观的将风险切实量化的指标。最大回撤率计算公式:max(1-当日收盘价/当日之前最高价)*100%【(最高价-最低价)/最高价】。举个例子,在股票最高价2元买入,近半年内,股价下跌到最低点1.6元,最大亏损0.4元,那么这近半年最大回撤率=1-1.6/2×100%,结果是20%。显而易见,最大回撤率越小越好,因为回撤与风险成正比,回撤越大,风险也就越高。最大回撤的概念虽然直观,但在程序中到底应该怎么实现计算呢?
我们延续专栏《18、股票交易数据可视化:买卖区间下策略收益绘制》的内容,计算浙大网新股价的最大回撤率和应用策略后资金曲线的最大回撤率。以计算资金曲线最大回撤率为例,首先使用expanding() 计算资金曲线的滚动最大值,也就是截至当前时间,资金曲线的最大值,图中的橙色曲线所示。
接着,将资金曲线与资金曲线滚动最大值矢量相除,即得到回撤后资金剩余的百分比,也就是资金曲线在滚动最大值之后剩余资金的百分比,对剩余资金百分比从小到大排序,那么第一行就包含了回撤后资金剩余百分比的最小值,1-资金剩余百分比最小值即为资金曲线最大回撤率。
以下为计算资金曲线最大回撤率实现代码,同理计算股价曲线最大回撤率与此类同:
#expanding()计算资金曲线当前的滚动最高值
stock_df['max_total'] = stock_df['total'].expanding().max()
#计算资金曲线在滚动最高值之后所回撤的百分比
stock_df['per_total'] = stock_df['total']/stock_df['max_total']
min_point_total = stock_df.sort_values(by=['per_total']).iloc[[0], stock_df.columns.get_loc('per_total')]
max_point_total = stock_df[stock_df.index <= min_point_total.index[0]].sort_values\
(by=['total'],ascending=False).iloc[[0],stock_df.columns.get_loc('total')]
print("最大资金回撤%5.2f%%从%s开始至%s结束"%((1-min_point_total.values),\
max_point_total.index[0],min_point_total.index[0]))
最后分别打印出浙大网新股价和资金曲线最大回撤率,以及时间点,并且在图形上标注。更多的量化交易内容欢迎大家订阅专栏阅读!!
最大股价回撤 0.53%从2018-04-24 00:00:00开始至2018-10-16 00:00:00结束
最大资金回撤 0.15%从2018-05-23 00:00:00开始至2018-10-08 00:00:00结束
更多python量化交易内容互动请加微信公众号:PythonQT-YuanXiao
欢迎订阅量化交易课程:[链接地址]
python量化交易策略实例_Python进阶量化交易场外篇3——最大回撤评价策略风险...相关推荐
- python计算最大回撤_Python进阶量化交易场外篇3——最大回撤评价策略风险
新年伊始,很荣幸笔者的<教你用 Python 进阶量化交易>专栏在慕课专栏板块上线了,欢迎大家订阅!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外会陆续推出一些手记来辅助同学们学习 ...
- python gui插件_Python进阶量化交易专栏场外篇17- GUI控件在回测工具上的添加
欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下: 为了 ...
- python选股票进阶_Python进阶量化交易专栏场外篇27-股票数据的除权和复权
欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下: 在行 ...
- python爬取论坛付费内容_Python进阶量化交易专栏场外篇20-爬虫抓取股票论坛帖子...
欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下: 为了 ...
- python 爬取财经新闻股票_Python进阶量化交易专栏场外篇20-爬虫抓取股票论坛帖子...
欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下: 为了 ...
- python 组合优化 回撤最小_Python进阶量化交易专栏场外篇23-Markowitz实现股票最优组合...
欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下: 股票 ...
- python做excel数据分析带gui_Python进阶量化交易专栏场外篇25-GUI工具实现excel功能...
欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下: 为了 ...
- pb 调用虹软_Python进阶量化交易专栏场外篇12-股票分笔数据跨周期处理
欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下: 在专 ...
- python多线程并发_Python进阶记录之基础篇(二十四)
回顾 在Python进阶记录之基础篇(二十三)中,我们介绍了进程的基本概念以及Python中多进程的基本使用方法.其中,需要重点掌握多进程的创建方法.进程池和进程间的通信.今天我们讲一下Python中 ...
最新文章
- python写界面输入测试脚本_python+Selenium自动化测试——输入,点击操作
- 智力题:关于进入房间一次,判断哪个开关控制哪盏灯的问题
- CYQ.Data V4系列全面开源(2013-08-04)
- java中static作用详解
- java设计模式---桥接模式
- 封装的适配器 adapter
- Linux系统管理技术手册——第6章 添加新用户
- Java多线程知识小抄集(四)——完结
- 推荐一款非常强大的扒站工具
- 数据科学入门与实战:Matplotlib绘图基础一
- 【Kibana】Kibana下Dev Tools操作ES命令持续积累
- 西瓜书+实战+吴恩达机器学习(二三)EM算法和变分推断
- vss服务器状态失败_Exchange快照错误,询问写入器状态失败
- 系统迁移涉及到的方案
- javascript开发简易画板
- oracle数据块的大小设置,Oracle数据块的大小
- 云天励飞在科创板获准注册:计划募资30亿元,陈宁为实际控制人
- 用标志域tag判断队空队满的入队和出队算法
- 小米手机MIUI关闭广告
- switch语句 计算个人所得税和税后收入
热门文章
- 控件View动态设置高度时会卡顿、速度慢的情况解决
- String, StringBuffer, StringBuilder(转载)
- memcached 的Linux安装
- Erlang China 大会 - CN Erlounge III - 发起
- java中的static方法可以被重写吗?(从方法调用过程理解)
- STM32中STD、HAL、LL库比较
- 常说SCI论文有多少篇,那你知道SCI是什么吗?
- 北京大学启用人脸识别系统:学生“刷脸”入校
- 沃尔沃投资两家以色列科技创企 布局人工智能
- mysql 5.7解压缩_mysql 5.7.22 解压缩安装