(同花顺量化)100亿市值以内的无亏损企业_、PE_0、rsi小于65

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

问财量化选股策略逻辑

选股逻辑:选取RSI小于65、PE大于0,并且市值在100亿以内的无亏损企业。

选股逻辑分析

本选股策略针对股票的技术面和基本面进行筛选,选择RSI小于65和PE大于0,在此基础上要求市值在100亿以内,同时要求公司过去几年没有出现过亏损,以确保股票有较好的成长性和稳定性,同时选股的范围相对较小,更加侧重大盘股票。

有何风险?

该选股策略可能会被市场波动和负面影响因素干扰,同时剔除了亏损公司,可能会忽略掉一些处于转型期或是处于业绩周期性波动的优质股票。

如何优化?

可以引入更多其他技术指标如MACD、KDJ等技术指标,同时可以适当增加PE、市值等基本面筛选条件来增加选股的可靠性和稳定性,同时考虑引入其他财务指标如ROE、净利润增长率等条件,以更全面综合判断一只股票的成长性、盈利性和投资价值。

最终的选股逻辑

选取RSI小于65、PE大于0,并且市值在100亿以内的无亏损企业。

同花顺指标公式代码参考

  • RSI公式:RSI(n)=100×(RS/(1+RS))其中,RS=N日内收盘价涨数和的平均值除以跌数和的平均值,N取6或12或24等周期。

  • PE公式:市价/每股收益

  • 市值公式:流通市值或总市值

Python代码参考

import pandas as pd
import tushare as ts

def get_stock_list(rsi_threshold=65, pe_threshold=0, size_threshold=100, profitable=True):
    stock_list = pd.DataFrame(columns=['股票代码', '名称'])
    stock_data = ts.get_today_all()
    for _, row in stock_data.iterrows():
        symbol = row['code']
        name = row['name']
        market_cap = row['mktcap']
        if not symbol.startswith('60'):
            continue
        
        if market_cap * size_threshold > 1e8:
            continue
        
        hist_data = ts.get_hist_data(symbol)
        if hist_data is None:
            continue
        if hist_data['p_change'].iloc[-1] > rsi_threshold:
            continue
        pe = hist_data['turnover'].iloc[-1]/hist_data['volume'].iloc[-1]/ts.get_stock_basics().loc[symbol]['totals']
        if pe < pe_threshold:
            continue
        if profitable:
            if ts.get_profit_data(4, symbol)['roe'].iloc[-1] < 0:
                continue
        
        stock_list = stock_list.append({'股票代码':symbol, '名称':name}, ignore_index=True)
    return stock_list
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论