问财量化选股策略逻辑
选股逻辑:RSI小于65、昨日竞价换手率大于0.26、按今日竞价金额排序前5的股票。
选股逻辑分析
在基于RSI和竞价换手率的选股逻辑基础上,加入了新的选股条件:按今日竞价金额排序,选取前五只股票。这一条件的加入可以更好地筛选出活跃的个股,但也会增加一定风险。
有何风险?
按今日竞价金额排序选取前五只股票可能容易选中短线炒作的个股,而非长期持有的优质公司,因此需要进行进一步优化。
如何优化?
-
结合基本面指标对筛选结果进行过滤:在选取前五只股票后,需要对其基本面指标进行进一步比较,筛选出质量更高的个股。
-
增加其他技术指标:可以加入MACD、KDJ、DMI等指标,综合分析更多的技术指标可以更好地反映股票走势。
-
加入量价关系的分析:可以根据股票的成交量情况,结合价格等信息进行综合分析,更为全面地评估股票走势。
最终的选股逻辑
选股标准为:RSI小于65、昨日竞价换手率大于0.26、按今日竞价金额排序选取前五只股票。
同花顺指标公式代码参考
// RSI小于65
CONDITION1 = RSI(C,14) < 65;
// 昨日竞价换手率大于0.26
CONDITION2 = Turnover > 0.26;
// 按今日竞价金额排序,选取前5
SELECT TOP 5 SORTBY(BidTradeAmount1) AS A;
// 筛选符合条件的股票
SELECT (CONDITION1 AND CONDITION2 AND A);
python代码参考
import tushare as ts
def select_stocks(stocks):
res = []
for stock in stocks:
k_data = ts.get_k_data(stock, start='2018-01-01', end='2021-08-31', ktype='D')
if len(k_data) >= 250:
rsi = talib.RSI(k_data['close'].astype(float).values, timeperiod=14)[-1]
turnover = k_data['turnover'].astype(float).values[-2] / 100
bid_trade_amount1 = ts.get_realtime_quotes(stock)['b1_v'][0]
if rsi < 65 and turnover > 0.26:
res.append((stock, float(bid_trade_amount1)))
res = sorted(res, key=lambda x: x[1], reverse=True)[:5]
return [r[0] for r in res]
stocks = ts.get_stock_basics().index
res = select_stocks(stocks)
print(res)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


