以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  对VBA回测方法仓位计算的困惑  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=75492)

--  作者:chacterchen
--  发布时间:2015/2/9 13:29:41
--  对VBA回测方法仓位计算的困惑
我看了金字塔提供的例子,是手动分别添加各个需要测试的品种.

我在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的百分比会越来越小. 请问是什么原因呢?

--  作者:FexTel
--  发布时间:2015/2/9 14:59:37
--  
1,实际下单手数再减小?我这边测试正常
--  作者:chacterchen
--  发布时间:2015/2/13 15:22:03
--  
不是您说的情况,而是我用上面给出的公式计算得不到相应的总asset的相应百分比值作为风险头寸.

我的问题是是否vba中的多品种回测时,仍旧使用的是单品种回测,再汇总成历史评测报告?

如果我在测试一开始设置初始资金为100万,测试5个交易品种,则金字塔是给这5个交易品种分别建立5个100万的虚拟资金池进行测试
而testreport.asset指的是各个品种单独的模拟账户总资本数,而非5个品种合计的资本数量.

我的理解对吗?


--  作者:yukizzc
--  发布时间:2015/2/13 16:06:30
--  
是的,和pel回测机制一样。策略和策略之间是相互独立的