问财量化选股策略逻辑
选股逻辑:选出RSI指标小于65,昨日非涨停板,股价为18.5元的股票。
选股逻辑分析
选股逻辑仅针对股价为18.5元的股票进行筛选,同时考虑了RSI指标、昨日股价表现等因素,能够筛选出价格适中且有一定上涨空间的股票。
有何风险?
选股逻辑忽略了其他重要的技术指标与趋势判断,仅通过股价进行筛选,可能存在选出基本面并不优越的股票,同时股价低并不一定代表该股票有上涨空间,选股结果可能出现偏差。
如何优化?
可以综合使用多个技术指标,例如MACD指标、KDJ指标等,并结合股票基本面等因素进行综合判断,从而提高选股的准确性和成功率,并且可以设置股价区间范围,而非固定价格进行筛选。
最终的选股逻辑
选股逻辑:选出RSI指标小于65,昨日非涨停板,股价在18-20元之间的股票,同时考虑MACD指标的金叉、KDJ指标的超卖区等多个技术指标。
同花顺指标公式代码参考
C1: RSI(CLOSE, 14) < 65
C2: NOT(REF(涨跌幅, 1) >= 9.9)
C3: CLOSE > 18 AND CLOSE < 20
C4: MACD()金叉
C5: KDJ()K值处于超卖区(下限可调整)
SELECT * FROM STOCK_LIST
WHERE C1 AND C2 AND C3 AND C4 AND C5
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
# 判断股价,只选取18-20元之间的股票
if stock_k_data['收盘价'].iloc[-1] < 18 or stock_k_data['收盘价'].iloc[-1] > 20:
continue
# 判断MACD指标金叉
macd, macdsignal, _ = talib.MACD(stock_k_data['收盘价'])
if macd.iloc[-1] < macdsignal.iloc[-1]:
continue
# 判断KDJ指标
slowk, slowd = talib.STOCH(stock_k_data['最高价'], stock_k_data['最低价'], stock_k_data['收盘价'])
if slowk.iloc[-1] > 20 or slowd.iloc[-1] > 20:
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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
