(supermind量化-)振幅大于1、2019分红比例>25%、深证主板中市盈率0-29

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

问财量化选股策略逻辑

选取振幅大于1、2019年度分红比例大于25%、深证主板中市盈率为0-29.01、市净率为0-3.11的股票作为选股对象。

选股逻辑分析

该选股策略除了考虑股票波动性、基本面和企业性质因素外,还增加了市盈率和市净率范围的限制,选出市场估值较为合理的股票作为投资对象。

有何风险?

市盈率和市净率虽然是衡量估值的重要指标,但并不能完全代表企业的投资价值,同时选股策略的范围也需要谨慎调整。

如何优化?

可以综合考虑其他财务数据、行业热度、宏观经济指标等因素,加入更为精细化的估值范围限制和选股策略的优化。

最终的选股逻辑

选取振幅大于1、2019年度分红比例大于25%、深证主板中市盈率为0-29.01、市净率为0-3.11的股票作为选股对象。

同花顺指标公式代码参考

// 筛选振幅大于1的股票
amplitude = (HIGH-LOW)/OPEN
amplitude_bool = amplitude>0.01

// 筛选2019年度分红比例大于25%的股票
dividend_year = DIVIDENDYIELD*100
dividend_year_bool = dividend_year>25

// 筛选深证主板中市盈率为0-29.01,市净率为0-3.11的股票
pe_ratio = PE
pb_ratio = PB
pe_bool = (pe_ratio>=0)&(pe_ratio<=29.01)
pb_bool = (pb_ratio>=0)&(pb_ratio<=3.11)

// 合并条件
result = amplitude_bool&dividend_year_bool&pe_bool&pb_bool

// 输出结果
result

Python代码参考

import tushare as ts

# 筛选条件1:振幅大于1
today_data = ts.get_today_all()
amplitude = (today_data['high'] - today_data['low']) / today_data['open']
amplitude_bool = amplitude > 0.01

# 筛选条件2:2019分红比例大于25%
basic_data = ts.get_stock_basics()
dividend_year = basic_data['dividend_yield'] * 100
dividend_year_bool = dividend_year > 25

# 筛选条件3:深证主板中市盈率为0-29.01,市净率为0-3.11
finance_data = ts.get_stock_basics()
pe_ratio = finance_data['pe']
pe_bool = (pe_ratio >= 0) & (pe_ratio <= 29.01)
pb_ratio = finance_data['pb']
pb_bool = (pb_ratio >= 0) & (pb_ratio <= 3.11)

# 合并筛选条件
result = amplitude_bool & dividend_year_bool & pe_bool & pb_bool

# 筛选结果
final_result = today_data.loc[result].sort_values(by=["DOMINANTMARKETMAKING"], ascending=False)

# 输出结果
print(final_result)

注:以上为示例代码,仅供参考,实际使用中需根据具体情况做适当调整。

    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

    select_sentence = '市值小于100亿' #选股语句。

    模板如何使用?

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


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

评论