聚宽源码49

这是一个完整的多因子回测策略模板,包括了股票筛选、买卖条件设定、因子选择与过滤,以及数据整合和排序。策略重点在于因子的全市场和行业百分比过滤,并对股息率等财务指标进行处理。通过设定不同的因子权重和阈值,策略最终产生可买入和可继续持仓的股票池。
摘要由CSDN通过智能技术生成

原文策略源码如下:
#多因子回测完整模板(筛选和买卖条件强于‘策略生成器’)
import pandas as pd
from jqdata import gta

def initialize(context):
set_params(context)
set_variables()
set_backtest()

def set_params(context):
g.tc = 3
g.buy = 5
g.hold = 10
# 因子等权重里1表示因子值越小越好,-1表示因子值越大越好
g.factors_weights = [-1]
g.factors_rank = [‘dividend_rate’]
g.industries = [‘801010’,‘801020’,‘801030’,‘801040’,‘801050’,‘801080’,
‘801110’,‘801120’,‘801130’,‘801140’,‘801150’,‘801160’,
‘801170’,‘801180’,‘801200’,‘801210’,‘801230’,‘801710’,
‘801720’,‘801730’,‘801740’,‘801750’,‘801760’,‘801770’,
‘801780’,‘801790’,‘801880’,‘801890’]
# g.industries = [‘A01’,‘A02’,‘A03’,‘A04’,‘A05’,‘B06’,‘B07’,‘B08’,‘B09’,‘B11’,‘C13’,‘C14’,‘C15’,‘C17’,‘C18’,
# ‘C19’,‘C20’,‘C21’,‘C22’,‘C23’,‘C24’,‘C25’,‘C26’,‘C27’,‘C28’,‘C29’,‘C30’,‘C31’,‘C32’,‘C33’,‘C34’,‘C35’,
# ‘C36’,‘C37’,‘C38’,‘C39’,‘C40’,‘C41’,‘C42’,‘D44’,‘D45’,‘D46’,‘E47’,‘E48’,‘E50’,‘F51’,‘F52’,‘G53’,‘G54’,‘G55’,
# ‘G56’,‘G58’,‘G59’,‘H61’,‘H62’,‘I63’,‘I64’,‘I65’,‘J66’,‘J67’,‘J68’,‘J69’,‘K70’,‘L71’,‘L72’,‘M73’,‘M74’,‘N77’,
# ‘N78’,‘P82’,‘Q83’,‘R85’,‘R86’,‘R87’,‘S90’]
g.factors_PTC = [[valuation.market_cap, ‘market_cap’, 0.8, False]]
g.factors_industries_PTC = [[cash_flow.cash_equivalent_increase/valuation.market_cap, ‘NCFP’, 0.4, False], [valuation.pe_ratio, ‘pe’, 0.10, True]]
g.args_div = [context.current_dt.date()-datetime.timedelta(1), context.current_dt.year-1]

def set_variables():
g.t = 0
g.if_trade = False
g.buy_count = 0

def set_backtest():
set_option(‘use_real_price’, True)
log.set_level(‘order’, ‘error’)

def before_trading_start(context):
if g.t % g.tc == 0:
g.if_trade = True
set_slip_fee(context)
g.all_stocks = feasible_stocks(context, list(get_all_securities().index))
g.t += 1

过滤涨跌停板、停牌、次新股、ST等情况

def feasible_stocks(context

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值