我看了金字塔提供的例子,是手动分别添加各个需要测试的品种.
我在PEL公式出现买卖点信号后,使用下面的公式计算出建仓数量PositionQTY .按照我的想法,这个值所代表的风险资本数应该是此时asset的2%
StopLossValue=Formula.GetBufData("StopLossValue",i) '在PEL公式中计算出的本周期止损值
InitialRisk = HistroyData.Close(i)- StopLossValue '本周期起始风险,本周期收盘-本周期止损值
PositionQTY = Fix(TestReport.ASSET*0.02/(InitialRisk* CodeMultipliter))
可是我在回测后的交易明细看,在刚刚开始的时候,交易记录中的数量似乎还能按照asset的2%下单,越到后面,随着asset的不断增长, 实际下单的风险资本占ASSET的百分比会越来越小. 请问是什么原因呢?
不是您说的情况,而是我用上面给出的公式计算得不到相应的总asset的相应百分比值作为风险头寸.
我的问题是是否vba中的多品种回测时,仍旧使用的是单品种回测,再汇总成历史评测报告?
如果我在测试一开始设置初始资金为100万,测试5个交易品种,则金字塔是给这5个交易品种分别建立5个100万的虚拟资金池进行测试
而testreport.asset指的是各个品种单独的模拟账户总资本数,而非5个品种合计的资本数量.
我的理解对吗?
是的,和pel回测机制一样。策略和策略之间是相互独立的