• 怎样判断一个程序化交易策略失效还是正常失误?


    怎样判断一个程序化策略交易失效还是正常失误?如果失效的话,如何判断是需要调整参数还是完全放弃策略?此问题确实关键而难以抉择,可藉由实务界的经验规则,或学术界的量化检验。

    首先谈实务界的规则,这样,如果一个交易系统是经过良好的设计,良好的最佳化,没有过拟合的情形:

    情形1:如果是用2年的历史数据来设计出来的系统,而且在这2年的历史数据都有不错的表现的话,应该会有6-12个月的生命周期。

    情形2:如果是用5年的历史数据的设计出来的系统,而且在这5年的历史数据都有不错的表现的话,应该会有1-2年生命周期。

    这个答案可以参考,但小编觉得时空背景不同,不能一概而论,且没有科学根据,但提供一个可以接受的观念。即使用的周期越小,持仓的平均时间越短,那就可以用越短的数据来进行测试,日内交易的,一般测式一年的时间是够用的,但隔日的,就要两年或以上的原因。

    另一个较科学方法是使用统计检定,依据要检验的统计量,做均值、变异数与比例值的检定,如果要等到策略运用过程收集到30个样本,恐怕亏损连连了,因此通常采取小样本。

    再则,策略运用过程报酬是依序产生的,有2个报酬就可以作检定了,但此统计方法在样本不足时也不会遽下定论,因此只要顺着产生的报酬数据依序带入检定,检查是否碰到临界值或P值,就可以决定是否放弃该交易模型了。

    同理,也可以用变异数检定检定风险特性是否改变,用比例检定检定胜率是否改变)。

    以上这种方法不太适用普通投资朋友,因为它的计算繁杂本身就是一个较大难度。所以,对于策略的失效与否,不妨用实盘中的一些数据,比如近一个月远差于策略以往测试,连续两个月远不如策略以往测试数据的话,就可以基本认为失效了。

  • 相关阅读:
    volatile关键字的使用
    嵌入式Linux裸机开发(五)中断管理
    数据结构——栈和队列互相实现
    MyBatis resultMap元素
    Request_共享数据(域对象) [JavaWeb][Servlet]
    Ubuntu 20.04 安装部署 TiDB DM v7.3.0 集群【全网独家】
    【Vue】实现商品列表的无限加载
    免费开源Blazor在线Ico转换工具
    2022-08-03 性能测试(一) -- 性能测试流程
    java继承性
  • 原文地址:https://blog.csdn.net/Q1841085904/article/details/126305883