问财量化选股策略逻辑
选股逻辑:MACD零轴以上,高点为两日最高,30日平均线向上。
选股逻辑分析
该选股逻辑主要基于MACD、均线和近期最高点等指标,通过寻找MACD零轴以上,最近两日最高和30日均线向上的个股,来寻找当前市场涨势较强、长期走势乐观的股票。与之前的逻辑相比,此策略更注重公司长期发展及趋势多重验证。
有何风险?
该选股策略存在以下风险:
-
忽略了个股的基本面和行业因素,对于一些存在较大风险的个股可能会给出不良的选择。
-
该选股策略忽略了一些短期市场变化,对于短线交易者可能不太适用。
-
该策略可能不太适用于阶段性行情。
如何优化?
为减少风险,可以考虑以下方式进行优化:
-
加入基本面和行业等方面作为股票评估指标的参考。
-
结合其他技术指标例如RSI、BOLL等作为辅助参考。
-
将个股的走势与趋势进行多重验证,减少错误判断的发生。
最终的选股逻辑
优化后的选股逻辑如下:
选股逻辑:MACD零轴以上,高点为两日最高,30日均线向上,基于RSI等其他指标进行判断,信号强壮才进出场。
同花顺指标公式代码参考
- MACD零轴以上,高点为两日最高,30日平均线向上。
CROSS(JC, 0) AND HHV(HIGH, 2)=HIGH AND MA(CLOSE,30)>MA(REF(CLOSE,1),30)
Python代码参考
def initialize(context):
set_option('use_real_price', True)
set_benchmark('000300.XSHG')
set_commission(PerTrade(buy_cost=0.0003, sell_cost=0.0003, min_cost=5))
set_slippage(PriceSlippage(0.002))
set_option('avoid_future_data', True)
def calc_rsi(code_list, MaxHoldDays=5, RSI_Length=14):
curve = dict()
N1 = MaxHoldDays + 1
for stock in (code_list):
curve[stock] = dict()
h = attribute_history(stock, 120, '1d', ('close', 'high', 'low'))
close = np.array(h['close'])
high = np.array(h['high'])
low = np.array(h['low'])
#MACD计算
macd, signal, hist = tl.MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)
curve[stock]['macd'] = macd[-1]
curve[stock]['signal'] = signal[-1]
#30日均线向上
ma30 = tl.MA(close, timeperiod=30)
bull_trend = ma30[-1] > ma30[0]
#最低价
low_ = tl.LLV(low, 1)
#K线向上
buy = macd[-1] > signal[-1] and (high[-2] == high.max()) and (close[-1] > low_[-1]) and bull_trend
curve[stock]['buy'] = buy
return selected
def select_stock(context):
stock_list = list(get_index_stocks('000300.XSHG'))
selected = calc_rsi(stock_list)
return selected
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


