网易首页 > 网易号 > 正文 申请入驻

量化小讲堂:如何判断一个策略的好坏?

0
分享至

引言:

本系列帖子“量化小讲堂”,通过实际案例教初学者使用python、pandas进行金融数据处理,希望能对大家有帮助。

【必读文章】:《10年400倍策略分享-附视频逐行讲解代码》

(http://bbs.pinggu.org/thread-5558776-1-1.html)

【所有系列文章汇总】:(http://bbs.pinggu.org/thread-3950124-1-1.html)

微信:coinquant,有问题欢迎交流。

文中用到的A股数据可在www.yucezhe.com下载,这里可以下载到所有股票、从上市日起的交易数据、财务数据、分钟数据、分笔数据、逐笔数据等。

如何判断一个策略的好坏?

对于一个交易策略,初学者往往认为收益越高越好。收益确实是一个重要的评价指标,但是除了收益之外,还有很多其他重要的角度来衡量一个策略的好坏。例如这个策略的风险性、胜率、交易频率等。

本篇文章以几个常见的交易策略评价指标为案例,向大家介绍pandas的以下几个功能的运用:

1.dataframe的合并操作:append()、concat()函数的用法

2.按某一列的值排序操作:sort_values()函数的用法

3.常见统计指标的方法:mean(), std()等

4.pandas画图操作:plot方法

我将介绍如下几个经典指标

年化收益

任何收益都应该转换成年化收益,以进行比较。股神巴菲特投资几十年以来的年化收益是20%左右。美国股市百年来年化收益大概是10%左右。所以我们也不要太贪心,不要动辄就要求每年翻倍的收益。计算公式为:(账户最终价值/账户初始价值)^(250/回测期间总天数)-1

最大回撤

最大回撤就是从一个高点到一个低点最大的下跌幅度,用来描述我们的策略可能出现的最糟糕的情况,衡量了最极端可能的亏损。例如一个策略的最大回撤是50%,那么你使用这个策略之前就要掂量掂量,自己是否能经受得起50%的下跌。计算公式为:min(账户当日价值 / 当日之前账户最高价值-1)。

我一般认为,年华收益/最大回撤,是个最简单有效的策略判断指标。

平均涨幅

平均涨幅衡量了在回测期间资产的平均涨跌情况。计算公式为:账户日收益的平均值。

上涨概率

上涨概率衡量了我们投资组合上涨的可能性。计算公式为:上涨天数 / 回测交易日数量。

最大连续上涨天数

衡量了我们策略连续盈利的最大天数。

最大连续下跌天数

衡量了我们策略连续亏损的最大天数。或者说策略连续失效的次数。这个指标很重要,在实战中,若连续失败的次数多了,会动摇自己的信心,使自己很难跟着策略走下去。

最大单周期涨幅

所有日期中最大的涨幅,衡量了资产一天内的最好表现。

最大单周期跌幅

所有日期中最大的跌幅,衡量了资产一天内的最差表现。

收益波动率

单单追求高收益率是不行的,我们在投资中还必须考虑到潜在的风险。波动太大的策略往往风险也较高。收益波动率就衡量了策略收益的波动情况即风险。计算公式为:账户日收益的年化标准差。

贝塔(beta)值

根据经典的资本资产定价理论(CAPM模型),β系数衡量了资产的回报率对市场变动的敏感程度,代表了该资产的系统性风险,表示策略对大盘的敏感性。计算公式为:账户日收益与参考基准日收益的协方差 / 参考基准日收益的方差。

阿尔法(alpha)值

虽然我们的策略会受到大盘的影响,但是每个策略都会有自己市场因素之外的收益,alpha值表示实际风险回报和平均预期风险回报的差额,衡量了投资的非系统性风险。计算公式为:(账户年化收益-无风险收益)-beta*(参考基准年化收益-无风险收益)。

夏普比率

理性的投资者将选择并持有有效的投资组合,即那些在给定的风险水平下使期望回报最大的投资组合,夏普比率就是一个可以同时对收益与风险加以综合考虑的经典指标,表示每承受一单位风险,会产生多少的超额回报。计算公式为:(账户年化收益率-无风险利率)/ 收益波动率。

信息比率

信息比率以马克维茨的均异模型为基础,用来衡量超额风险所带来的超额收益。它表示单位主动风险所带来的超额收益。计算公式为:(账户日收益 - 参考基准日收益)的年化均值/年化标准差。

任何策略的结果都是一个收益序列,根据这个收益序列可以得到一条资金曲线。为了简单起见,我们就任选一只股票每天的收益率作为原始数据,来计算上文提到的各种策略评价指标。在http://yucezhe.com/product?name=trading-data可以下载到所有股票的历史日线数据,可以作为我们计算的原始数据。

数据下载下来解压缩打开后,里面有所有股票和几个常见指数的数据。打开其中一个股票文件之后是下图这个样子,每一行是每一天的数据:

数据有以下的字段:

【code】股票的代码,上证股票以sh开头,深证股票以sz开头

【date】交易日期

【open】开盘价

【high】最高价

【low】最低价

【close】收盘价

【change】涨跌幅,复权之后的真实涨跌幅,保证准确

【volume】成交量

【money】成交额

【traded_market_value】流通市值

【market_value】总市值

【turnover】换手率,成交量/流通股本

【adjust_price】后复权价,复权开始时间为股票上市日,精确到小数点后10位

【report_date】最近一期财务报告实际发布的日期

【report_type】最近一期财务报告的类型,3-31对应一季报,6-30对应半年报,9-30对应三季报,12-31对应年报

【PE_TTM】最近12个月市盈率,股价 / 最近12个月归属母公司的每股收益TTM

【PS_TTM】最近12个月市销率, 股价 / 最近12个月每股营业收入

【PC_TTM】最近12个月市现率, 股价 / 最近12个月每股经营现金流

【PB】市净率,股价 / 最近期财报每股净资产

对于我们来说,只要取【date】以及【change】就行了。下面是代码的截图,这段代码截取指定的股票在指定时间段内的收益率,计算相关指标。代码里面有详细的注释,要获取程序的源码,请在文章末尾留言或者私信。

获取数据函数:

计算年化收益率函数:

计算最大回撤函数:

计算平均涨幅:

计算上涨概率:

计算最大连续上涨天数和最大连续下跌天数:

计算最大单周期涨幅和最大单周期跌幅:

计算收益波动率的函数、计算贝塔的函数:

计算alpha的函数:

计算夏普比函数:

计算信息比率函数、计算股票和基准在回测期间的累计收益率并画图:

导入数据运行以上函数:

把数据和代码下载下来后,修改代码中原始数据的地址(也就是选择一个股票),并选定时间段,运行代码,就可以看到输出结果了。假设我们选择万科A,并设定时间段为1991年1月1日到2015年12月31日这25年,得到如下的输出结果:

万科A二十几年年年化回报是15%,已经相当不错了,最大回撤为78.9756%,也就是将近跌了80%,发生在08年的股灾。最大连续下跌50天,也是有点猛...

之后会讲的内容:

万得实盘交易接口

马克维茨资产组合理论在中国市场实际运用的效果

以均线为例,完整的讲述一个交易策略应该如何编写

对于文章的内容有疑问、或者《量化小讲堂》相关的问题,欢迎大家留言、私信与我进行沟通。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
83年飞行员王学成叛逃台湾,邓丽君慰问时耳语一句后被强行支走

83年飞行员王学成叛逃台湾,邓丽君慰问时耳语一句后被强行支走

鉴史录
2026-05-24 15:48:49
《主角》将收官,演员评分出炉:窦骁垫底,刘浩存9.6分仅排第4

《主角》将收官,演员评分出炉:窦骁垫底,刘浩存9.6分仅排第4

不似少年游
2026-05-31 14:28:23
有人正偷偷“篡改”抗战历史!他们想毁掉的,不只是30万人的记忆

有人正偷偷“篡改”抗战历史!他们想毁掉的,不只是30万人的记忆

浪子说
2026-05-30 00:05:05
夫妻性生活别急着进入!学会这招“延迟满足”,爽感增倍

夫妻性生活别急着进入!学会这招“延迟满足”,爽感增倍

精彩分享快乐
2026-05-13 12:05:07
率队卫冕欧冠,恩里克赛后表态引热议,球迷:看不起国米

率队卫冕欧冠,恩里克赛后表态引热议,球迷:看不起国米

侧身凌空斩
2026-05-31 04:46:09
被中国代表“驱逐”后,日防长反击:中国军事活动才应被严重关切

被中国代表“驱逐”后,日防长反击:中国军事活动才应被严重关切

阿龙聊军事
2026-05-31 15:58:11
驴友夫妇痛骂国内医院,8天花1471元?3年后美国车祸花60余万美元

驴友夫妇痛骂国内医院,8天花1471元?3年后美国车祸花60余万美元

贱议你读史
2026-05-31 16:19:12
博主:深圳换帅不是因为竞技层面,陈涛和体育总监严重不和

博主:深圳换帅不是因为竞技层面,陈涛和体育总监严重不和

懂球帝
2026-05-31 11:13:02
上海广厦G3!CCTV5直播有变!大白边没跟队,裁判才是关键

上海广厦G3!CCTV5直播有变!大白边没跟队,裁判才是关键

老吴说体育
2026-05-31 10:22:28
志愿军团长嫌敌人太弱,懒得去打,因此创下战争史上的一个奇迹

志愿军团长嫌敌人太弱,懒得去打,因此创下战争史上的一个奇迹

史之铭
2026-05-30 04:41:39
湖北省召开全省领导干部会议

湖北省召开全省领导干部会议

新京报
2026-05-30 13:13:05
张艺谋没想到,《主角》请9位陕西人压阵,风头却被3个外地人抢走

张艺谋没想到,《主角》请9位陕西人压阵,风头却被3个外地人抢走

白面书誏
2026-05-16 20:18:12
超级电容异军突起,这8家储能企业被低估了

超级电容异军突起,这8家储能企业被低估了

慧眼看世界哈哈
2026-05-31 12:31:08
张雪深夜发飙!给经销商270人发命令,张雪:删视频,马上,重罚

张雪深夜发飙!给经销商270人发命令,张雪:删视频,马上,重罚

阿纂看事
2026-05-29 11:15:42
曾经被骂断子绝孙的恶树,如今1斤卖20元太惊人!

曾经被骂断子绝孙的恶树,如今1斤卖20元太惊人!

黑哥讲现代史
2026-05-31 14:37:16
利物浦脸都绿了!刚炒掉的冠军主帅,转头被欧洲豪门抢着当救世主

利物浦脸都绿了!刚炒掉的冠军主帅,转头被欧洲豪门抢着当救世主

澜归序
2026-05-31 02:44:49
32岁女生自述得艾滋病过程,原因是见了一次网友,如今十分后悔

32岁女生自述得艾滋病过程,原因是见了一次网友,如今十分后悔

千秋文化
2026-03-29 20:59:49
“名媛”,不要读 míng yuán!丢不起那个人!

“名媛”,不要读 míng yuán!丢不起那个人!

未央看点
2026-05-31 12:41:49
3岁被周总理带身边十几年,李鹏澄清:我是养子,这说法并不正确

3岁被周总理带身边十几年,李鹏澄清:我是养子,这说法并不正确

人生录
2026-05-29 17:51:24
上头了?拉亚第五轮点球移动过早,直接让出射门空间

上头了?拉亚第五轮点球移动过早,直接让出射门空间

懂球帝
2026-05-31 03:46:29
2026-05-31 16:48:49
邢不行
邢不行
专注python量化投资
10文章数 185关注度
往期回顾 全部

财经要闻

医学首席转岗搞科技,A股科技股遭遇巨震

头条要闻

50岁女子在美容店打除皱针半月后死亡 老板:加量打的

头条要闻

50岁女子在美容店打除皱针半月后死亡 老板:加量打的

体育要闻

阿森纳用最悲壮的方式,成就了巴黎王朝

娱乐要闻

贾玲最新动作!侯明昊给虞书欣抬轿!

科技要闻

戴尔诺基亚又回来了!AI重估老牌科技公司

汽车要闻

900V+3.2秒破百 领克10+&领克10上市16.99万元起

态度原创

数码
时尚
健康
艺术
军事航空

数码要闻

微星发布搭载英特尔Arc G3的掌机Claw 8 EX AI+ 6月开售

梓渝:慢下来,也很好

尝试干细胞疗法如何避免踩坑?

艺术要闻

Luis Alvarez Roure | 美国现实主义画家

军事要闻

解放军代表质问日防卫大臣:日本何时道歉

无障碍浏览 进入关怀版