问财量化选股策略逻辑
选股逻辑为:在换手率3%-12%、K小于20、15分钟周期MACD绿柱变短的股票作为买入信号。
选股逻辑分析
该选股策略在换手率、KDJ、MACD等方面进行了筛选。通过MACD绿柱变短来辅助判断股票的走势。
有何风险?
该选股策略仍然忽略了股票基本面和市场环境等因素,仍存在盲目追求技术指标的风险,应综合考虑多方面因素,制定综合而完善的选股策略。
MACD指标具有滞后性,股价和MACD之间存在时间差,如果仅仅根据MACD来作出投资决策,存在被套等风险。需要结合其他技术指标和基本面分析,进行综合判断。
如何优化?
可以综合考虑行业发展趋势、公司财务状况、技术指标、板块热度等,形成更全面、细致的选股规则。同时,合理控制仓位,降低投资风险。
最终的选股逻辑
在换手率3%-12%、K小于20、15分钟周期MACD绿柱变短的前提下,筛选股票作为买入信号。
同花顺指标公式代码参考
选股条件:SETPRICETYPE(1); VOLUME>0; (K<20) AND (NOT INDUSTRYCODE='932'OR INDUSTRYCODE='914'); MACDSignal(15,26,9)<MACDHist(15,26,9);
选股结果:fml('SETPRICETYPE(1); VOLUME>0; (K<20) AND (NOT INDUSTRYCODE='932'OR INDUSTRYCODE='914'); MACDSignal(15,26,9)<MACDHist(15,26,9);','desc', 'market_cap', 100)
Python代码参考
import tushare as ts
import talib
# 筛选好股票函数
def select_good_stocks():
# 换手率3%-12%
basic_info = ts.get_stock_basics()
good_stocks = basic_info[(basic_info['turnoverratio'] >= 3) & (basic_info['turnoverratio'] <= 12)]
# K小于20,非科创板,MACD绿柱变短
for stock in good_stocks.index.tolist():
df1 = ts.get_k_data(stock, ktype='15')
if len(df1) <= 0:
continue
# 判断是否为科创板股票
industry_code = basic_info.loc[stock, 'industry_code']
if industry_code == '932' or industry_code == '914':
good_stocks.drop([stock], inplace=True)
continue
# 判断K值是否小于20
if df1.iloc[-1]['K'] >= 20:
good_stocks.drop([stock], inplace=True)
continue
# MACD绿柱变短
macd, macdsignal, macdhist = talib.MACD(df1['close'], fastperiod=12, slowperiod=26, signalperiod=9)
if macd[-1] <= macdsignal[-1] or macdhist[-1] >= macdhist[-2]:
good_stocks.drop([stock], inplace=True)
return good_stocks
good_stocks = select_good_stocks()
print(good_stocks)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


