以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  python策略怎么进行全市场回测  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=180326)

--  作者:y442974010f
--  发布时间:2020/6/3 15:42:17
--  python策略怎么进行全市场回测
用软件里的示例策略---单因子选股,策略中以沪深300成分股作为股票池,选择PE排名靠前的10只股票买入,但是进行回测为什么只针对1只股票,是设置初始合约池品种这个选项的问题吗?应该怎么设置,我把沪深所有的股票都加入进去了。
--  作者:yukizzc
--  发布时间:2020/6/3 17:14:43
--  

 #筛选非停牌且eps大于0的票
        for i in context.code:
            close = history_bars(i, 1, \'1d\',\'close\')
            temp = fin_indicator(i,\'EPS\',1,0,0)
            if len(close)>0 and temp[-1]>0:
                code.append(i)
        #转换成市盈率
        for j in code:
            close = history_bars(j, 1, \'1d\',\'close\')
            temp = fin_indicator(j,\'EPS\',1,0,0)
            pe.append(close[-1]/temp[-1])
        pe_ra = np.array(pe)
        #对pe进行排序,buy_list是排名前几的股票列表
        sort = np.argsort(pe_ra)
        code = np.array(code)
        buy_list = code[[sort[:context.num]]]
        sell_num = 0

 

 

历史数据和深度财务数据是否有补充,如果没有数据那么是测不到的。另外代码里你可以加入一些print看下筛选非停牌且eps大于0的票这个动作后的code列表是有哪些品种