原帖:http://finance.groups.yahoo.com/group/amibroker/message/151592 当把margindeposit 设置为 负数 时,代表 保证金是合约价格的百分比。 如: equity = 10000; contract price = 1000; ticksize = 1; pointvalue = 5; margindeposit = -20; 实际保证金价格应该为 (A) 1000 * 5 * 0.2 = 1000 or (B) 1000*0.2 = 200? 按理应该是A,但是Amibroker采用了B的算法。
你说的这个问题估计是你symbol information列表里面的pointvalue没有设置,所有交易品种默认pointvalue是1(除非你设置过),或者在AFL里面明确地设置pointvalue = xx.xx 这个链接估计你已经看过,如果没有的话,仔细看一下(在线帮助里面也有) http://www.amibroker.com/guide/h_futbacktest.html 我做测试的时候发现使用基于point的方法比较直接,就是说你的测试是看这个策略获利多少个点,而不是具体的金额。使用这种方法的话,pointvalue始终为1。 他的官网还是什么地方有一个很详细的文档讨论了futures模式下equity, margin的计算方法,还是很复杂的。使用point-based 的方法相对简单一些。
都设置了,比如ru吧, Round Lot Size :1 Margin Deposit : -20 Tick size : 5 Point Value: 5 没错吧? 具体你是怎么配置和做future mode测试的?
我看你已经注册到amibroker那个组了,你到这个组的files那个地方去找一个文件“AB Backtester Basics.doc ”,我就是按照那个文档来做的,它写得非常详细,但是我也看了很多遍才搞明白。 看完这个文档你对backtester至少应该掌握大半了。
你不妨写个邮件去问问他们的技术支持,估计会给你指点一下什么设置的地方遗漏了。不过老实说,使用负值代表百分比也算amibroker作者的一个创举吧,为什么不多增加一个参数呢。我估计使用这种语法的人不多。而且比较成熟的系统里面不会这么简单地计算风险,资金,margin等这些重要参数的,多半是自己的一套东西。
根据我的理解: Round Lot Size :5 Tick size : 5 Point Value: 1 Margin Deposit还不是很确定。按那份文档的说法,应该是开一手合约应该缴纳的保证金。
http://www.amibroker.com/newsletter/01-2002.html Positive values describe margin value in dollars, while negative express margin value as percentage of contract price. Magin value of zero is used for stocks (no margin). 那对于RU来说,应该是Margin Deposit: -13