问财量化选股策略逻辑
选股逻辑包括:RSI指标小于65、外盘/内盘比值大于1.3、底部抬高。
选股逻辑分析
该选股策略同样以技术面指标为主,通过RSI指标、外盘/内盘比值和底部抬高等指标结合选股,筛选出股价近期逆势上涨概率较大的股票。
有何风险?
该选股策略同样可能存在一定的风险。由于选股策略主要以技术面指标为主,与基本面指标信息忽略了,同时RSI和底部抬高等指标都有时效性,在短期内可能存在一定局限性,容易受假突破等因素的干扰。另外,外盘/内盘比值的判断也可能存在误差。
如何优化?
为了进一步提高选股策略的准确性,可以考虑以下方面进行优化:
- 综合考虑技术面和基本面指标,并较全面地分析股票的市场和财务表现;
- 建立包括技术面和基本面指标的股票评价模型,并对多种模型进行评估和优化,增强选股策略的多样性和严谨性;
- 加大人工智能技术和大数据技术的应用,挖掘更多股票的价值和潜力;
- 关注股票市场和政策变化,灵活调整选股策略。
最终的选股逻辑
选股逻辑包括:RSI指标小于65,外盘/内盘比值大于1.3,底部抬高,同时在此基础上进行综合考虑其他因素,例如市盈率、市净率、净利润等。
同花顺指标公式代码参考
- RSI指标:RSI(CLOSE, N),其中N代表RSI的计算天数,默认为14。
- 外盘/内盘比值:使用同花顺软件即可查看,该指标被广泛应用于量价分析中。
- 底部抬高指标:JUST(10, LOW, 5),即取最近五天中最低价的最小值。
python代码参考
import akshare as ak
# 获取当前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) < 10:
continue
ten_day_chg = (history_quotes.iloc[-1]["close"] - history_quotes.iloc[-10]["close"]) / history_quotes.iloc[-10]["close"] * 100
if ten_day_chg <= 0 or ten_day_chg >= 35:
continue
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
bottom = ak.stock_zh_a_hist_min_qfq(stock_code, start_date="20210101", end_date=None).iloc[-5:-1].min()["low"]
now = ak.stock_zh_a_quote_sina(stock_code).iloc[0]["price"]
if now < bottom:
continue
picked_stocks.append({"code": stock_code, "name": stock_list.loc[stock_code]["名称"]})
# 输出符合条件的股票代码和名称
for stock in picked_stocks:
print(f"{stock['code']}、{stock['name']}")
在原有的基础上,增加了底部抬高指标的筛选操作,并保留了10日涨幅、RSI和内外盘比值等技术面指标,以及股票实时行情的监测,避免选出即将下跌的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
