量化策略分享之ST股弱转强,回测年化123%

本策略的核心是精选ST股票,国九条过滤,防止直接暴雷退市,只做ST股票的弱转强,弱转强的认定标准是前日涨停但昨日不涨停,昨日收盘价大于前一日最低价,昨日收盘价大于10日线,昨日成交量大于前一日的成交量但小于前一日成交量的10倍,股价大于1;这类股票强势,有资金介入,能获得超额收益。

回测数据如下:

*回测数据只作测试用,不代表未来实际收益

1、策略初始化配置

主要定义了持股数量、当日股票池、运行周期等等

g.stock_num=5
g.today_list=[]#当日股票池

run_daily(perpare,time="9:25")
run_daily(buy,time="9:30")
run_daily(sell,time='13:00')
run_daily(sell,time='14:00')
2、选股逻辑
(1)选取全市场所有的ST股票
##获取所有ST股##               
def get_st(context):
    yesterday=context.previous_date
    stockList=get_all_securities(types='stock',date=yesterday).index
    st_data=get_extras('is_st',stockList, count = 1,end_date=yesterday)
    st_data = st_data.T
    st_data.columns = ['is_st']
    st_data=st_data[st_data['is_st']==True]
    df = st_data.index.tolist()
    return df 
(2)1、4、12月份进行国九条过滤

1、4、12月份进行国九条过滤,避免直接暴雷和退市风险

#1 4 12月 国九
singal=today_is_between(context)
if singal==True:
    print(f'筛选前:{len(stk_list)}')
    stk_list=GJT_filter_stocks(stk_list)
    print(f'筛选后:{len(stk_list)}')
def today_is_between(context):
        today = context.current_dt.strftime('%m-%d')
        if ('01-15' <= today) and (today <= '01-31'):
            return True
        elif ('04-15' <= today) and (today <= '04-31'):
            retu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值