(iwencai选股策略)近25个交易日有单日涨幅大于等于百分之10_、PE_0、rsi小

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

问财量化选股策略逻辑

选股逻辑:选取RSI小于65、PE大于0、近25个交易日有单日涨幅大于等于10%的股票。

选股逻辑分析

该选股策略综合考虑了技术面和基本面因素,并注重了股票短期内的表现。选取RSI小于65、PE大于0、近25个交易日有单日涨幅大于等于10%的股票,以期望能够在未来时间内获得投资收益。

有何风险?

该选股策略过于依赖股票短期内的表现,忽略了长期的基本面因素,可能存在过度交易和过拟合的风险。同时,单单根据涨幅来选股,也容易受到市场波动和机构内部搅动的影响,存在极高的样本噪声和误导。

如何优化?

可以考虑结合其他指标,如MACD、KDJ等技术指标,或者加入股票市值、涨停板数、PE环比等基本面因素,以全面衡量股票的准确价值。此外,为避免过度交易,在股票评价过程中,可以加入市场心理和风险管理因素,提高综合投资效益。

最终的选股逻辑

选取RSI小于65、PE大于0、近25个交易日有单日涨幅大于等于10%的股票。(该选股策略完全可以根据实际需要进一步优化,如加入其他技术指标或基本面因素等)

同花顺指标公式代码参考

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

Python代码参考

import pandas as pd
import tushare as ts

def get_stock_list(rsi_threshold=65, pe_threshold=0, inc_threshold=0.1, window=25):
    stock_list = pd.DataFrame(columns=['股票代码', '名称'])
    stock_data = ts.get_today_all()
    for _, row in stock_data.iterrows():
        symbol = row['code']
        name = row['name']
        hist_data = ts.get_k_data(symbol, ktype='D')
        if hist_data is None or len(hist_data) < window:
            continue
        if hist_data.iloc[-1]['close'] < hist_data.iloc[-1-window:-1]['low'].min() + (hist_data.iloc[-1-window:-1]['high'].max() - hist_data.iloc[-1-window:-1]['low'].min()) / 100 * 21:
            continue
        pe = ts.get_stock_basics().loc[symbol]['pe']
        if pe < pe_threshold:
            continue
        inc = (hist_data.iloc[-1]['close'] - hist_data.iloc[-1]['close'].shift(1)) / hist_data.iloc[-1]['close'].shift(1)
        if (inc.iloc[-window:] >= inc_threshold).any():
            continue
        rsi = 100 - 100 / (1 + hist_data['close'].diff().fillna(0).apply(lambda x: max(x, 0)).rolling(window=6).mean() / hist_data['close'].diff().fillna(0).apply(lambda x: max(-x, 0)).rolling(window=6).mean())
        if rsi.iloc[-1] > rsi_threshold:
            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)
收益&风险
源码

评论