以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 回测结果和权益曲线不一致 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=167797) |
||||
-- 作者:30237333 -- 发布时间:2019/1/18 15:15:25 -- 回测结果和权益曲线不一致 我测了一下燃料油5分钟的回测,结果显示是盈利的,但是权益曲线是亏损的 程序代码如下 # 本Python代码主要用于策略交易 # 可以自己import我们平台支持的第三方python模块,比如pandas、numpy等。 from PythonApi import * import time import os import csv import numpy import talib as ta # 参数定义区,这里定义的参数可以直接在context对象中获取。--(选择实现) #def parameter(): # input_par("myvalues1",5,1,20,1) # input_par("myvalues2",10,1,20,1) # 在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。--(必须实现) def init(context): # 在context中保存全局变量 #context.s1 = "rb1905" #平安银行股票 context.s1 = context.run_info.base_book_id context.long_period = 300 context.short_period = 125 # print("策略启动") #调试打印输出 # before_trading此函数会在每天基准合约的策略交易开始前被调用,当天只会被调用一次。--(选择实现) def before_trading(context): pass # 你选择的品种的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新。--(必须实现) def handle_bar(context): # 开始编写你的主要的算法逻辑。 #使用buy_open、sell_close等方法下单 #下单示例: #buy_open(context.s1, "Market", volume = 100) # 市价开多 #buy_open(context.s1, "Limit", 25.45, 100) # 限价开多 #pass close = history_bars(context.s1, context.long_period+1, \'self\', \'close\',True) if len(close) < context.long_period+1 : return ma5 = ta.SMA(close,context.short_period) ma20 = ta.SMA(close,context.long_period) #logger.info(\'ma5均线\'+str(ma5[-1])+\'ma20均线\'+str(ma20[-1])) portfolio = get_portfolio(context.s1,0) if ma5[-1]>ma5[-2] and ma5[-2]<ma5[-3]: if portfolio: buy_close(context.s1, "market", volume=1) buy_open(context.s1, "market", volume=1) if ma5[-1]<ma5[-2] and ma5[-2]>ma5[-3]: if portfolio: sell_close(context.s1,"market", volume=portfolio.buy_quantity) sell_open(context.s1,\'market\',volume=1) # after_trading函数会在每天交易结束后被调用,当天只会被调用一次。 --(选择实现) def after_trading(context): pass # order_status当委托下单,成交,撤单等与下单有关的动作时,该方法就会被调用。---(选择实现) #def order_status(context,order): # pass # order_action当查询交易接口信息时返回的通知---(选择实现) #def order_action(context,type, account, datas) # pass # exit函数会在测评结束或者停止策略运行时会被调用。---(选择实现) #def exit(context): # pass |
||||
-- 作者:yukizzc -- 发布时间:2019/1/18 15:30:19 -- 把测试报告上传我们看下 |
||||
-- 作者:qq代人发帖 -- 发布时间:2019/1/21 10:14:15 -- 测试报告
|
||||
-- 作者:banzhuan -- 发布时间:2019/1/21 10:43:31 -- 您现在使用的金字塔是哪个版本的呢? 看下帮助 》 关于金字塔 |
||||
-- 作者:30237333 -- 发布时间:2019/1/21 13:18:04 -- 我用的是最新版的V5.02有PYTHON的版本,测试报告当中,总体概要当中盈利8434,但是资金曲线是一路下行,曲线最后结果是98.61,不知道问题出在哪里,我测试其它品种好象也是这样的情况 |
||||
-- 作者:banzhuan -- 发布时间:2019/1/21 13:25:56 -- 本地已核实该现象,问题会反馈给产品部门,会在后续版本中修改该问题 |