(iwencai量化策略)dea上涨_、9点25分涨幅小于6%、振幅大于1

用户头像神盾局量子研究部
2023-08-31 发布

问财量化选股策略逻辑

选股逻辑为:振幅大于1、9点25分涨幅小于6%、dea上涨,选择涨势较好的个股作为选股对象。该选股策略同时关注了股票波动性、短期走势和中期走势,有利于发现一些价格上涨趋势较好的股票。

选股逻辑分析

在前一个选股逻辑上加入了dea指标,选择dea指标呈上涨态势的个股。dea可以反映股票的中期走势,加入dea指标后,能够进一步判断出相对有潜力的股票。该选股策略比较全面地考虑了股票波动性、短期走势和中期走势等因素,筛选具有较强市场表现的股票。

有何风险?

该选股逻辑依然可能会忽略一些企业基本面因素,也可能在市场波动剧烈时产生一定的风险。同时,过度依赖股价走势,容易忽略企业基本面和风险的影响,存在股票选择不稳定和风险高的可能。

如何优化?

可以考虑加入其他指标,如roe、pe等基本面指标等,以及资金流入、融资融券等量化因素,提高选股策略的稳定性和精准性,进一步筛选符合条件的股票。

最终的选股逻辑

选股逻辑为:振幅大于1、9点25分涨幅小于6%、dea上涨,选择涨势较好的个股作为选股对象。该选股策略综合考虑了股票波动性、短期走势、中期走势等因素,可以发现一些价格上涨趋势较好的有潜力个股。

同花顺指标公式代码参考

FZ_RANGE > 1 AND LAST<=LAST[1]*1.06 AND DEA > DEA[1]

其中FZ_RANGE表示振幅大小,LAST表示当天的收盘价,LAST[1]表示前一天的收盘价,DEA表示macd指标中指数平滑移动平均线值,选出dea上涨的股票。通过以上指标查找符合条件的股票。

Python代码参考

import tushare as ts
from datetime import datetime, timedelta

def get_selected_stocks():
    pro = ts.pro_api()
    selected_stocks = []
    for ts_code in pro.stock_basic(exchange='', list_status='L', fields='ts_code,industry').values.tolist():
        if ts_code[1] == '科创板':
            continue
        
        # 振幅大于1
        k_data = pro.daily(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=30)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,high,low')
        highest_price = k_data['high'][0]
        lowest_price = k_data['low'][0]
        for idx, k in k_data.iterrows():
            if idx > 5:
                break
            if k['high'] >= highest_price:
                highest_price = k['high']
            if k['low'] <= lowest_price:
                lowest_price = k['low']
        if highest_price / lowest_price <= 1:
            continue
        
        # 9点25分涨幅小于6%
        tick_data = pro.tick(ts_code=ts_code[0], date=datetime.now().strftime('%Y%m%d'))
        current_price = tick_data[tick_data['time'] == '09:25:00']['price'].values[0]
        pre_close = pro.daily(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=6)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,close', freq='1D').iloc[1]['close']
        if current_price / pre_close >= 1.06:
            continue
        
        # DEA指标上涨
        macd_data = pro.index_daily(ts_code='000001.SH', start_date=(datetime.now()-timedelta(days=30)).strftime('%Y%m%d'), end_date='', fields='trade_date,close')
        macd_data['EMA12'] = macd_data['close'].rolling(12).mean()
        macd_data['EMA26'] = macd_data['close'].rolling(26).mean()
        macd_data['DIF'] = macd_data['EMA12'] - macd_data['EMA26']
        macd_data['DEA'] = macd_data['DIF'].ewm(span=9, adjust=False).mean()
        if macd_data['DEA'].iloc[-1] <= macd_data['DEA'].iloc[-2]:
            continue
        
        selected_stocks.append(ts_code[0])
    
    return selected_stocks

在Python代码中,同样使用tushare库获取股票数据,进而筛选符合条件的股票。通过振幅、涨幅、dea指标等判断个股波动性情况、短期走势和中期走势,根据以上指标寻找涨势较好的个股。

    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

    select_sentence = '市值小于100亿' #选股语句。

    模板如何使用?

    点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


    ## 如果有任何问题请添加 下方的二维码进群提问。
    ![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论

需要帮助?

试试AI小助手吧