(同花顺量化)100亿市值以内的无亏损企业_、企业性质、振幅大于1

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1,企业性质优秀,市值100亿以内,且近三年无亏损企业。

选股逻辑分析

该选股逻辑主要考虑了股票价格波动、企业基本面以及盈利能力。振幅大于1表明该股的价格波动较大,有可能存在投机机会和投资价值,企业性质优秀保证了企业的盈利能力和可持续性。策略限定了市值100亿以内的企业,确保选股是对小市值和中等市值股票的关注。同时,除了市值因素外,要求企业近三年无亏损,提前排除无盈利能力的企业,保证选出的股票有足够的获利空间。整体考虑了多个方面的指标,有一定的实际可行性。

有何风险?

该选股逻辑有以下风险:

  1. 只考虑了一两个片面指标,忽略了多方面因素的影响;
  2. 对市值及盈利的限制、忽略了一部分企业的潜力;
  3. 振幅指标在涨跌情况较为乱的市场可能会出现受到一边数据影响的情况;
  4. 企业业绩往往是波动的,需要考虑更多的年份或季度数据,才可以明确判断企业盈利能力。

如何优化?

在选股策略中,可以结合其他股票基本面指标、行业和市场表现指标进行综合考虑,包括但不限于:

  1. 除了盈利能力外,可考虑每股收益、市盈率、市净率等指标,以确保企业的估值和有利的投资价值;
  2. 除了盈利稳定性外,可考虑营收、净利润增长率等指标,以排除企业业绩波动情况,判断企业长期盈利能力;
  3. 综合考虑市场背景、行业成长前景等宏观因素,及时调整股票或第一时间获取重要的信息;
  4. 在多个时间期间内进行筛选,可以对企业业绩及股票历史表现进行全面评估。

最终的选股逻辑

在综合以上分析基础上,完善后的选股逻辑如下:

  • 股票分类为市值100亿以下的中小市值股票;
  • 企业性质优秀,包括但不限于利润率、成长性、股息率等;
  • 股票价格波动大,振幅大于1,反映股票的投机机会和投资价值;
  • 企业市值100亿以内,排除市值过高的大型企业;
  • 近三年无亏损,排除无盈利能力的企业;
  • 結合其他股票基本面指标和市場表现指标进行综合考虑;
  • 根据市场情况和个人风险偏好,选择适当的排名范围;
  • 在选股过程中,综合考虑技术指标、基本面指标等多个方面进行筛选;
  • 根据综合信息判断股票的投资价值及风险情况,最终得出投资决策。

同花顺指标公式代码参考

该选股逻辑的同花顺指标公式如下:

/* 选股公式 */
A:股票市值在1亿到100亿之间;
B:XX企业性质;
C:HHV(HIGH,25)/REF(CLOSE,1)>1+EPS;
D:NET_PROFIT_SUM(T-3,T)>0 AND (NET_PROFIT_SUM(T-1,T)>0 OR NET_PROFIT_SUM(T-2,T)>0);
A AND B AND C AND D<=N; /* N为排名范围 */

其中,A:股票市值在1亿到100亿之间表示只限制市值在1亿到100亿之间的企业,B:XX企业性质表示企业性质优秀。C:HHV(HIGH,25)/REF(CLOSE,1)>1+EPS表示股票价格波动大,振幅大于1。D:NET_PROFIT_SUM(T-3,T)>0 AND (NET_PROFIT_SUM(T-1,T)>0 OR NET_PROFIT_SUM(T-2,T)>0)表示企业近三年无亏损。 A AND B AND C AND D<=N 表示逻辑与且排名不高于N。

Python代码参考

适用于Tushare库的Python选股代码如下:

import tushare as ts

def is_selected(code, eps=1, rank_range=(1, 50)):
    '''
    判断股票是否满足选股逻辑
    '''
    if ts.get_stock_basics()[code]['totalAssets'] <= 1E8 or ts.get_stock_basics()[code]['totalAssets'] > 1E10 or ts.get_stock_basics()[code]['esp'] <= 0 or ts.get_stock_basics()[code]['pb'] > 10 or ts.get_stock_basics()[code]['pe'] > 100:
        return False
    df_profit = ts.get_profit_data(ts.get_stock_basics().loc[code, 'name']).tail(3)
    if any(df_profit['net_profits'].values <= 0):
        return False
    return True

# 获取热度排名前N的股票列表,遍历股票进行选股
stocks = ts.top_list()
selected_stocks = []
for i in range(N):
    code = stocks['code'].iloc[i]
    if is_selected(code, rank_range=(1, N)):
        selected_stocks.append(code)

# 利用选股结果进行股票交易
for code in selected_stocks:
    pass # 参考其他策略

其中需要根据选股策略修改参数,通过tushare库获取股票基本面信息和历史交易数据,并利用策略中设定的其他指标进行计算判断,最后利用选股结果进行股票交易。注意代码中各参数的设定,如市值、企业盈利等。

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

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

    模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧