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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 回测结果和权益曲线不一致

   

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


  共有2450人关注过本帖树形打印复制链接

主题:回测结果和权益曲线不一致

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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2019/1/14 13:07:48
回测结果和权益曲线不一致  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2019/1/18 15:30:19 [只看该作者]

把测试报告上传我们看下

 回到顶部
帅哥哟,离线,有人找我吗?
qq代人发帖
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:18691 积分:0 威望:0 精华:0 注册:2013/7/15 9:22:16
  发帖心情 Post By:2019/1/21 10:14:15 [只看该作者]

测试报告
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:python组合测试报告.rar


 回到顶部
帅哥哟,离线,有人找我吗?
banzhuan
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2019/1/21 10:43:31 [只看该作者]

您现在使用的金字塔是哪个版本的呢? 看下帮助 》 关于金字塔 

 回到顶部
帅哥哟,离线,有人找我吗?
30237333
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2019/1/14 13:07:48
  发帖心情 Post By:2019/1/21 13:18:04 [只看该作者]

我用的是最新版的V5.02有PYTHON的版本,测试报告当中,总体概要当中盈利8434,但是资金曲线是一路下行,曲线最后结果是98.61,不知道问题出在哪里,我测试其它品种好象也是这样的情况

 回到顶部
帅哥哟,离线,有人找我吗?
banzhuan
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2019/1/21 13:25:56 [只看该作者]

本地已核实该现象,问题会反馈给产品部门,会在后续版本中修改该问题

 回到顶部