问财量化选股策略逻辑
选股逻辑为:在换手率3%-12%、机器人概念且流通市值小于100亿、2019年分红比例大于25%的主板股票中进行投资。
选股逻辑分析
该选股逻辑在基于换手率、机器人概念和流通市值等基础上,增加了分红比例的筛选条件,强调了投资回报率的重要性。此外,该选股逻辑考虑的时间点较早,选择2019年分红比例,可能存在较大的变化不确定性。
有何风险?
该选股逻辑只关注了换手率、机器人概念、流通市值和分红比例等少量因素,未考虑更多的基本面、行业特征、政策环境等因素,导致选股结果可能存在偏差或风险。
如何优化?
可以在考虑换手率、机器人概念、流通市值和分红比例的同时,继续考虑更多的基本面、行业特征、政策环境等因素,提高选股准确性。此外,选择近几年的平均分红比例作为考虑因素,相对更具有参考性。
最终的选股逻辑
选股条件为:选择换手率在3%-12%、机器人概念且流通市值小于100亿、2017-2021年平均分红比例大于25%的主板股票进行投资。
同花顺指标公式代码参考
选股条件:换手率 >=3 AND 概念(机器人) ==1 AND 流通市值 < 100000 AND 股利分配(2019年) >= 25
选股结果:fml('换手率 >= 3 AND 概念(机器人) == 1 AND 流通市值 < 100000 AND 股利分配(2019年) >= 25', 100)
python代码参考
import tushare as ts
import pandas as pd
ts.set_token('your_token')
pro = ts.pro_api()
def select_good_stocks():
# 换手率3%-12%
df1 = pro.stock_basic(exchange='', list_status='L', fields='ts_code,name,industry,pe,pb,turnover_rate,amount,total_mv,float_mv')
df1 = df1[(df1['turnover_rate'] >= 3) & (df1['turnover_rate'] <= 12)]
df1 = df1[(df1['concept'].str.contains('机器人'))]
df1 = df1[(df1['float_mv'] < 100000)]
# 分红比例筛选
df_bonus = pro.dividend(ts_code='', fields='ts_code, end_date, div_proc')
df_bonus['year'] = pd.to_datetime(df_bonus['end_date']).dt.year
df_bonus = df_bonus[(df_bonus['year'] >= 2017) & (df_bonus['year'] <= 2021)]
df_bonus = df_bonus.groupby('ts_code', as_index=False)['div_proc'].mean()
df1 = pd.merge(df1, df_bonus, on='ts_code', how='left')
df1 = df1[df1['div_proc'].shift(1) > 25]
# 基本面筛选
df1 = df1.round({'turnover_rate': 2, 'pe': 2, 'pb': 2, 'total_mv': 2, 'float_mv': 2})
return df1
good_stocks = select_good_stocks()
print(good_stocks)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


