欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → TestReport 对象 全新的VBA策略回测对象,该对象提供一整套测试环境, 让VBA的策略开发也可以像PEL语言一样进行策略测试

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有14572人关注过本帖平板打印复制链接

主题:TestReport 对象 全新的VBA策略回测对象,该对象提供一整套测试环境, 让VBA的策略开发也可以像PEL语言一样进行策略测试

帅哥哟,离线,有人找我吗?
admin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
TestReport 对象 全新的VBA策略回测对象,该对象提供一整套测试环境, 让VBA的策略开发也可以像PEL语言一样进行策略测试  发帖心情 Post By:2014/8/18 23:58:21 [只看该作者]

TestReport 对象描述

 

该对象是金字塔3.3版后将提供一个全新的VBA策略回测对象,该对象提供一整套测试环境, 让VBA的策略开发也可以像PEL语言一样进行策略测试. 使用VBA直接控制测评的最大好处在于用户可以利用VBA语法直接高效控制测试流程,实现众多PEL无法完成的测试事项,并且代码可以经过少量修改就可以实盘操作.

注意:
该对象的测试规则与PEL语言一样为单向持仓,不允许双向持仓.
测试费率使用 交易菜单->合约信息设置 里的资费设置.
该对象仅提供测评功能实现, 开平仓后的持仓均为虚拟持仓,非正式交易环境. 若想实盘交易,请参考 Order 对象

 

使用评测时属性

InitCash          初始投入资金,单位(元)

OpenLossPrice     开仓滑点,单位(最小变动价位)

CloseLossPrice    平仓滑点,单位(最小变动价位)

ReportType        测试报告类型, 0为专业测试报告;1为普通测试报告(比专业测试报告节省更多内存)

ReportName        测试报告名称

 

使用评测时方法

StartAndInit      开始并初始化一个新的测试报告系统

AddTestStock      添加测试品种至测试报告系统

StepIt            步进测试报告,该方法通常用在一个测试循环的最后一部,告知测试系统做一些循环测试的后续工作

ShowReport        测试完毕后显示策略报告

 

交易系统

Buy               交易系统评测开多操作

Sell              交易系统评测平多操作

BuyShort          交易系统评测开空操作

SellShort         交易系统评测平空操作

Holding           测评模式下的持仓量,多仓返回正数空仓返回负数

Cash              得到测试模式下当前可用资金余额, 例如Cash(0)表示多头方向的余额,Cash(1)表示空头方向的余额

ANNUALRETURNRATE  得到测试模式下当前的年化收益率, 算法:净利润/交易时间。交易时间不足一年的部分,以(自然日/365)处理。

AVGENTERPRICE     当前持有品种的平均持仓成本——最近空仓以来计

ASSET             得到测试模式下当前的净自有资产, 算法:可用现金+占用保证金-融资(现金+品种市值-融资)

AvgLoss           得到测试模式下当前平均亏损. 算法:平均亏损=总亏损/亏损交易次数

AVGLOSSPERIOD     得到测试模式下当前平均亏损周期,算法:平均亏损周期=亏损交易持仓周期/亏损交易次数

AVGPAYOFF         得到测试模式下当前平均盈亏.算法:平均盈亏=净利润/交易次数.

AvgWin            得到测试模式下当前平均盈利,算法:平均盈利=总盈利/盈利交易次数

AVGWINPERIOD      得到测试模式下当前平均盈利周期,算法:平均盈利周期=盈利交易持仓周期/盈利交易次数

BESTPERCENT       得到测试模式下当前最大利润率,统计策略根据历史数据运行至今出现所有交易中利润率最大一次的利润率,其数值在0—1之间

BESTTRADE         得到测试模式下当前最大盈利额,统计策略根据历史数据运行至今出现所有交易中盈利最大一次的利润额

ENTERBARS         得到测试模式下当前开仓历时,返回上次开仓到当前的周期数,若之前没有开仓记录返回-1

ENTERPRICE        得到测试模式下当前上次开仓价

ENTERVOL          得到测试模式下当前上次开仓量

EXITBARS          得到测试模式下当前平仓历时,返回上次平仓到当前的周期数,若之前没有平仓记录返回-1

EXITPRICE         得到测试模式下当前上次平仓价

EXITVOL           得到测试模式下当前上次平仓量

GROSSLOSS         得到测试模式下当前总亏损额,算法:总亏损=策略亏损总额(未扣除手续费)

GROSSPROFIT       得到测试模式下当前总盈利额,算法:总盈利=策略盈利总额(未扣除手续费)

MAXDRAWDOWN       得到测试模式下当前最大回撤资金,算法:指资产(权益)曲线出现一个新的最高点后,此高点与其之后的最低点的差值。

MAXDRAWDOWNPCT    得到测试模式下当前最大回撤幅度,算法:指资产(权益)曲线出现一个新的最高点后,此高点与其之后的最低点的回撤幅度。

MAXSEQLOSS        得到测试模式下当前最大连亏次数,统计策略根据历史数据运行至今出现连续亏损交易的最大次数

MAXSEQWIN         得到测试模式下当前最大连盈次数,统计策略根据历史数据运行至今出现连续盈利交易的最大次数

NETPROFIT         得到测试模式下当前净利润,算法:统计策略所获取盈利或损失的总额.函数返回值为净利润值。

NUMLOSSTRADE      得到测试模式下当前亏损次数,统计策略根据历史数据运行至今出现过连亏情况的总次数。每出现一次连亏的情况,数值+1。注意每次平仓算一次交易,而开仓不算

NUMPROFIT         得到测试模式下当前交易盈亏,得到指定交易的盈亏数额,平仓一次算一次交易,开仓不算。用法:NUMPROFIT(N),取第距离现在第N次交易的盈亏数额。例如:NUMPROFIT(1)表示最近一次的盈亏数额。

NUMSEQLOSS        得到测试模式下当前连亏次数,统计策略根据历史数据运行至今出现过连亏情况的总次数。每出现一次连亏的情况,数值+1。注意每次平仓算一次交易,而开仓不算

NUMSEQWIN         得到测试模式下当前连盈次数,统计策略根据历史数据运行至今出现过连亏情况的总次数。每出现一次连亏的情况,数值+1。注意每次平仓算一次交易,而开仓不算

NUMWINTRADE       得到测试模式下当前盈利次数,统计策略根据历史数据运行至今出现过连亏情况的总次数。每出现一次连亏的情况,数值+1。注意每次平仓算一次交易,而开仓不算

OPENBAR           得到测试模式下当前开仓历时,上一次仓位=0以来的周期数

OPENPROFIT        得到测试模式下当前浮动盈亏,当前浮动盈亏(当前持仓市值与持仓成本之差)

PAYOFFRATE        得到测试模式下当前盈亏比,算法:盈亏比=总盈利/总亏损

PERCENTWIN        得到测试模式下当前交易胜率,统计策略根据历史数据运行至今出现盈利交易占总交易次数的比例,其数值在0—1之间

PROFITFACTOR      得到测试模式下当前盈利因子,算法:盈利因子=平均盈利/平均亏损

PROFITRISKRATIO   得到测试模式下当前收益风险比,算法:收益风险比=年化收益率/最大资产回撤幅度:即MAR比率。这是最常用的风险报酬比指标。考察让资产平均每年增值的幅度与需承受的最大资产回撤幅度的关系。

SEQLOSS           得到测试模式下当前最大连亏金额,当前位置之前最大连续亏损额,注意每次平仓算一次交易,而开仓不算

SEQWIN            得到测试模式下当前最大连盈金额,当前位置之前最大连续盈利额,注意每次平仓算一次交易,而开仓不算

SHARPRATE         得到测试模式下当前夏普率,

TOTALDAYTRADE     得到测试模式下当前日内交易次数,当前位置之前总共有多少次当日的交易,注意每次平仓算一次交易,而开仓不算

TOTALTRADE        得到测试模式下当前交易次数,统计策略根据历史数据运行至今出现总共有多少次交易,注意每次平仓算一次交易,而开仓不算

TYPE              得到测试模式下当前上N次信号类型,得到当前位置之前上N次信号类型输出:0、无信号1、开多2、平多3、开空;4、平空. 用法:TYPE(N)

TYPEBAR           得到测试模式下当前类信号历时,得到当前位置之前上N次信号指定类型距当前周期,用法:TYPEBAR(N,TYPE)N表示上次信号,TYPE表示信号类型 0、无信号1、开多2、平多3、开空;4、平空 例如:TYPEBAR(2,1)表示:倒数第2个开多信号历时

WORSTPERCENT      得到测试模式下当前最大亏损率,统计策略根据历史数据运行至今出现所有交易中亏损率最大一次的利润率,其数值在0—1之间

WORSTTRADE        最大亏损额,统计策略根据历史数据运行至今出现所有交易中亏损最大一次的亏损额

 

公共方法属性(仅对专业测试报告有效)

DetailCount       交易明细数量,若出错则返回-1

GetDetailItem     得到交易名细项

ItemType          得到当前打开的测试报告类别,返回值1-34,例如: 1为总体概要 34为组合收益图 ,若出错则返回-1

ItemListCount     得到测试报告项数据量,仅当打开的是列表式报告项时有效,出错或失败返回-1

GetItemText       得到测试报告项内容,仅当打开的是列表式报告项时有效

SetItemText       设置测试报告项内容,仅当打开的是列表式报告项时有效

InsertItem        在报表下方添加新的行
 

事件(仅对专业测试报告有效)

ItemChanged       当切换报表项时触发该事件


 回到顶部