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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 版主我自己模仿写的python策略怎么回测无交易记入

   

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


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

主题:版主我自己模仿写的python策略怎么回测无交易记入

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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2019/11/8 14:27:20
版主我自己模仿写的python策略怎么回测无交易记入  发帖心情 Post By:2019/12/2 15:23:15 [只看该作者]

import time
import os
import csv
import numpy
import talib as ta

def init(context):
    context.s1 = "SH600152"
    context.long_period = 20
    context.short_period = 5
    
    

# before_trading此函数会在每天基准合约的策略交易开始前被调用,当天只会被调用一次。--(选择实现)
def before_trading(context):
    pass


# 你选择的品种的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新。--(必须实现)
def handle_bar(context):
    close = history_bars(context.s1,context.long_period,'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)
        
    if ma5[-1]>ma20[-1] and ma5[-2]<ma20[-2]:
        buy_open(context.s1, "market", volume=100)
    if ma5[-1]<ma20[-1] and ma5[-2]>ma20[-2]:
        portfolio = get_portfolio(context.s1,0)
        sell_close(context.s1,"market", volume=portfolio.buy_quantity)
    
    
    
    
        #buy_open(context.s1, "Market", volume = 100)    #  市价开多
    #buy_open(context.s1, "Limit", 25.45, 100)       #  限价开多
    
    
# after_trading函数会在每天交易结束后被调用,当天只会被调用一次。 --(选择实现)
def after_trading(context):
    pass

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


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

回测周期选的对不对。,历史是否有数据
建议自己勤用print输出下信息

 回到顶部