选股逻辑
选取振幅大于1、MACD零轴以上且下午大单净流入的股票。
选股逻辑分析
振幅大于1表明股票有较大的波动性,MACD零轴以上表示有一定的买入信号。同时,下午大单净流入表明当前股票市场有大量资金流入,股价可能有上涨的趋势。
有何风险?
该选股方式没有考虑股票的基本面和行业板块等因素,选股结果可能存在风险。
如何优化?
可以综合考虑股票的基本面和行业板块等因素,同时需要关注股票的市场情绪和资金流向等。
最终的选股逻辑
选取振幅大于1、MACD零轴以上且下午大单净流入的股票,同时结合个股基本面和行业板块等因素进行筛选。
同花顺指标公式代码参考
- 振幅:REF(ABS(HIGH-LOW)/REF(CLOSE,1)*100,0)>1
- MACD零轴以上:CROSS(MACD(12,26,9),0)>0
- 下午大单净流入:C/D>1.0
其中,C和D为同花顺内置指标,表示当日成交额和当日流入净额。
python代码参考
import tushare as ts
def get_filter():
# 获取股票数据
df = ts.get_today_all()
# 计算下午大单净流入
df_volume = ts.get_sina_dd(df.code[0], date=datetime.date.today().strftime('%Y-%m-%d')).sort_values('time', ascending=True)
df_volume['volume'] = df_volume['price'] * df_volume['volume'] * 100
df_volume['buy_volume'] = df_volume['type'].apply(lambda x: x == '买盘') * df_volume['volume']
df_volume['buy_volume_cumsum'] = df_volume['buy_volume'].cumsum()
df_volume['sell_volume'] = df_volume['type'].apply(lambda x: x == '卖盘') * df_volume['volume']
df_volume['sell_volume_cumsum'] = df_volume['sell_volume'].cumsum()
df_volume['net'] = df_volume['buy_volume_cumsum'] - df_volume['sell_volume_cumsum']
afternoon_net = (df_volume['net'].iloc[-1] - df_volume['net'][df_volume['time']<'13:00'].iloc[-1]) / 10000
# 综合筛选条件
mask = (REF(ABS(df['high'] - df['low']) / REF(df['close'], 1) * 100, 0) > 1) & (CROSS(MACD(12, 26, 9), 0) > 0) & (afternoon_net > 0)
codes = mask.index.values.tolist()
return codes
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。