(同花顺量化)20日均线大于120日均线_、下午大单净流入、rsi小于65

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

问财量化选股策略逻辑

选股逻辑:选出RSI小于65,下午大单净流入,且20日均线大于120日均线的股票。

选股逻辑分析

该选股逻辑以RSI指标和下午大单净流入为辅助指标,较全面地反映了该股票的投资价值。同时,引入均线指标,重点关注最近的短期和长期的走势,结合趋势分析,增强对股票的判断力。

有何风险?

该选股策略没有考虑股票的基本面信息,可能存在一定的风险。同时,由于均线指标在股票市场中比较常见,该选股策略容易被市场参与者利用形成一定的风险。

如何优化?

可以引入其他指标,如市盈率、股息率等指标,结合行业因素和基本面指标,筛选出股票的潜在价值。同时,可以尝试将均线参数设置为一个可调参数,使其在选股过程中具有灵活性。

最终的选股逻辑

选出今日下午大单净流入,且RSI小于65,20日均线大于120日均线的股票。

同花顺指标公式代码参考

C1: AFTERNOON(NETFLOW) > 0
C2: RSI(CLOSE, 14) < 65
C3: MA(CLOSE, 20) > MA(CLOSE, 120)
C4: TOTAL_VAL >= 2e8
C5: MARKET='SZ' OR MARKET='SH'

SELECT * FROM (
  SELECT STOCK_LIST.*, GET_RANKING_BY_HEAT() AS RANKING
  FROM STOCK_LIST
) RESULT
WHERE C1 AND C2 AND C3 AND C4 AND C5
ORDER BY RANKING DESC

python代码参考

import pandas as pd
import akshare as ak
import talib


def get_ranking_by_heat(df):
    stocks_em = ak.stock_heat_rank(indicator="今日热点", market="sz")
    stocks_list = stocks_em['名称']
    df['RANKING'] = df['名称'].apply(lambda x: stocks_list.index(x)+1 if x in stocks_list else 0)
    df = df[df['RANKING'] > 0]
    return df


def get_stock_list():
    result_df = pd.DataFrame()
    stock_list = ak.stock_zh_a_spot_em()
    stock_list = stock_list[stock_list['市值'] >= 2e8]
    for code in stock_list['代码']:
        stock_k_data = ak.stock_zh_a_daily(code=code, adjust="hfq")
        netflow = stock_k_data.iloc[-3:]['净流入量']
        if any(netflow <= 0.05) or stock_k_data.iloc[-1]['净流入量'] <= 0:
            continue
        rsi = talib.RSI(stock_k_data['收盘价'], timeperiod=14)
        if rsi.iloc[-1] >= 65:
            continue
        ma_20 = talib.MA(stock_k_data['收盘价'], timeperiod=20)
        ma_120 = talib.MA(stock_k_data['收盘价'], timeperiod=120)
        if ma_20.iloc[-1] <= ma_120.iloc[-1]:
            continue
        result_df = result_df.append(stock_k_data)
    result_df = get_ranking_by_heat(result_df)
    result_df.sort_values(by='RANKING', ascending=False, inplace=True)
    return result_df.head(5)
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论