(同花顺量化)20日均线大于120日均线_、PE_0、rsi小于65

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

问财量化选股策略逻辑

选股逻辑:选取RSI小于65、PE大于0、20日均线大于120日均线的股票。

选股逻辑分析

该策略基于技术面和估值面多因素选股,选取具备一定技术支撑的估值合理的标的股票。

有何风险?

该策略可能会忽略部分市场波动带来的风险,同时过于关注技术面可能忽略股票基本面的影响,导致选取的股票可能存在实际风险。

如何优化?

可以在技术面的基础上,增加股票基本面的分析。同时可以对选股逻辑进行参数优化。

最终的选股逻辑

基于RSI、PE、20日均线和120日均线选股,选取RSI小于65、PE大于0、20日均线大于120日均线的股票。

同花顺指标公式代码参考

  • RSI指标:REF(CAS(CLOSE,1),1),6)/EMA(C,6)*100
  • PE指标:TURNOVER/VOL/CAPITAL
  • 20日均线和120日均线指标:可以查找通达信或同花顺官方文档。

Python代码参考

import pandas as pd
import tushare as ts

def get_stock_list(rsi_threshold=65, pe_threshold=0, ma_short=20, ma_long=120):
    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_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]/vol/ts.get_stock_basics().loc[symbol]['totals']
        if pe < pe_threshold:
            continue
        ma_short_value = hist_data['close'].rolling(window=ma_short).mean().iloc[-1]
        ma_long_value = hist_data['close'].rolling(window=ma_long).mean().iloc[-1]
        if ma_short_value < ma_long_value:
            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)
收益&风险
源码

评论