(同花顺量化)30日平均线向上_、PE_0、rsi小于65

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

问财量化选股策略逻辑

选股逻辑:选取RSI小于65、PE大于0并且30日均线向上的股票。

选股逻辑分析

该选股策略同样结合了技术面和基本面指标,加入了均线交叉指标,选取30日均线向上的股票,可以视为股票近期展现出较强势头。结合RSI和PE指标的筛选可以找到价格具有一定上升空间,同时基本面比较稳定的股票。

有何风险?

在牛市行情下,可能会选出过于热门的股票,可能会导致过度买入。同时,如果30日均线长期向上,导致过度乐观,股票短期回调可能会产生大幅亏损。

如何优化?

可以对均线的选取时长进行调整,结合其他指标如MACD等并且加入量价数据对股票进行综合判断,有效地控制市场风险。同时,还需要关注市场涨跌情况,灵活调整策略的参数和阈值。

最终的选股逻辑

在技术面和基本面指标的基础上,选择RSI小于65、PE大于0并且30日均线向上的股票。

同花顺指标公式代码参考

  • 收盘价大于30日均线:C > MA(C, 30)
  • 30日均线向上:MA(C, 30) > REF(MA(C, 30), 1)

Python代码参考

import pandas as pd
import tushare as ts
import talib

def get_stock_list(rsi_threshold=65, pe_threshold=0, ma_window=30, top_n=5):
    stock_list = pd.DataFrame(columns=['股票代码', '名称', '综合指标'])
    for _, row in ts.get_today_all().iterrows():
        symbol = row['code']
        if not (symbol.startswith('300') or symbol.startswith('688')):
            if symbol.startswith('60') or symbol.startswith('00'):
                if symbol[0] == '6':
                    symbol = 'sh' + symbol
                else:
                    symbol = 'sz' + symbol
                try:
                    k_data = ts.get_k_data(symbol, start='2021-01-01', end='2021-09-30')
                    if k_data['close'][-1] <= talib.MA(k_data['close'], timeperiod=ma_window, matype=0)[-1]:
                        continue
                    if talib.MA(k_data['close'], timeperiod=ma_window, matype=0)[-1] <= talib.MA(k_data['close'], timeperiod=ma_window, matype=0)[-2]:
                        continue
                    rsi = talib.RSI(k_data['close'], timeperiod=14)[-1]
                    if rsi > rsi_threshold:
                        continue
                    if float(row['pe_ttm']) < pe_threshold:
                        continue
                    stock_list = stock_list.append({'股票代码': symbol[:6], '名称': row['name'], '综合指标': 0}, ignore_index=True)
                except:
                    continue
    stock_list = stock_list[:top_n]
    return stock_list
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论