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

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

问财量化选股策略逻辑

选股逻辑包括:RSI小于65、外盘/内盘大于1.3、10天内涨停天数大于2。

选股逻辑分析

该选股策略基于RSI指标、资金流向和技术面指标,综合考虑股票的市场情绪、资金流动及市场热度等方面因素。该选股策略适合在短期内追涨杀跌或进行高频交易,对于具有活跃性的股票市场具有明显的操作方式。

有何风险?

该选股策略缺乏基本面的考虑,过度关注价格涨跌走势和市场热度等表面因素,有可能导致风险收益不对称。同时,该策略可能忽略基本面信息的影响,导致无法良好地适应不同市场环境。

如何优化?

为了优化选股策略,可以尝试以下方式:

  1. 在综合考虑技术指标的同时,加入一定的基本面指标,对股票进行全局性的考量;
  2. 考虑在过去一段时间内的业绩表现,以及公司和行业的基本面相关指标。
  3. 可以适当加入量价因素,避免错误 signals 带来的风险,做到全面系统化选股。

最终的选股逻辑

选股逻辑应包括RSI小于65、外盘/内盘大于1.3、10天内涨停天数大于2,同时可以适当加入其他基本面指标、技术指标、量价因素等,综合考虑股票的整体表现。

同花顺指标公式代码参考

选股公式:(
     (rsi(14)<65) and (otv/itv>=1.3) and (rise_days_in_10days()>2)
 )

python代码参考

import akshare as ak
import pandas as pd
from datetime import datetime, timedelta


def is_stock_rise_stop(stock_code):
    try:
        stock_information = ak.stock_zh_a_hist(symbol=stock_code, period="60")
        if stock_information is None or len(stock_information) < 60:
            return False
        for i in range(1, 11):
            price_today = stock_information.iloc[-i]["收盘"]
            price_yesterday = stock_information.iloc[-i-1]["收盘"]
            if abs((price_today - price_yesterday) / price_yesterday) >= 0.095:
                return True
    except Exception as e:
        return False


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

picked_stocks = []
for stock_code in stock_list.index:
    # 获取股票涨停天数
    if not is_stock_rise_stop(stock_code):
        continue
    
    # 获取股票数据
    history_quotes = ak.stock_zh_a_daily(stock_code)
    if history_quotes is None or len(history_quotes) < 10:
        continue
    if (datetime.now().date() - datetime.strptime(history_quotes.iloc[-1]["date"], "%Y-%m-%d").date()).days < 10:
        continue
    rsi = ak.stock_zh_index_daily_tx(stock_code)
    if rsi is None or len(rsi) < 14 or rsi.iloc[-1]["rsi14"] >= 65:
        continue
    day_quotes = ak.stock_zh_a_minute_em(stock_code, period="daily")
    if day_quotes is None or len(day_quotes) < 2:
        continue
    if day_quotes.iloc[-1]["b_volume"] / day_quotes.iloc[-1]["last_volume"] <= 1.3:
        continue
    stock_info = stock_list.loc[stock_code]
    picked_stocks.append({"code": stock_code, "name": stock_info["名称"]})

# 输出符合条件的股票代码和名称
for stock in picked_stocks:
    print(f"{stock['code']}、{stock['name']}")

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

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

    模板如何使用?

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


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

评论