问财量化选股策略逻辑
选股逻辑包括:RSI小于65,外盘/内盘大于1.3,MACD零轴以上。
选股逻辑分析
该选股逻辑结合了技术面的RSI和MACD指标,并关注股票的外盘/内盘比例,旨在寻找近期走势较为稳健的股票。
有何风险?
- 技术指标的过度依赖和使用可能会使策略失去稳定性和可靠性;
- 全市场风格的变幻可能导致该选股逻辑失效;
- 特定市场环境(如多头或空头市场)可能导致该选股逻辑的效果不佳。
如何优化?
- 结合基本面指标和行业分析,综合判断个股的价值和未来增长性;
- 设定合理的止损和止盈点,合理分散投资组合风险;
- 加强对市场风格变化的观察和分析,有选择性地调整选股条件。
最终的选股逻辑
选股逻辑包括:RSI小于65,外盘/内盘大于1.3,MACD零轴以上。
同花顺指标公式代码参考
// RSI指标计算公式
LC := REF(CLOSE,1);
RSI1:=MA(MAX(CLOSE-LC,0),N)/MA(ABS(CLOSE-LC),N)*100;
RSI(N):MA(RSI1,M);
// MACD指标计算公式
DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:EMA(DIF,MID);
MACD:(DIF-DEA)*2;
// 外盘/内盘计算公式
UP:=IF(CLOSE>LC,VOL,0);
DOWN:=IF(CLOSE<LC,VOL,0);
OSC:=SUM(UP,14)/SUM(DOWN,14);
Python代码参考
import akshare as ak
# 获取当前A股股票列表
stock_list = ak.stock_zh_a_spot_em()
# 计算并筛选符合条件的股票
selected_stocks = []
for stock_code in stock_list.index:
# 获取股票数据
rsi_data = ak.stock_zh_index_daily_indicator(stock_code)
if rsi_data is None:
continue
rsi_14 = rsi_data.iloc[-1]["rsi_14"]
if rsi_14 >= 65:
continue
daily_data = ak.stock_zh_a_daily_em(stock_code)
if daily_data is None:
continue
inner_volume = ((daily_data["收盘价"].values - daily_data["最低价"].values) - (daily_data["最高价"].values - daily_data["收盘价"].values)) / (daily_data["最高价"].values - daily_data["最低价"].values) * daily_data["成交量"].values
outer_volume = daily_data["成交量"].values - inner_volume
outer_inner_ratio = outer_volume[-1] / inner_volume[-1]
if outer_inner_ratio <= 1.3:
continue
macd_data = ak.stock_zh_index_daily_indicator(stock_code, indicator="macd")
if macd_data is None:
continue
macd = macd_data.iloc[-1]["macd"]
if macd < 0:
continue
selected_stocks.append(stock_code)
# 输出符合条件的股票代码和名称
for stock_code in selected_stocks:
stock_info = stock_list.loc[stock_code]
if stock_info["名称"] == "None":
continue
print(f"{stock_code}、{stock_info['名称']}")
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


