楼主: yunchuangao
1364 1

[投资学] 策略回测系统(2/2):过度拟合的量化度量 [推广有奖]

  • 0关注
  • 0粉丝

本科生

35%

还不是VIP/贵宾

-

威望
0
论坛币
2490 个
通用积分
23.6671
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2275 点
帖子
33
精华
0
在线时间
75 小时
注册时间
2008-10-7
最后登录
2023-1-1

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

[原创,转载请注明]


原文连接:https://www.linkedin.com/feed/update/urn:li:activity:6827773122717065216


PBO probability ofbacktesting overfitting

PBO是在回测中衡量一个策略的过度拟合程度的度量,通过CSCV(combinatorialsymmetric cross validation)算法实现。

1. 假设一个交易策略对历史样本进行回测,时间点为1,2,…,T,通过调整参数和策略模型等方法得到N个收益时间序列。组建一个矩阵M,M的每一行代表时间t=1,2,…,T,每一列为回测n的收益时间序列,这里n=1,2,…,N。


2. 首先将M按行分割成S个子矩阵,每一个子矩阵Ms含有相同的行数,和N列。从S个子矩阵中随机抽取S/2个,将每一个子矩阵记为J。重复这样的随机抽取,并进行以下步骤计算:


3. 将子矩阵J的行和列作为样本内数据,子矩阵J在M中的补集作为样本外数据,记为Jtest。

对J中的每一列计算策略效益,这里假设为Sharpe Ratio。之前提过,M的每一列都是某个回测样本的收益序列,因此这里我们计算的是J矩阵也就是某个样本内的收益序列的收益。这样得到一个Sharpe ratio的序列,记为R=r1,r2,…,rN。


4. 在R中找到sharperatio最高的一列,将其序号记为n*。


5. 接下来计算样本外数据,即Jtest的每一列的收益,同样得到一个sharpe ratio序列,记为Rtest。然后找到之前的n*在Rtest中的相对排序,记为omega。Omega代表了在样本内数据中收益最好的回测序列在样本外数据中的相对排序。


6. 计算lambda_c = log(|omega /(1-omega)|)


对S的所有子矩阵重复以上步骤3-6的计算,我们得到一系列的lambda_c,可以画出一个分布曲线,而这个分布从负无穷到0的积分(即<0的立即密度函数)就是回测方法的过度拟合的度量。


以上取<0部分做积分,其意义在于计算样本内的收益小于样本为收益的累计概率。


值得注意的是,这个算法保持了时间的相对连贯性,因为在构造S的时候是将时间t=1,2,…,T做分块的切割,而不是按照每个t来做随机整合。也就是说,随机抽取是在相互不关联的子集之间进行的。


除了计算过度拟合指标,在以上的计算过程中,在每一步R和Rtest的计算中,可以计算得到R中收益最好的列的指标,和Rtest中收益最好的列的指标,将其画出散点图以后可以看出样本内和样本外的最佳收益的关系,一般来说,这个散点图显示下降的趋势,即样本内和样本外的收益是负相关的。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:策略回测 过度拟合 Probability backtesting Validation

沙发
三重虫 发表于 2021-8-2 17:10:30 |只看作者 |坛友微信交流群

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-9-20 15:00