问财量化选股策略逻辑
选股逻辑为RSI指标小于65、连续七天阴线、当日最大跌幅大于-5%且小于-4%。选取符合条件的股票。
选股逻辑分析
该选股逻辑主要关注了技术指标和市场走势,在满足RSI小于65、连续七天阴线的条件基础上,贯彻了“买入跌停、卖出涨停”的理念,通过当日最大跌幅的限制,选取严格跌幅的股票。该选股逻辑较为严格,注重选取股价走势较大的股票。
有何风险?
该选股逻辑因注重当日股价走势,存在选股时机的风险。另外,该选股逻辑忽视了公司基本面的影响,可能忽略了一些优秀个股的涨势机会,存在选择股票不平衡的风险。
如何优化?
可以加入其他技术指标和基本面的分析,如市盈率、市净率、ROE等基本面指标以及资金流向、行业趋势等市场情况指标,综合考虑股票的投资价值。同时,在对市场整体走势的估计上,可以引入宏观经济分析、政策解读等因素,更全面综合地分析市场形势,得出更准确的选股策略。
最终的选股逻辑
选股逻辑为RSI指标小于65、连续七天阴线、当日最大跌幅大于-5%且小于-4%、市值在50-200亿元之间。同时,加入市盈率、市净率、ROE等基本面指标等因素,根据实际市场情况灵活调整选股策略。
同花顺指标公式代码参考
- RSI指标公式:RSI(CLOSE, N),其中N代表RSI的计算天数,默认为14;
- 成交额公式:AMOUNT,即当日成交额;
- 涨跌幅指标公式:PCT_CHG,即当日的涨跌幅;
- 当日最大跌幅公式:MIN(LOW, REF(CLOSE, 1))-REF(CLOSE, 1);
- 七连阴公式参考代码为:
COUNT(CLOSE<=REF(CLOSE,1),7)>=7
python代码参考
import akshare as ak
def pick_stocks():
stock_list = ak.stock_zh_a_spot_em()
picked_stocks = []
for stock_code in stock_list.index:
if ak.stock_board_concept(stock_code).values[0][0] == "st":
continue
# 判断RSI小于65
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
# 判断七连阴
history_quotes = ak.stock_zh_a_hist(stock_code, start_date="20210101")
if history_quotes is None or len(history_quotes) < 7 or \
sum(history_quotes[-7:]["close"] <= history_quotes[-7:]["open"]) != 7:
continue
# 判断当日最大跌幅小于-4%且大于-5%
today_quotes = ak.stock_zh_a_daily(stock_code)
if today_quotes is None or \
today_quotes.iloc[-1]["low"] >= today_quotes.iloc[-1]["close"] or \
(today_quotes.iloc[-1]["low"] - today_quotes.iloc[-1]["close"]) \
/ today_quotes.iloc[-1]["close"] > -0.04 or \
(today_quotes.iloc[-1]["low"] - today_quotes.iloc[-1]["close"]) \
/ today_quotes.iloc[-1]["close"] < -0.05:
continue
#筛选出符合市值条件的股票
stock_info = ak.stock_info_a_code(stock_code)
if stock_info is None or stock_info["circulation_market_value"] is None or \
stock_info["circulation_market_value"] < 5000000000 or \
stock_info["circulation_market_value"] > 200000000000 or \
stock_info["circulated_shares"] is None or \
stock_info["exchange"] != "SH":
continue
# 输出符合条件的股票代码、名称、RSI、七连阴天数、当日最大跌幅
picked_stocks.append({"code": stock_code, "name": stock_list.loc[stock_code]["名称"],
"RSI14": rsi.iloc[-1]["rsi14"], "七连阴天数": 7,
"当日最大跌幅": (today_quotes.iloc[-1]["low"] - today_quotes.iloc[-1]["close"])
/ today_quotes.iloc[-1]["close"]})
for stock in picked_stocks:
print(f"{stock['code']}、{stock['name']}、RSI14: {stock['RSI14']:.2f}、七连阴天数: {stock['七连阴天数']}、当日最大跌幅: {stock['当日最大跌幅']:.2%}")
该选股逻辑通过技术指标的分析和市场走势的考虑,选取股价波动较大的个股。通过加入基本面指标和市场情况的综合分析,可以更好地选取具有潜在投资价值的股票。不断在实践中总结经验,优化调整选股逻辑。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


