问财量化选股策略逻辑
选股逻辑:选出RSI指标小于65,昨日非涨停板,换手率在2%到9%之间的股票。
选股逻辑分析
选股逻辑综合考虑了技术指标和股票表现,筛选出RSI指标较低且昨日表现不错,且换手率处于适中水平的股票,有助于筛选出潜在上涨空间较大的股票。
有何风险?
选股逻辑仅考虑了技术指标和昨日表现,未充分考虑股票的基本面情况,同时随着市场行情变化,选股逻辑可能失去效力。此外,选择一定范围内的换手率可能太过粗略,需要细分不同的行业和市值范围进行调整。
如何优化?
可以综合考虑多个技术指标、中长期趋势、板块轮动等因素进行判断,同时加入股票基本面和资金流向等因素进行综合评估。在筛选换手率时,可以考虑精细化的分类方式,例如对不同市值和行业分类进行分别筛选,以更准确地反映股票流动性情况。
最终的选股逻辑
选股逻辑:选出RSI指标小于65,昨日非涨停板,换手率在2%到9%之间的股票,并综合考虑股票的基本面、大单资金流向、行业趋势等因素。
同花顺指标公式代码参考
C1: RSI(CLOSE, 14) < 65
C2: NOT(REF(涨跌幅, 1) >= 9.9)
C3: 换手率 > 0.02 AND 换手率 < 0.09
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_em_yjbb_industry_board_ths(date="20220107")
stock_pool.sort_values(by='个股热度', ascending=False, inplace=True)
for code in stock_pool['股票代码'][:100]:
# 判断是否为涨停股、涨跌幅等条件
stock_k_data = ak.stock_zh_a_daily(symbol=code, adjust="hfq")
if stock_k_data['涨跌幅'].shift(1).iloc[-1] >= 9.9:
continue
# 判断RSI指标
rsi = talib.RSI(stock_k_data['收盘价'], timeperiod=14)
if rsi.iloc[-1] >= 65:
continue
# 判断换手率
if stock_k_data['换手率'].iloc[-1] < 0.02 or stock_k_data['换手率'].iloc[-1] > 0.09:
continue
# 判断大单净量排名
big_order = talib.MFI(stock_k_data['最高价'], stock_k_data['最低价'], stock_k_data['收盘价'], stock_k_data['成交量'], timeperiod=14)
big_order_ratio = big_order / stock_k_data['成交额']
if big_order_ratio.iloc[-1] < big_order_ratio.quantile(0.8):
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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


