问财量化选股策略逻辑
本选股策略选择振幅大于1、昨日成交额大于6千万、前25天内有涨停的股票为选取对象。
选股逻辑分析
选取振幅大于1、昨日成交额大于6千万的股票,是为了筛选出短期波动较大的营收较好的股票,这样有利于更快的获利。而前25天内有涨停的股票,则可能有着一定的市场关注度,并且股价在短期内有着较大的反弹空间。
有何风险?
同样是由于短期策略的选股依赖于所选择的指标,不能很好地反映公司的质量,同时考虑到前25天内有涨停这一指标可能会被一些投机因素所影响,导致选股结果不够稳定。
如何优化?
同样可以加入一些基本面因素来筛选更加稳健的股票。可以考虑用其他技术指标作为参考,以增加选股的准确度和可靠性。同时,对涨停原因进行分析,剔除一些投机性质较强的股票。
最终的选股逻辑
本选股策略的最终逻辑为:振幅大于1、昨日成交额大于6千万、前25天有涨停的股票为选取对象。
同花顺指标公式代码参考
// 筛选条件1:振幅大于1
amplitude = (HIGH - LOW) / OPEN
amplitude_bool = amplitude > 0.01
// 筛选条件2:昨日成交额大于6千万
last_day_vol_bool = VOLUME > 60000000
// 筛选条件3:前25天有涨停
up_limit_count = SUM(IF((CLOSE > REF(CLOSE,1)) & (REF(CLOSE,1) == REF(MAX(CLOSE, 24),1)), 1, 0), 24)
up_limit_bool = up_limit_count > 0
// 合并条件
result = amplitude_bool & last_day_vol_bool & up_limit_bool
// 输出结果
result
python代码参考
import tushare as ts
import talib
# 筛选条件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:前25天有涨停
hist_data = ts.get_hist_data('300059', ktype='D')
up_limit_count = talib.SUM(((hist_data['close'] > hist_data['close'].shift(1)) & (hist_data['close'].shift(1) == talib.MAX(hist_data['close'], timeperiod=24).shift(1))) * 1, timeperiod=24)
up_limit_bool = up_limit_count > 0
# 合并条件
result = amplitude_bool & last_day_vol_bool & up_limit_bool
# 筛选结果
final_result = now_data.loc[result]
# 输出结果
print(final_result)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
