开拓者期货期权程序化系统交易论坛

标题: 策略性能测试与参数优化的具体计算公式 [打印本页]

作者: 小米    时间: 2012-4-23 16:20:40     标题: 策略性能测试与参数优化的具体计算公式

本帖最后由 小米 于 2018-8-6 11:32 编辑

交易开拓者的策略性能测试及参数优化有很多的测试项目与计算结果,并非每一个交易者都会用到其全部的数据,交易者只需选择自己所需的参考数据即可。
为方便交易者理解报告上各个数据的含义,现在将其计算公式整理如下:


交易策略性能测试报告

净利润: 绝对值(总盈利金额 - 总亏损金额) (盈利为黑色数字,亏损为红色)
总盈利: 总交易盈利金额 - 手续费
总亏损: 绝对值(总交易亏损金额 - 手续费)显示为红色
总盈利/总亏损: 绝对值(总盈利 / 总亏损)

交易手数: 总的交易数量
盈利比率: 盈利手数 / 总交易手数
盈利手数: 盈利交易的总手数
亏损手数: 亏损交易的总手数
持平手数: 持平交易的总手数

平均利润: 净利润 / 交易手数
平均盈利: 总盈利金额 / 盈利交易手数
平均亏损: 总亏损金额 / 亏损交易手数  (显示为红色)
平均盈利/平均亏损: 绝对值(平均盈利/平均亏损)

最大盈利: 盈利最大的单次交易的盈利金额
最大亏损: 绝对值(亏损最大的单次交易的亏损金额)
最大盈利/总盈利: 如字面所示
最大亏损/总亏损: 如字面所示
净利润/最大亏损: 如字面所示

最大连续盈利手数: 若将手数设为固定一手,则此手数也就是最大连续盈利次数
大连续亏损手数: 若将手数设为固定一手,则此手数也就是最大连续亏损次数
平均持仓周期:总交易的bar的总数 / 交易次数
平均盈利周期:总盈利交易的bar的总数 / 盈利交易次数
平均亏损周期:总亏损交易的bar的总数 / 亏损交易次数
平均持平周期:总持平交易的bar的总数 / 持平交易次数

最大使用资金: 以bar的收盘价来计算的最大持仓保证金(组合测试时为多个策略共同 计算的最大使用资金量)
佣金合计: 总共的佣金金额

收益率: 净利润 / 初始资金
年度收益率:有效收益率 / (总交易的天数 / 365)
有效收益率: 净利润 / 最大使用资金
月度平均盈利: 净利润 / 总交易的天数 × 30.5

收益曲线斜率: 根据交易盈亏曲线拟合的趋势线的斜率
收益曲线截距: 根据交易盈亏曲线拟合的趋势线的截距
收益曲线R平方值: 根据交易盈亏曲线拟合的趋势线与收益曲线之间相关系数的平方(具体计算方式可查阅EXCLE表格中R平方值的算法)

总交易时间: 参与测试的全部bar数据的天数
持仓时间比率: 持仓BAR数量 / 总bar数量
持仓时间: 总交易时间 * 持仓时间比率
最大空仓时间: 没有持仓的天数
持仓周期: 持仓的BAR数量

资产最大升水:  最高点金额 - 前期低点的金额
发生时间:  高点发生的所在BAR的日期与时间
最大升水/前期低点: 如字面所示

  
最大资产回撤值(按Bar收盘计算)
回撤值: 前期高点 - 低点
发生时间: 低点发生所在bar的日期与时间
回撤值/前期高点:(前期高点 - 低点) / 前期高点
净利润/回撤值: 净利润 / 回撤值

最大资产回撤值比例(按Bar收盘计算)
回撤值:前期高点 - 低点
发生时间: 低点发生所在bar的日期与时间
回撤值/前期高点:(前期高点 - 低点) / 前期高点
净利润/回撤值: 净利润 / 回撤值

注意:上述两个回撤的区别在于,前者是按回撤金额的最大值来计算,而后者是按回撤比例的最大值来计算的。比如说,一个原始金额
为10万的帐户,在刚开始交易的一段时间就发生了一个4万的回撤。而此帐户在交易一段时间后,总金额增长到了50万,此时发生了一个8万的回撤。如果
以金额回撤来计算,是后面这个8万的回撤大。但是以比例来计算,则是前面那个4万的回撤大。



交易策略参数优化报告

净利润: 绝对值(总盈利金额 - 总亏损金额)
年化收益: 净利润 / 总交易的天数 × 365
盈利比率: 盈利手数 / 总交易手数
平均利润: 净利润 / 交易手数
交易手数: 总交易手数
最大资产回撤:低点-前期高点
TB系数: 头寸系数*年化收益/最大使用资金
增长系数: 根据交易盈亏曲线拟合的趋势线的斜率
收益风险比:年度收益 / 最大资产回撤
R平方值: 根据交易盈亏曲线拟合的趋势线与收益曲线之间相关系数的平方(具体计算方式可查阅EXCLE表格中R平方值的算法)
置信度: 根据测试的交易次数计算的置信水平,计算公式为:1-1/Sqrt(交易次数);
头寸系数: 盈利比率-(100-盈利比率)/盈亏比
资产回撤计数: 资产回撤发生的次数(是以超过最大回撤基准线以上的回撤来计算的,此基准线在“全局交易设置中”进入设置)
平均资产回撤: 资产回撤总金额 / 资产回撤计数(都是以超过最大回撤基准线以上的回撤来计算的,此基准线在“全局交易设置中”进入设置)
调整收益风险比: 年度收益 / 平均资产回撤 (年度收益 = 净利润 / 总交易时间 * 365)
夏普比率:量化收益与风险的比值,具体算法参考互联网上的夏普比率计算方法
盈亏比: 平均盈利 / 平均亏损
总盈利: 总交易盈利金额 - 手续费
总亏损: 总交易亏损金额 - 手续费
盈利手数: 盈利交易的总手数
亏损手数: 亏损交易的总手数
连续盈利手数: 如字面所示
连续亏损手数: 如字面所示
最大盈利: 盈利最大的单次交易的盈利金额
最大亏损: 亏损最大的单次交易的亏损金额
平均盈利: 总盈利 / 盈利交易手数
平均亏损:总亏损金额 / 亏损交易手数
平均盈利周期:总盈利交易的bar的总数 / 盈利交易手数
平均亏损周期: 总亏损交易的bar的总数 / 亏损交易手数
盈利因子:  总利润 / 总亏损
最大资产回撤比率%: 最大资产回撤 / 前期高点

------------------------------------------------------------------------------
平仓效率总效率 = (平仓价-开仓价)/(最佳平仓价- 最佳开仓价)
建仓效率 = (最佳平仓价-开仓价)/(最佳平仓价- 最佳开仓价)
平仓效率 = (平仓价 - 最佳开仓价)/ (最佳平仓价- 最佳开仓价)
作者: 小马    时间: 2012-4-25 08:55:39

夏普比率计算公式:=[E(Rp)-Rf]/σp
E(Rp):投资组合预期报酬率
Rf:无风险利率
σp:投资组合的标准差

作者: 天空之城    时间: 2012-4-25 10:18:01

关于两个回撤的计算方法原来还存在以后。现在明白了。

作者: ljwgbb    时间: 2012-5-2 18:36:53

非常翔实,拜读
作者: ggyyff    时间: 2012-5-2 19:29:59

神贴呀! 留着留着
作者: adslxszj    时间: 2012-5-10 23:22:43

不错,学习
作者: nowang1    时间: 2012-6-17 12:19:39

谢谢,很好,学习了。
作者: 圆圆圆OoO    时间: 2012-6-22 08:39:23

马克!这要好好看看了,刚好再学...碰到好贴果断马!!!!
作者: tonyb2    时间: 2012-6-23 21:58:42

这个帖子不错,学习了。早该公开了,以前还真搞不明白
作者: qq2012    时间: 2012-6-24 18:57:09

学习了.谢谢
作者: rookies    时间: 2012-6-25 22:00:56

早就应该出啊,写到软件的帮助里让我们更了解测试的含义。

呼吁了好久,TB终于出了。

还有很多东西需要完善。TB加油吧
作者: 小米    时间: 2012-6-26 09:02:48

rookies 发表于 2012-6-25 22:00
早就应该出啊,写到软件的帮助里让我们更了解测试的含义。

呼吁了好久,TB终于出了。

此贴的内容在2011.4出来的TB公式指南里就有了。
这里只不过把此部分单独抓出来放了一个贴子。
作者: rookies    时间: 2012-6-26 09:44:22

是PDF的哪个指南吧?
下载了,没怎么看,原来里面有这个好东西啊!

平时主要还是看内置帮助多一些,能将这个整合到帮助然后再策略测试里做一个热链,可以直接由策略测试页面点击进入帮助解释,或者直接在策略测试页面像词霸那样热键直接注释就更好了

作者: jackystar820    时间: 2012-7-13 10:41:42

很好,谢谢。
作者: stewen.net    时间: 2012-7-14 10:34:10

不错,如果能加上一些分析就更好了,比如,TB系统是大些较好,一般系统应该达到什么值等,小于什么值的系统不可用,这样,我们测试自己的系统后,会有一个量化的判断,小米,你说是吗?
作者: flyfish    时间: 2012-10-29 07:18:32

小米 发表于 2012-6-26 09:02
此贴的内容在2011.4出来的TB公式指南里就有了。
这里只不过把此部分单独抓出来放了一个贴子。 ...

关于夏普率有个问题:比如系统的回测结果中夏普率是0.03101,那意思是每增加1%的风险就会增加3.101%的利润吗?
作者: sorakiraa    时间: 2012-10-29 09:45:36

flyfish 发表于 2012-10-29 07:18
关于夏普率有个问题:比如系统的回测结果中夏普率是0.03101,那意思是每增加1%的风险就会增加3.101%的利 ...

夏普率是组合超出期望的收益与组合风险的比
虽然收益与风险是正相关的
但是这里还涉及一个理性预期的问题
话说回来这只是个回测结果
硬要说每提高1%风险就能带来多少收益是不科学的

作者: flyfish    时间: 2012-10-29 10:29:32

sorakiraa 发表于 2012-10-29 09:45
夏普率是组合超出期望的收益与组合风险的比
虽然收益与风险是正相关的
但是这里还涉及一个理性预期的问题 ...

我的意思其实是想搞清楚TB回测结果里显示的夏普比率到底是怎么个标准。因为我在别处看到有说法是夏普率在1左右比较好。可我的系统在TB里都是0.0x的,所以想搞明白是否TB里的夏普率要乘以100才是别人说的夏普率。
作者: FortuneGates    时间: 2012-11-22 14:45:17

不错,学习了。
作者: win5ms    时间: 2012-12-6 14:59:12

看贴胜过问垃圾客服
作者: handsomeg    时间: 2012-12-10 11:15:57

tb的夏普比率我也一直搞不懂,为什么这么低的值,难道开发者中就没一个真正懂这个计算公式的?再一个夏普系数一般是计算的是年度夏普系数,不知道tb计算的是什么周期下的?
作者: daweide08    时间: 2013-1-5 10:56:39

好贴,再请问:测试报告里,平仓分析栏目下的:建仓效率、平仓效率、总效率,又是怎么计算的呢?
作者: 小米    时间: 2013-1-5 14:04:29

daweide08 发表于 2013-1-5 10:56
好贴,再请问:测试报告里,平仓分析栏目下的:建仓效率、平仓效率、总效率,又是怎么计算的呢? ...

总效率 = (平仓价-开仓价)/(最佳平仓价- 最佳开仓价)
建仓率效 = (最佳平仓价-开仓价)/(最佳平仓价- 最佳开仓价)
平仓率效 = (平仓价 - 最佳开仓价)/ (最佳平仓价- 最佳开仓价)
作者: whufang    时间: 2013-1-5 15:38:12

虽然看不懂.不过感觉好厉害的样子
作者: dragzhb    时间: 2013-1-5 18:32:04

问一下,标准差,在哪儿?这个是一个简单的计算,为啥在报告中没有(计算夏普比率也要计算)?这也是一个很重要的指标。
作者: daweide08    时间: 2013-1-5 21:51:06

感谢楼主回复
作者: lxqjswa    时间: 2013-1-13 11:59:21

已下载软件,怎样登陆?在网站已注册,软件需要重新注册吗?
作者: 小米    时间: 2013-1-14 09:38:03

lxqjswa 发表于 2013-1-13 11:59
已下载软件,怎样登陆?在网站已注册,软件需要重新注册吗?

软件帐号需要在软件上进行注册。

作者: hreo2013    时间: 2013-1-21 21:46:41

学习     
作者: 天崖    时间: 2013-2-11 20:35:15

问一下,标准差,在哪儿?这个是一个简单的计算,为啥在报告中没有(计算夏普比率也要计算)?这也是一个很重要的指标。
作者: 小米    时间: 2013-2-18 10:13:28

天崖 发表于 2013-2-11 20:35
问一下,标准差,在哪儿?这个是一个简单的计算,为啥在报告中没有(计算夏普比率也要计算)?这也是一个很 ...

这个,增加标准差的建议,我们跟开发人员反馈一下吧。
作者: hepang    时间: 2013-4-13 09:44:57

yao追重要的是哪个
作者: 纹枰论道    时间: 2013-4-14 23:13:01

谢谢
作者: Amymylove    时间: 2013-4-15 09:50:51

好贴,收藏,拜读。
作者: Anchess    时间: 2013-4-18 21:40:00

公式开发指南V4.2/2011.8 存在错误!
http://bbs.tb18.net/forum.php?mo ... &fromuid=117799

作者: 小米    时间: 2013-4-19 08:57:14

Anchess 发表于 2013-4-18 21:40
公式开发指南V4.2/2011.8 存在错误!
http://bbs.tb18.net/forum.php?mod=viewthread&tid=26491&fromuid=11 ...

是的,第一个版本上有一些错误,工作人员已经在着手修改。感谢您的关注与指正。
作者: sqj888    时间: 2013-4-21 23:34:27

mark
作者: 北风    时间: 2013-6-2 23:34:41

为什么交易测试报告里边没有在总盈利和总亏损中计入手续费呢?请解释一下。

净利润: 绝对值(总盈利金额 - 总亏损金额) (盈利为黑色数字,亏损为红色)
总盈利: 总交易盈利金额 - 手续费
总亏损: 绝对值(总交易亏损金额 - 手续费)显示为红色

下边的数据是从交易测试报告里摘录的:
性能概要                       
统计指标        全部交易        多头        空头
净利润        1000.00        0.00        1000.00
总盈利        1300.00        0.00        1300.00
总亏损        (300.00)        0.00        (300.00)
交易成本合计        600.00

这里就没有考虑手续费,如果考虑手续费,净利润=1000-600=400,如果这样的话,利用这个值的所有计算都是错的。不知理解的对否?
作者: 北风    时间: 2013-6-2 23:42:59

这里 净利润和总盈利
为什么没有计入手续费呢?
作者: goodstudy    时间: 2013-7-4 13:34:30

很好
作者: caobing    时间: 2013-10-8 14:01:22

留个脚印,你懂得
作者: fbull    时间: 2013-11-23 22:28:58

夏普比率:量化收益与风险的比值,具体算法参考互联网上的夏普比率计算方法
描述得真好!
此处省略一万字。。。。。

以我的经验,软件里面的公式是写错了的,请不懂金融的程序员核实一下:
夏普比率=(年化的收益率-无风险利率)/年化标准差  或者 夏普比率=年化的收益率/年化标准差

注意年化两个字,希望是我错了
作者: jesonli20    时间: 2014-2-13 14:03:15


作者: jesseyoung    时间: 2014-3-5 16:27:14

这个帖子不错,学习了。
作者: suncrb    时间: 2014-8-2 15:48:54

新手起步,慢慢学习中
作者: xyof    时间: 2014-11-27 16:29:24

非常有用的资料
作者: gtooogtooo    时间: 2015-12-11 09:50:22

这个帖子太棒了。建议以后添加到软件f1
作者: yuling277    时间: 2015-12-18 09:54:38

非常棒,正发愁怎么看这些指标呢,赞赞赞
作者: polarlights    时间: 2016-3-18 08:25:25

mark
作者: carco168    时间: 2016-5-26 17:56:50

无能小米
作者: xledoo    时间: 2017-9-10 21:15:42

Mark、
作者: a1730246481    时间: 2018-12-24 10:06:08

顶一下
作者: longfang202    时间: 2019-4-28 20:38:41

为什么公式测试里建仓手数是1,而且不能连续建仓,,还有多头,空头只能单选?
作者: tb13858098775    时间: 2020-4-10 06:47:55

用系统海龟回测出的参数,,怎么解决实盘账户开仓手数不一致问题。
我用海龟回测2个月的参数,确定后,策略每次按照回测后的建仓手数发单,比如是一次发10手,
实际上我的实盘账户只能开1-2手。。如何让建仓手数按照我实际的账户资金发单建仓。
作者: hlp0410    时间: 2020-4-10 14:06:00

tb13858098775 发表于 2020-4-10 06:47
用系统海龟回测出的参数,,怎么解决实盘账户开仓手数不一致问题。
我用海龟回测2个月的参数,确定后,策略 ...

海龟交易系统使用的资金是图表上设置的初始资金,并不是你实盘账户的实际资金,海龟采用的有信号的写法也不能用a函数读取实际账户资金的
您可以试试把图表上的初始资金设置的跟您的实际资金一样,这样虽然并不能与您账户实际资金同步变化,也能大概计算手数
或者直接就限制开仓手数为1手或者2手吧,在公式应用设置-全局交易设置-头寸控制---最大持仓限制  改成1或者2
作者: acc4tb    时间: 2020-6-4 10:50:38

请问,最佳开仓价和最佳平仓价是怎么定义的?
作者: 小米    时间: 2020-6-4 11:18:30

acc4tb 发表于 2020-6-4 10:50
请问,最佳开仓价和最佳平仓价是怎么定义的?

从开仓信号到平仓信号之间,开仓成本最低的那个价位。
从开仓信号到平仓信号之间,平仓收益最高的那个价位。
作者: acc4tb    时间: 2020-6-4 11:30:32

小米 发表于 2020-6-4 11:18
从开仓信号到平仓信号之间,开仓成本最低的那个价位。
从开仓信号到平仓信号之间,平仓收益最高的那个价 ...

对于多单来说,最佳开仓价是开仓BAR到平仓BAR之间的最低价,最佳平仓价是开仓BAR到平仓BAR之间的最高价,可以这么理解吗?
作者: 小米    时间: 2020-6-4 13:47:58

acc4tb 发表于 2020-6-4 11:30
对于多单来说,最佳开仓价是开仓BAR到平仓BAR之间的最低价,最佳平仓价是开仓BAR到平仓BAR之间的最高价, ...

正解




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2