测试方面交流问题

Discussion in 'Philosophy and Strategy' started by stony, Aug 16, 2012.

  1. 1、请问一般如果多品种组合测试,大家都是选择什么不同品种做测试?
    要求:在趋势策略基础上,相关性低的品种,
    独立性高、有流动性,比如有色一般都是跟着外盘走,所以就不想测这类品种,农产品虽然大的走势和外盘会接近,但还是有自己独立性,就觉得不错。
    另外数据量不能太多,也不能太少——太少了没信号,也没统计意义,太多计算速度太慢,影响我的测试进度,类似大陆期指的5F数据量为宜。

    2、如果多时间周期做测试,大家是否会测试日内、隔夜短线、中长线,如从1F——15F全部测试一遍?
    由于变换时间周期,走势特性也会相应发生变化,参数一般以什么原则进行调整?
    穷尽所有参数选择结果平稳的,这个总觉得具有偶然性,个人认为应该先确定个标准再测试,比较合理,本来计划按照时间周期比例调整相应参数,但是在日内测试遇到瓶颈——日内止损如果按照时间比例进行调整,滑点是止损幅度的若干倍。

    3、非主力合约产生的交易结果是否有价值?
    交易信号在非主力合约也会产生买卖交易,这部分交易结果是否需要考虑?完全忽视还是部分借鉴?

    4、特殊交易结果如何处理?
    比如做中短线的隔夜策略,一般一个合约会有15——30次交易(包含非主力合约阶段),测试中遇到从头到尾就2次交易的(非单边市,是震荡市,交易信号还发生在非主力合约阶段),这种测试结果如何处理?

    5、如何对比两个交易策略的优劣?
    基于同一交易思路开发2个交易策略,A策略在盈利能力方面比较强,发生概率较高,B策略在亏损控制能力比较强,发生概率较低,根据半年数据粗略来看,都能盈利,这个时候一般如何筛选?

    刚开始学习测试,请海洋的各路大仙多多指点
     
  2. 第1、2问题在“最大回撤比例是如何定义?”谈过。

    3、非主力合约只有套利价值,没有趋势交易价值。

    4、震荡市少发信号、趋势行情多发信号,对一个趋势系统来说,不是很好么?
    某些品种会处在长期震荡中,你的系统不发信号,最好不过,做别的的品种就是。

    5、要看资金曲线。如果要简单选的话可以看一些单一评价指标,虽然都有些问题但还是有参考价值。一般来说我倾向使用Sharpe Ratio高的,或者ulcer performance index高的。
     
  3. 1\2问题刚才没有看到你的回复,而且最近测试活太多,对于品种挑选也想不出太好的方法,所以只好搞点拿来主义,呵呵,伸手向别人要现成的了

    3、原以为用非主力合约的数据做个测试,也算是考验策略的生命力一种方法。

    4、问题是最早的信号只产生于非主力合约阶段,所以这种理论上的盈利只能看,不能用,很郁闷。

    5、如果需要资金曲线、sharp ration检验,请问从统计上一般需要多少样本?或者做多少个合约测试视为可以接受?
    另外如在测试阶段,某个策略出现问题4提到的特殊走势,而另外一个合约盈利或者亏损,这种特殊测试结果是否要包含在对比中?
     
  4. 1、趋势交易应避开流动性差的品种。
    完全随机条件下,也必然产生趋势走势,这个问题有另贴谈过。
    真实市场条件下,会在这种“随机趋势”上,再额外增加趋势性。
    这种额外趋势性的产生,来自于群体性情绪的自反馈机制,就是索罗斯所说的反身性。
    因此,额外趋势性的显著与否,与交易品种的活络程度有关,因此原理上应避开成交不活跃的品种。
    何况趋势交易是顺势交易,成交不活跃的品种会让你有很多的滑点损失。

    2、样本数量问题,应重视产生的交易次数,而不是走势数据的长短。最少五六十次交易做为一个小样本,至少要有这么多数据。如有更多数据,可当作另外一个小样本,实现总体上的分段测试。

    3、所谓“特殊走势”是否计入总体绩效,原则上取决于你的品种选择策略。比如,此品种发出信号时,有其他4个品种发出了更强烈的信号,而你计划最多只并行交易三个品种,那么此品种的信号就会被忽略,就不应计入总体绩效。反之,则应计入。
     
  5. 流动性差的品种也不适合逆势交易
     
  6. 1、谢谢指点,等完成股指测试之后,我随机选择几个高成交量的品种测试一下吧,策略是对数据的二次解读,解读之后是否相关,这个是无法预测的。

    2、如果测试日内交易,用一个月的时间基本上就能产生五六十次交易,这样的测试结果还是有局限性吧?

    3、目前只测股指,因为计算量太大,跑一个合约需要2—3个小时。这种交易可能会导致样本对比出现很大的数量偏差,如A策略在此合约交易10次,而B策略交易0次,这种情况对统计的有效性也会产生影响吧?
     
  7. 测试和策略选择密切相关的。

    非主力合约是否在趋势交易测试中没有价值?不一定的啊,因为有种“指数”构成法就涉及到所有期限合约的(当然也就包括非主力合约了),而且因为合约的时效性,涉及换约等因素,用这种全期限合约的价/量加权生成的品种“指数”比用“主力合约生成的指数”对测试趋势交易系统更有利。
     
  8. 个人思考的结论:
    非主力合约不能交易,只通过其验证策略的生存能力
    策略优化方面,还是以主力合约的测试结果为主
     
  9. wj大神也来了啊~
    stony着重问的是单独的非主力合约的交易价值,如果讨论的是加权指数的研判作用的话,那当然另当别论。
    不过请教一下,如果需要这样的总体观察指数,可否直接使用沪深三百指数作为研判依据呢?

     
  10. 如果有更多数据,多测一些总是更好的。只要包含了强趋势市、弱趋势市、震荡市,结论就有代表性。

     
  11. 如果是针对股指期货的总体观察指数,用沪深三百指数未尝不可的。我说的用各期限合约加权生成主要是针对一般情况(比如商品期货)。
     
  12. 原先模拟的阶段已经包含各种走势,V型、U型、W型、震荡等等,策略的生命力还可以,现在的问题是寻找时间周期、参数的较优组合(最优是不存在的)

    我的策略测试单合约一般都要2——3个小时,比不上别人的敲个回车就直接能看测试报告,很耗费时间。

    参数少,但是参数组合下来也有个接近10种组合。
    日内测试虽然数据少,每次跑完也需要大概15分钟,算算交易日的数量,这种测试工作量也较大。

    所以希望请教大家,确定思路或者范围,否则无目的穷举会耗费很长时间。
     
  13. 测试的时候冒出个想法,大奖章基金好像也曾经遇到过策略的有效性问题,最后是请个概率专家做合伙人来解决的

    那么策略的终极优化不是在策略本身,而是利用概率做滤网,将信号再做一次处理?
     
  14. 1,个人认为,你对走势类型的划分,除非与你策略本身有关,否则要思考每一种类型的实际意义。拿普遍的趋势策略来说,强势单边行情是此类策略的强项,无需过多考虑。需要担心的就两种情况:第一是横向震荡让你不断止损,第二是虽有趋势但是是较宽震荡的弱趋势,让你拿不稳单子。所以震荡市考验的是生存能力,弱趋势考验的是让利润飞奔的能力。综合的回测结果包含这三种情况,且有一定的数量,就具备了一定的统计稳定性。

    2,参数优化的问题,表面看起来是计算问题,其实本质是对市场机制的理解问题。漫无目的的大范围测试优化,这种行为本身就说明理解上有需要改进的地方。如果某个参数我不知道它应该是什么值,我会先思考这个参数代表着市场行为的哪些特征,这种特征应该具备什么样的理论值。得到理论值后,再去做回测去检验自己的思考是否正确。相反的,想要通过回测来找到取值,计算量大只是一个小问题,真正的问题是参数在我眼中变成了一个没有含义的数字,那么它的稳定性就非常值得怀疑,未来市场出现参数突变就并非那么意外。从这个角度,一个良好的系统其可变参数越少越好,且参数应该有意义而不是纯粹拟合出来的。
    比如说,在思考你之前问到的第二问题——关于变换周期后如何调整幅度参数的问题时,如果理解了市场行为具有随机过程的特征,那么联想到维纳过程是自然而然的事情,立刻就会产生一个理论目标值。即便不记得公式,翻一下论述随机过程的书也就搞定了,关键是要了解这个行为特征。然后只要做一个小范围的回测,起到验证作用就足够了,不用去大范围测试。

    3,关于西蒙斯,没人知道他采用了什么策略。你的这个想法很有趣,我以前尝试过,但是里面有些悖论。第一、如果可以这样,过滤后的信号,还是可以再次过滤,不知过滤到啥时候算完?第二、信号的发生本身,就是考虑过概率因素的,为什么不把信号的二次过滤纳入整体的信号考量呢?
    除非这个概率本身不是信号胜率,而是其他方面的概率,比如趋势延伸概率,这种做法才有意义。
     
  15. 放大每个参数的步长,比如某个参数范围是10 - 200,步长为10测20次,步长为20测10次,
    大致确定某个大范围有优化解之后,才逐步细化。
    而且,好的优化参数应该是一个平坦的平台(或空间),而不是某个点。上面的方法还能避免陷入局部最优化解,over-fitting.
     
  16. 测试前的思路和你的一样,但实际测试的时候遇到各种特殊情况让自己过于追求各种特殊走势的细节处理,还是心态问题,现在等待策略先跑个一年的数据,看看结果再说
    幸运的是参数可波动范围很少,倒霉的是测合约很耗费时间,放平心态,耐心等待测试结束再来一起看,前一段时间有点着急
    记得背叛西蒙斯的俄罗斯员工,根据他们讲述,他们的主要工作是通过统计,预判即将出现的盘口价格,寻找套利机会。
    好的方法一定会不断使用的。如果算法有效,那么算法也可用于策略优化,比如趋势策略,提前预判价格是否会突破并提前下单,进而提升盈利或者降低亏损。这是概率对策略的一种优化。
    概率也可以过滤信号,最简单的如趋势策略,假设一次大赚之后,后生成的第一次信号不交易。这个很容易理解,虽然走势有人认为是随机的,但从长远和实际来看,走势中是不可能有那么多趋势的,大赚之后回调、震荡的概率远大于大赚之后还能大赚。

    至于为什么不二次或多次过滤,任何优化都是有其局限性的,第一次优化一般能发挥60%的优势已经是很完美的优化,第二次优化,能发挥的优势一定会远低于其所带来的劣势。所以在有个策略的基础上,用概率应该可以辅助优化。
    只是个思路,欢迎探讨。
     
  17. 谢谢回复。

    参数波动范围很有限,穷举之后不合适的参数问题很明显,还是自己心态不好,有些浮躁,应该耐心的把策略放在市场里多测一会,把问题浮现出来,总结问题特性
     
  18. 吃完早饭继续回来掰扯一下

    策略是对走势这些无序数据的量化结果
    如何对这些量化结果进行二次量化,追求更完美的收益(刨除参数调整等策略内在因素的调整)

    1、叠加策略:新增加的策略无法确定是放大风险还是减少风险
    2、资金曲线二次处理,资金曲线来源于操作结果的各个点,在判断和处理上具有延迟性。若一个合约就产生两三次交易,资金曲线基本无法发挥功能。
    3、直接用概率处理,如一次大赚之后就等待,这种算法比较原始

    吃饱了产生的几个思路,因为交易结果更多是点的集合,结合点的特性,对于趋势策略优化的思路:

    1、大赚之后就等待的方法延伸——将交易结果按每三个归为一个数组,取其均值,若某个数组的均值大赚,则下个数组不操作。反之,若某个数组均值大亏,也就是连续亏损出现,则下个数组入市。

    2、操作盈利记为阳线,亏损记为阴线,盈利(亏损)幅度记为阳线(阴线)长度,大阳线+小阴线+中阴线则构成十字星线,预示阴线(即下跌)概率增高。

    思路仅理论,入市有风险,引用请标明版权来源于海洋吃饱饭的stony,:D
     
  19. 思路挺有意思的,值得深入思考,学习了~谢谢。
    咱水平有限,建议开个新主题请大神们来指点一下,少走些弯路。

    另外,"吃饱饭"很容易让人联想到另一个id 吃饱睡,哈哈
     
  20. 1、趋势策略,如果一年交易大概100次,也能计入中长线范畴?还是属于中短线范畴?

    2、一般做隔夜的策略,时间周期选在高于多少为宜?