(supermind量化策略)a1/rsi小于65、外盘除内盘大于1

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

问财量化选股策略逻辑

选股逻辑包括:RSI指标小于65、外盘/内盘比值大于1.3、近一个月内有过涨停。

选股逻辑分析

该选股策略结合了技术面和市场情况的考量,RSI小于65可以看出股票未达到超买区;外盘/内盘比值大于1.3说明当前在该股票市场中,外资进行了较大的买入,市场情绪向好;近一个月内有过涨停,则表明该股票在市场中具备较好的热度和潜力。

有何风险?

该选股策略重点关注市场热度和技术面的指标,而忽略了公司基本面和市场情况的分析。因此,存在忽略公司的业绩及市场走势等重要因素,可能导致选取到质量不够高的股票。

如何优化?

为了进一步提高选股策略的有效性和全面性,可以从以下几个方面进行优化:

  1. 综合考虑公司基本面、市场走势及行业情况,根据多个因子进行选股。可以结合财务数据、行业分析、政策面等指标并制定相应的筛选条件,提高选股的精准性和准确性;
  2. 将技术面指标和基本面指标相结合,优先选取符合技术面指标的公司,然后在此基础上进一步筛选符合基本面指标的公司;
  3. 合理设置选股条件,根据市场情况、投资者风险偏好等合理调整选股策略。

最终的选股逻辑

综合考虑RSI指标、外盘/内盘比值和涨停情况,除此之外结合公司基本面和市场情况,得到符合条件的高质量股票。

同花顺指标公式代码参考

  1. RSI指标公式:RSI(CLOSE, N),其中N代表RSI的计算天数,默认为14。
  2. 外盘/内盘比值:使用同花顺软件即可查看,该指标被广泛应用于量价分析中。
  3. 近一个月内有过涨停:使用同花顺的“龙虎榜”功能可以查询到最近一个月内的个股涨跌停信息。

python代码参考

import akshare as ak
import datetime


def pick_stocks():
    # 获取当前A股股票列表
    stock_list = ak.stock_zh_a_spot_em()

    picked_stocks = []
    for stock_code in stock_list.index:
        # 获取股票数据
        history_quotes = ak.stock_zh_a_daily(stock_code, start_date="20210101")
        if history_quotes is None or len(history_quotes) < 25:
            continue
        # RSI指标
        rsi = ak.stock_zh_index_daily_tx(stock_code, start_date="20210101")
        if rsi is None or len(rsi) < 14 or rsi.iloc[-1]["rsi14"] >= 65:
            continue
        # 外盘/内盘比例
        quotes_snap = ak.stock_zh_a_quote_sina(stock_code)
        if quotes_snap is None or "外盘/内盘" not in quotes_snap:
            continue
        out_in_ratio = float(quotes_snap["外盘/内盘"].split(":")[-1])
        if out_in_ratio <= 1.3:
            continue
        # 近一个月内有过涨停
        longhubang = ak.stock_zh_a_hsgt_top10(stock_code)
        if longhubang is None or "涨停" not in longhubang:
            continue
        last_month = (datetime.datetime.now() - datetime.timedelta(days=30)).strftime("%Y-%m-%d")
        last_month_longhu = longhubang[longhubang["日期"] >= last_month]
        if last_month_longhu.empty or not any(last_month_longhu["涨停"].astype(bool)):
            continue
        picked_stocks.append({"code": stock_code, "name": stock_list.loc[stock_code]["名称"]})
    # 输出符合条件的股票代码和名称
    for stock in picked_stocks:
        print(f"{stock['code']}、{stock['name']}")


if __name__ == '__main__':
    pick_stocks()

该代码结合python的Akshare库和通达信公式,获取A股股票的实时行情数据和相关技术指标,并计算筛选出符合条件的股票。在原有基础上加入了近一个月内有过涨停的选股条件。

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

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

    模板如何使用?

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


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

评论