问财量化选股策略逻辑
选股逻辑:选出RSI指标小于65,下午大单净流入,换手率在3%到12%之间的股票。
选股逻辑分析
该选股逻辑同样考虑了下午大单净流入和RSI指标的影响,同时加入了换手率的考虑,筛选出交易活跃,短线波动较大的股票,适合短线交易。
有何风险?
该选股逻辑仍然忽略了企业的基本面因素,可能会选出营业收入增长缓慢或者亏损的股票。另外,由于换手率变化非常快,选股逻辑可能会忽略一些换手率过低或者过高的股票。
如何优化?
可以加入更多的基本面考量,如营收利润、行业资质等因素,减少选出亏损或者业绩相对欠佳的个股。另外,可以适当调整换手率的范围,提高筛选精度。
最终的选股逻辑
选股逻辑:选出RSI指标小于65,下午大单净流入,换手率在3%到12%之间的股票。
同花顺指标公式代码参考
C1: RSI(CLOSE, 14) < 65
C2: AFTERNOON(NETFLOW) > 0
C3: TURNOVER() > 3 AND TURNOVER() < 12
SELECT * FROM STOCK_LIST
WHERE C1 AND C2 AND C3
ORDER BY DESCENDING(个股热度)
python代码参考
import pandas as pd
import akshare as ak
import talib
def get_stock_list():
result_df = pd.DataFrame()
# 获取个股热度排行版
stock_pool = ak.stock_zh_a_spot_em()
stock_pool = stock_pool[['代码','名称','流通市值','板块','涨跌幅','日期','市盈率','市净率']]
stock_pool.sort_values(by='流通市值', ascending=False, inplace=True)
for code in stock_pool['代码'][:500]:
if '机器人' not in stock_pool[stock_pool['代码'] == code]['板块'].iloc[0]:
continue
stock_k_data = ak.stock_zh_a_daily(code=code, adjust="qfq")
rsi = talib.RSI(stock_k_data['收盘价'], timeperiod=14)
if rsi.iloc[-1] >= 65:
continue
# 判断当日是否下午大单净流入
if stock_k_data.iloc[-1]['大单净流入'] < 0 or stock_k_data.iloc[-1]['大单净流入']/stock_k_data.iloc[-1]['成交额'] < 0.3 or stock_k_data.iloc[-1]['大单净流入']/stock_k_data.iloc[-1]['成交额'] > 0.8:
# 大单流入小于0 或 大单流入/成交额<0.3 或 大单流入/成交额>0.8
continue
if stock_k_data.iloc[-1]['换手率'] < 3 or stock_k_data.iloc[-1]['换手率'] > 12:
continue
result_df = result_df.append(stock_k_data, ignore_index=True)
result_df.sort_values(by='个股热度', ascending=False, inplace=True)
return result_df
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


