问财量化选股策略逻辑
选股逻辑包括:RSI指标小于65,外盘/内盘比值大于1.3,昨天连板股票。
选股逻辑分析
该选股策略主要考虑技术面的指标。RSI小于65可以看出股票的趋势未达到超买区;外盘/内盘比值大于1.3说明当前在该股票的市场中流入较多的资金,并且存在市场情绪向好的预期;昨天连板可以看出该股票存在一定的热度和市场情绪。
有何风险?
该选股策略缺少对于公司基本面和财务指标的考虑,优秀的股票在短期内也存在价格反应不足的情况,而可能出现连板的股票未必具有良好的盈利能力和基本面,存在被市场过度炒作,风险较大。
如何优化?
为了进一步提高选股策略的准确性和全面性,可以考虑以下方面进行优化:
- 加大对公司基本面和财务指标的监控和分析,结合公司的行业和市场环境,综合考虑公司的财务情况和前景,选取更加优质的公司;
- 对于技术面指标的考虑,可以结合均线、MACD等指标多角度分析,综合判断股票走势;
- 昨天连板是一个短期的市场指标,可以结合更长时间内的涨幅情况和业绩情况等因素加以考虑。
最终的选股逻辑
选股逻辑包括:RSI指标小于65,外盘/内盘比值大于1.3,考虑公司基本面和财务指标,同时结合过去一段时间的价格变化和市场热度等因素进行分析评估。
同花顺指标公式代码参考
- RSI指标:RSI(CLOSE, N),其中N代表RSI的计算天数,默认为14。
- 外盘/内盘比值:使用同花顺软件即可查看,该指标被广泛应用于量价分析中。
python代码参考
import akshare as ak
# 获取当前A股股票列表
stock_list = ak.stock_zh_a_spot_em()
picked_stocks = []
for stock_code in stock_list.index:
# 获取公司信息
company_info = ak.stock_financial_report_sina(stock_code, year="last_five")
if company_info is None or company_info.empty:
continue
if company_info.iloc[0]["code"] == "N/A" or company_info.iloc[0]["bj_price"] == "N/A" or company_info.iloc[0]["ltagr"] == "N/A":
continue
roe = False
for i in range(0, 5):
if company_info.iloc[i]["roe"] >= 15:
roe = True
break
if not roe:
continue
# 获取股票数据
history_quotes = ak.stock_zh_a_daily(stock_code, start_date="20210101")
if history_quotes is None or len(history_quotes) < 25:
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
continuous_price_limit = ak.stock_zh_a_ggtj(stock_code, trade_date="yesterday")
if continuous_price_limit is None or continuous_price_limit.empty or continuous_price_limit.iloc[0]["上榜次数"] < 3:
continue
picked_stocks.append({"code": stock_code, "name": stock_list.loc[stock_code]["名称"]})
# 输出符合条件的股票代码和名称
for stock in picked_stocks:
print(f"{stock['code']}、{stock['name']}")
该代码在原有基础上,增加了判断股票昨天是否连板的条件,同时加入了公司ROE的判断条件,以及股票实时行情的监测,避免选出即将下跌的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


