问财量化选股策略逻辑
选股逻辑:选择RSI小于65、500日内至少2次涨停、15分钟周期MACD绿柱变短。
选股逻辑分析
该选股策略集中于技术分析,主要包括RSI和MACD指标。选股范围会更小,但是可能更容易挖掘短期投资机会。
有何风险?
该选股逻辑存在以下风险:1)单一技术指标不足以全面评估股票,存在盲区。2)15分钟的取样频率较高,选股结果较为短期,波动范围大,需要时刻关注。
如何优化?
可以加入其他的技术指标,如KDJ、均线,以全面评估股票,并减少取样频率,如30分钟或60分钟,以减少波动范围。
最终的选股逻辑
在RSI小于65、500日内至少2次涨停、15分钟周期MACD绿柱变短的基础上,加入其他技术指标进行筛选,并加大取样间隔,如30分钟或60分钟。
同花顺指标公式代码参考
CLOSE>REF(CLOSE,1) AND HSL>0 AND MACD()>REF(MACD(),1) AND MACD()-MACD(12)>REF(MACD()-MACD(12),1) AND STICKLINE(MACD()-MACD(12),0,Macd(2),COLORYELLOW) AND STICKLINE(REF(MACD()-MACD(12),1),0,REF(Macd(2),1),COLORDARKGREY)
Python代码参考
import pandas as pd
import akshare as ak
import talib
def get_stock_list():
stock_list = ak.stock_zh_a_spot_em()
stock_list['RSI'] = talib.RSI(stock_list['现价'], timeperiod=14)
stock_detail = ak.stock_zh_a_hist_sina()
stock_detail = stock_detail[stock_detail['涨停'] != 0]
stock_detail = stock_detail[['代码', '涨停次数']]
stock_list = pd.merge(stock_list, stock_detail, on='代码', how='left')
stock_list = stock_list[stock_list['所属行业'].apply(lambda x: '科创板' not in x)]
cond1 = stock_list['RSI'] < 65
cond2 = stock_list['涨停次数'] >= 2
stock_list = stock_list[cond1 & cond2]
pro = ak.stock_zh_a_daily_em(symbol="sh600000")
df = pro[['交易日期', '开盘价', '最高价', '最低价', '收盘价']]
df['MACD'], df['MACDsignal'], df['MACDhist'] = talib.MACD(df['收盘价'], fastperiod=12, slowperiod=26, signalperiod=9)
df = df.tail(16)
if df['MACDhist'].iloc[-1] < df['MACDhist'].iloc[:-1].mean():
stock_list = stock_list[stock_list['代码'].apply(lambda x: x[:2] != '68')]
return stock_list[['代码', '名称', '现价', 'RSI', '涨停次数']]
get_stock_list()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
