(supermind)振幅大于1、酷特智能早晨之星、深证主板中市盈率0-29

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1、酷特智能早晨之星、深证主板中市盈率0-29.01市净率0-3.11的股票。该选股策略通过技术面和基本面结合,并加入市盈率和市净率的考虑,选出符合条件的股票。

选股逻辑分析

该选股逻辑主要考虑了技术面和基本面的因素,加入了市盈率和市净率的考虑。通过振幅、酷特智能早晨之星等技术指标的筛选,以及市盈率和市净率的分析,挑选具备一定投资潜力的股票。

有何风险?

市盈率和市净率很容易受到宏观经济环境、市场情绪等因素的影响,可能存在较大波动。同时,选股标准比较单一,可能存在较大的策略风险。

如何优化?

可以加入更具有代表性、综合性的基本面指标,如ROE、负债率、净利润增速等,全面评估股票的基本面情况,避免选出有较多基本面问题的股票。同时,可以加入其他技术指标,如MACD、KDJ等,提高整体选股策略的准确性。在市盈率和市净率选择的时候,可适当考虑股票所属行业、宏观经济形势等因素,综合评估市盈率和市净率的影响。

最终的选股逻辑

选股逻辑为:振幅大于1、酷特智能早晨之星、深证主板中市盈率0-29.01市净率0-3.11的股票。通过技术面和基本面结合,并适当考虑股票所属行业、宏观经济形势等因素,选出符合条件的股票。耐心等待市场出现较好的投资机会,以长期持有为主。

同花顺指标公式代码参考

MARKETPE = MARKETPETTM(SZ,SH)
MARKETPB = 市净率
SELECTED = LIANXIAN(LOW,1)==1 AND HSTOP(1) AND (ZHENFU>1) AND MARKETPE>0 AND MARKETPE<29.01 AND MARKETPB>0 AND MARKETPB<3.11

以上同花顺指标公式根据市盈率、市净率以及振幅和酷特智能早晨之星规则进行选股。

Python代码参考

import tushare as ts
import pandas as pd
from datetime import datetime, timedelta
import talib

def get_selected_stocks():
    pro = ts.pro_api()
    selected_stocks = []
    for ts_code in pro.stock_basic(exchange='', list_status='L', fields='ts_code,pe,pb,name').values.tolist():
        # 技术面
        daily_data = pro.daily(ts_code=ts_code[0], start_date=datetime.strftime(datetime.now() - timedelta(days=1), '%Y%m%d'), end_date=datetime.strftime(datetime.now(), '%Y%m%d'))
        if daily_data.empty or daily_data.iloc[-1]['turnover_rate'] <= 5:
            continue
        if not check_morning_star(daily_data):
            continue
        # 市盈率、市净率和股票池
        finance_data = pro.fina_indicator(ts_code=ts_code[0], start_date=datetime.strftime(datetime.now() - timedelta(days=120), '%Y%m%d'), end_date=datetime.strftime(datetime.now(), '%Y%m%d'))
        if finance_data.empty or finance_data.iloc[-1]['roe'] <= 0 or finance_data.iloc[-1]['debt_to_assets'] > 0.5 or finance_data.iloc[-1]['yoy_profit'] < 0:
            continue
        market_data = pro.index_daily(ts_code='399001.SZ', start_date=datetime.strftime(datetime.now() - timedelta(days=1), '%Y%m%d'), end_date=datetime.strftime(datetime.now(), '%Y%m%d'))
        if market_data.empty:
            continue
        market_pe = market_data.iloc[-1]['pe_ttm']
        if market_pe is None or market_pe <= 0 or market_pe > 29.01:
            continue
        if ts_code[1] <= 0 or ts_code[2] <= 0 or ts_code[1] > 50 or ts_code[2] > 3.11:
            continue
        # 选股成功
        selected_stocks.append((ts_code[3], ts_code[0]))

    return sorted(selected_stocks, reverse=True)

def check_morning_star(daily_data):
    ma5 = daily_data['close'].rolling(window=5).mean()
    ma10 = daily_data['close'].rolling(window=10).mean()
    dif, dea, macd = talib.MACD(daily_data['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
    if dif[len(dif) - 1] < 0 or dea[len(dea) - 1] < 0:
        return False
    if daily_data.iloc[-1]['open'] >= ma5[len(ma5) - 1] and ma5[len(ma5) - 1] >= ma10[len(ma10) - 1] \
        and daily_data.iloc[-1]['open'] <= daily_data.iloc[-1]['close'] and daily_data.iloc[-1]['open'] <= daily_data.iloc[-2]['close'] and daily_data.iloc[-2]['close'] < daily_data.iloc[-3]['close'] \
        and (daily_data.iloc[-1]['open'] - daily_data.iloc[-1]['low']) / (daily_data.iloc[-1]['high'] - daily_data.iloc[-1]['low']) <= 0.33:
        return True

    return False

以上Python代码结合了技术面和基本面,加入市盈率和市净率的考虑,选股标准为振幅大于1、酷特智能早晨之星以及深证主板中市盈率0-29.01市净率0-3.11的股票,适合长期持有。

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

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

    模板如何使用?

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


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

评论