问财量化选股策略逻辑
选股逻辑:在RSI小于65、非科创板、换手率3%-12%的股票中进行选股。
选股逻辑分析
该选股策略综合了技术面和基本面指标,先通过RSI指标进行筛选,选取技术面上表现相对较好的个股。然后排除科创板股票,关注非科创板市场中的潜力股。最后通过换手率进行进一步筛选,选取市场关注度较高但又不过于火热的个股,提高投资收益。
有何风险?
该选股策略在换手率的筛选上可能存在一定的主观性和不确定性,且换手率只作为一个市场关注度的参考指标,不能完全反映出股票的投资价值。同时,RSI和换手率指标都是技术面指标,在过于依赖技术面的同时可能忽略了一些基本面因素。
如何优化?
-
增加基本面筛选:除了技术面指标,可以加入市盈率、股息率、净资产收益率等基本面指标,对选股进行更全面、更深入的分析。
-
动态调整换手率阈值:换手率的筛选阈值可以根据市场情况和个股特点进行调整。对于市场表现较好的板块和个股,可以适当降低换手率的阈值,具体调整需要结合市场情况进行。
-
选取优质股票进行研究分析:选取具有代表性的优质股票,进行详细分析和研究,不断优化选股策略,提高选股的准确性和收益率。
最终的选股逻辑
选股标准为RSI小于65、非科创板、换手率3%-12%。
同花顺指标公式代码参考
// RSI小于65
COND1 = RSI(CLOSE, 14) < 65;
// 非科创板
COND2 = MARKETTYPE != 7;
// 换手率3%-12%
VOL = V / CAPITAL * 100;
COND3 = VOL >= 3 AND VOL <= 12;
// 选取符合条件的股票
SELECT((COND1 AND COND2) AND COND3);
Python代码参考
import tushare as ts
import talib as ta
def select_stocks(stocks):
res = []
for stock in stocks:
try:
if stock.startswith('300'): # 排除科创板
continue
price_data = ts.get_hist_data(stock, start='2021-01-01')
if price_data is None:
continue
rsi_data = ta.RSI(price_data['close'].values, timeperiod=14)
if rsi_data[-1] > 65: # 筛选RSI的值
continue
turnover = price_data['volume'].sum() / (price_data['a_price'] + price_data['b_price']).sum() * 100 # 计算换手率
if turnover < 3 or turnover > 12:
continue
res.append((float(price_data.loc[0, 'high'] - price_data.loc[0, 'low']) / price_data.loc[0, 'low'] * 100, stock))
except Exception as e:
print(e)
continue
res.sort(reverse=True)
return [i[1] for i in res]
stocks = ts.get_stock_basics().index
res = select_stocks(stocks)
print(res)
注意:同样需要对数据类型和异常进行判断处理。可以考虑加入其他的技术面和基本面指标,如均线、相对强弱指标、市盈率等等,同时也可以对于最终选出的股票进行资金流向、基金重仓等深入研究,提高选股策略的可靠性和实用性。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
