问财量化选股策略逻辑
选取振幅大于1、前日实际换手率在3%到28%之间、昨日竞价换手率大于0.26的股票进行买入。
选股逻辑分析
该选股逻辑在前一个逻辑的基础上,加入了昨日竞价换手率的判断,进一步筛选出交投活跃、市场情绪上涨的股票。该选股逻辑考虑了市场情绪和交投氛围等因素,是一个相对完善的短期选股方法。
有何风险?
该选股逻辑仍然没有考虑到公司基本面等更长期的因素,筛选结果可能存在一定程度的波动,不能保证每次都能获得高收益。同时,选用的指标之间也存在一定的相关性,可能导致筛选效果的相对单一。
如何优化?
对于选取的指标可以进行进一步挖掘和优化,如加入相对强弱指标等技术指标进行选股,或加入其他历史数据和基本面数据进行更细致的判断。
最终的选股逻辑
选取振幅大于1、前日实际换手率在3%到28%之间、昨日竞价换手率大于0.26的股票进行筛选。
同花顺指标公式代码参考
// 筛选振幅大于1的股票
amplitude = (HIGH - LOW) / OPEN
amplitude_bool = amplitude > 1
// 筛选前日实际换手率在3%到28%之间的股票
volume_ratio = TODAY_VOLUME / REF(YESTERDAY_VOLUME, 1)
volume_ratio_bool = (volume_ratio >= 0.03) & (volume_ratio <= 0.28)
// 筛选昨日竞价换手率大于0.26的股票
bid_turnover_ratio = TODAY_BID_VOLUME / REF(TODAY_TURNOVER_VOLUME, 1)
bid_turnover_ratio_bool = bid_turnover_ratio > 0.26
// 选出符合条件的股票
result = amplitude_bool & volume_ratio_bool & bid_turnover_ratio_bool
// 输出筛选结果
result
Python代码参考
import tushare as ts
import pandas as pd
# 筛选条件1:振幅大于1
today_data = ts.get_today_all()
amplitude = (today_data['high'] - today_data['low']) / today_data['open']
amplitude_bool = amplitude > 1
# 筛选条件2:前日实际换手率在3%到28%之间
hist_data = ts.get_hist_data('600519')
volume_ratio = hist_data['volume'] / hist_data['volume'].shift(1)
volume_ratio_bool = (volume_ratio >= 0.03) & (volume_ratio <= 0.28)
# 筛选条件3:昨日竞价换手率大于0.26
yesterday_data = ts.get_tick_data('600519', date='2021-08-05',src='tt')
bid_turnover_ratio = yesterday_data['bs_vol'] / yesterday_data['vol']
bid_turnover_ratio_bool = bid_turnover_ratio[bid_turnover_ratio > 0].mean() > 0.26
# 选出符合条件的股票
result = amplitude_bool & volume_ratio_bool & bid_turnover_ratio_bool
# 输出筛选结果
final_result = today_data.loc[result].sort_values(by=["turnoverratio"],ascending=False)
print(final_result)
注:以上为示例代码,请根据实际情况进行调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
