(同花顺量化)10天内涨停天数大于2_、深证主板中市盈率0-29

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,深证主板中市盈率0-29.01,市净率0-3.11的股票,10天内涨停天数大于2。

选股逻辑分析

该选股策略在原有逻辑的基础上加入了涨停天数的条件,可以从市场情绪和资金流向方面综合评估股票的投资价值,确定买入卖出时机。

有何风险?

该选股策略存在以下风险:

  1. 涨停天数的条件容易被少数股票操纵,存在选股效果不佳的情况;
  2. 仅考虑10天内的涨停天数,忽略了更长期的市场态势和股票的基本面情况,可能存在选股失误的情况。

如何优化?

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

  1. 引入更多的市场情绪和资金流向指标,如资金净流入、成交量等,进行综合评估;
  2. 考虑引入股票的基本面、产业和政策面等因素,结合更多的指标和数据,全面分析股票的投资价值,优化选股策略。

最终的选股逻辑

根据以上分析和建议,我们提出如下完善后的选股逻辑:

  • 振幅大于1;
  • 上市时间大于180天的深证主板股票;
  • 市盈率在0-29.01,市净率在0-3.11;
  • 10天内涨停天数大于2。

同花顺指标公式代码参考

  • 振幅指标代码:(HIGH - LOW) / REF(CLOSE,1)

Python代码参考

利用 Tushare 库的 Python 代码如下:

import pandas as pd
import tushare as ts

def is_selected(code):
    '''
    判断股票是否符合选股逻辑
    '''
    # 基本面筛选和上市时间筛选
    base = ts.get_stock_basics()[code]
    if base['timeToMarket'] > datetime.now().strftime('%Y%m%d') or (datetime.now() - datetime.strptime(base['timeToMarket'], '%Y%m%d')).days < 180 or \
            base['pe'] < 0 or base['pe'] > 29.01 or base['pb'] < 0 or base['pb'] > 3.11 or base['area'] != '深圳':
        return False
    # 技术指标筛选
    k_data = ts.get_k_data(code, autype='qfq')
    if k_data.empty or \
            k_data['high'].sub(k_data['low'].shift()).div(k_data['close'].shift()).iloc[-1] < 0.01 or \
            k_data['close'].rolling(window=10).apply(lambda x: (x == x.max()).sum()).iloc[-1] <= 2:
        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 # 参考其他策略

该代码根据修正后的选股逻辑,在计算振幅、市盈率、市净率、涨停天数等指标时加入了新的筛选条件,并使用 pandas 库和 Tushare 库等工具,以确定是否符合选股逻辑的要求。在得到符合要求的股票后,可以采用特定的交易策略进行后续操作。

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

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

    模板如何使用?

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


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

评论