(supermind量化策略)换手率3%-12%、机器人概念且流通市值小于100亿、201

用户头像神盾局量子研究部
2023-08-30 发布

问财量化选股策略逻辑

选股逻辑为:在换手率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亿' #选股语句。

    模板如何使用?

    点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


    ## 如果有任何问题请添加 下方的二维码进群提问。
    ![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论