问财量化选股策略逻辑
选取振幅大于1、前日实际换手率在3%到28%之间、2021年营收/2018年营收大于1.1的股票进行买入。
选股逻辑分析
该逻辑相比于前一个逻辑增加了营收的考虑,可以更好地筛选出具有业绩增长潜力的股票。但是仅考虑了单一的财务指标,可能存在其他因素占主导而导致不符合预期的情况。
有何风险?
相比于前一个逻辑,虽然加入了营收增长的条件,但仍然没有考虑行业和市场背景等宏观因素的影响,筛选结果可能不够准确。
如何优化?
可以综合考虑多个指标,如市盈率、市净率等,以及宏观因素、行业趋势等,进行逐步优化筛选条件。
最终的选股逻辑
选取振幅大于1、前日实际换手率在3%到28%之间、2021年营收/2018年营收大于1.1的股票作为筛选条件,综合考虑多个指标进行逐步完善。
同花顺指标公式代码参考
// 筛选振幅大于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)
// 筛选2021年营收/2018年营收大于1.1的股票
income_2018 = GET_FINANCE(2018, 1, "income")
income_2021 = GET_FINANCE(2021, 1, "income")
income_bool = income_2021 / income_2018 > 1.1
// 选出符合条件的股票
result = amplitude_bool & volume_ratio_bool & income_bool
// 输出筛选结果
result
Python代码参考
import tushare as ts
import talib as TA
# 筛选条件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:2021年营收/2018年营收大于1.1
finance_data = ts.get_profit_data(2021,1)
income_2018 = ts.get_profit_data(2018,4)
income_bool = finance_data['total_revenue'] / income_2018['total_revenue'] > 1.1
# 选出符合条件的股票
result = amplitude_bool & volume_ratio_bool & income_bool
# 输出筛选结果
final_result = today_data.loc[result].sort_values(by=["turnoverratio"],ascending=False)
print(final_result)
注:以上为示例代码,请根据实际情况进行调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
