(同花顺量化)100亿市值以内的无亏损企业_、深证主板中市盈率0-29

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,深证主板中市盈率0-29.01,市净率0-3.11的股票,100亿市值以内的无亏损企业。选股逻辑作为第一个段落放入标题为 ## 问财量化选股策略逻辑 的段落中。

选股逻辑分析

该选股逻辑选择了振幅、市盈率、市净率、市值和盈利能力几个指标进行筛选,比之前的选股逻辑更加综合和严格。其中市值的限制可以保证选出的股票都是小盘股,而盈利能力的限制可以保证选出的股票有一定的财务实力。

有何风险?

该选股逻辑的风险主要包括:

  1. 只有市值在100亿以内的限制,没有其他财务指标的要求,可能会选出某些盈利能力较弱的企业;
  2. 市盈率和市净率的限制可能会严重降低选股数量,有可能会错失一些潜在的投资机会;
  3. 振幅指标容易受到市场波动的影响,不能完全反映出股票的投资价值。

如何优化?

为了优化该选股策略,我们可以考虑以下方面:

  1. 除了市值外,增加其他股票基本面指标的限制,如财务报表数据、股息率等;
  2. 考虑增加一些技术指标,如均线、相对强弱指数等,来进一步筛选股票;
  3. 振幅指标容易受到市场波动的影响,可以考虑增加其他技术指标来突破这一局限性;
  4. 制定更为详细的进出场策略,以降低风险和提高收益。

最终的选股逻辑

经过考虑和优化之后,我们提出如下的选股逻辑:

  • 振幅大于1的深证主板股票;
  • 市盈率在0-29.01,市净率在0-3.11;
  • 市值在100亿以内;
  • 前一个完整会计年度净利润为正。

同花顺指标公式代码参考

  • 振幅:ZHENFU();
  • 市盈率:C/CBLY0;
  • 市净率:C/LBB;
  • 市值:q.capitalization/10000 <= 100;
  • 净利润:AAP/10000 > 0,其中AAP为前一个完整会计年度净利润。

Python代码参考

利用Tushare库和pandas数据框架,计算选股结果的Python代码如下:

import pandas as pd
import tushare as ts

def is_selected(code):
    '''
    判断股票是否符合选股逻辑
    '''
    # 基本面指标筛选
    stock_basics = ts.get_stock_basics()
    base = stock_basics[stock_basics.index==code]
    if base.empty or base['pe'].values[0] < 0 or base['pe'].values[0] > 29.01 or \
        base['pb'].values[0] < 0 or base['pb'].values[0] > 3.11 or \
        base['outstanding'].values[0] * base['price'].values[0] / 100000000 > 100:
        return False
    # 盈利能力筛选
    profit_data = ts.get_profit_data(base.index[0])
    if profit_data is None or not profit_data.empty:
        last_year_data = profit_data.loc[str(int(profit_data.index[-1])-1)]
        if last_year_data['roe'] < 0 or last_year_data['net_profits'] <= 0:
            return False
    return True

# 获取符合选股逻辑要求的股票列表
selected_stocks = ts.get_stock_basics().index[ts.get_stock_basics().apply(is_selected, axis=1)].tolist()

# 根据选股结果进行后续交易操作
for code in selected_stocks:
    pass # 参考其他交易策略

该代码中同样需要注意市值和净利润指标的限制,市值需要通过股本和股价计算,并将结果除以1亿来得到值,在代码中为 base['outstanding'].values[0] * base['price'].values[0] / 100000000 > 100;净利润需要直接通过Tushare的 profit_data 接口获取,选择前一个完整会计年度的数据,并判断 roe 和 net_profits 均为正值,代码为 last_year_data['roe'] < 0 or last_year_data['net_profits'] <= 0。

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

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

    模板如何使用?

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


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

评论