问财量化选股策略逻辑
本选股策略选择振幅大于1、昨日成交额大于6千万、前天MACD小于0的股票为选股对象。
选股逻辑分析
选取振幅大于1和昨日成交额大于6千万可以筛选出交易活跃和波动较大的股票,同时加入MACD指标可以辅助判断股票的短期走势。选择前天MACD小于0的股票可以筛选出短期走势刚经历过调整期的股票。该选股策略相比于前一个策略,加入了MACD指标,可以更好地判断短期走势,提高选股准确性。
有何风险?
该选股策略依然忽略了股票的基本面数据,同时只考虑了MACD指标的前一天,没有考虑更长时间区间内的信息,可能存在较大的时间滞后。同时,振幅大和昨日成交额大的股票也可能存在较大的波动风险。
如何优化?
可以加入其他技术指标,如KDJ、RSI等,以综合判断短期走势;可以结合基本面数据,如市值、营收等财务数据,以综合判断股票的价值。同时,可以考虑增加判断股票的流动性指标,如股票的流通市值等,以确保采取操作策略后的流动性。
最终的选股逻辑
最终选股策略的逻辑为振幅大于1、昨日成交额大于6千万、前天MACD小于0的股票为选股对象,并加入其他技术指标及基本面数据进行综合筛选。
同花顺指标公式代码参考
// 筛选振幅大于1的股票
amplitude = (HIGH - LOW) / OPEN
amplitude_bool = amplitude > 0.01
// 筛选昨日成交额大于6千万的股票
last_day_vol_bool = VOLUME > 60000000
// 筛选前天MACD小于0
macd = EMA(CLOSE, 12) - EMA(CLOSE, 26)
signal = EMA(macd, 9)
hist = macd - signal
hist_bool = REF(hist, 2) < 0
// 合并筛选条件
result = amplitude_bool & last_day_vol_bool & hist_bool
// 输出结果
result
python代码参考
import talib
import tushare as ts
# 筛选条件1:振幅大于1
now_data = ts.get_today_all()
amplitude = (now_data['high'] - now_data['low']) / now_data['open']
amplitude_bool = amplitude > 0.01
# 筛选条件2:昨日成交额大于6千万
last_day_vol_bool = now_data['volume'] > 60000000
# 筛选条件3:前天MACD小于0
hist_data = ts.get_k_data('000001', start='20210101', end=None, ktype='D')
macd, signal, hist = talib.MACD(hist_data['close'].astype(float), fastperiod=12, slowperiod=26, signalperiod=9)
hist_bool = hist[-3] < 0
# 合并筛选条件
result = amplitude_bool & last_day_vol_bool & hist_bool
# 筛选结果
final_result = now_data.loc[result]
# 输出结果
print(final_result)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
