问财量化选股策略逻辑
根据振幅大于1,三个技术指标同时金叉,且走势形态为圆弧形进行选股操作。
选股逻辑分析
此选股逻辑同样基于技术指标和走势形态的分析。振幅大于1和金叉均是技术指标部分,圆弧形为走势形态部分。考虑到股票的走势形态一般需要长时间观察,因此选股周期需要适当调整。
有何风险?
选股风险主要在于走势形态的判断存在着主观性,容易受到市场情绪因素影响。同时,圆弧形态也可能出现在不稳定的走势中,导致选出不理想的股票。
如何优化?
应当结合更多股票基本面分析的因素,如公司的经营状况、财务状况等因素。同时,选股周期需要适当延长,以更好地观察走势形态的稳定性。
最终的选股逻辑
结合振幅大于1、三个技术指标同时金叉和走势形态为圆弧形进行选股,综合考虑技术指标和基本面分析等多种因素,筛选稳步上升的股票。
同花顺指标公式代码参考
三条MA金叉:CROSS(MA(CLOSE, N1), MA(CLOSE, N2)) & CROSS(MA(CLOSE, N2), MA(CLOSE, N3))
振幅大于1:AMO>1
圆弧形态: A:=圆弧底部序号-(圆弧顶部序号-圆弧底部序号+1)/2; MAXH:=HHV(HIGH,N); MAXL:=LLV(LOW,N); C:=A+(圆弧顶部序号-A)/2; D:=SQR((圆弧顶部序号-A)*(圆弧底部序号-C));
UP:=C+D/(圆弧顶部序号-A); DN:=C-D/(圆弧底部序号-C); HALF:=SUM(VOL,2)/SUM(MA(VOL,15),2);
走势形态为圆弧形: ((LOW<=DN) AND (HIGH>=UP) AND (UP>REF(DN,1)) AND (UP<MAXH) AND(LOW>REF(LOW,1))) AND (HALF>1.2)
python代码参考
import tushare as ts
import talib
def get_selected_stocks(n):
data = ts.get_today_all()
ma10 = talib.MA(data['trade'], timeperiod=10)
ma20 = talib.MA(data['trade'], timeperiod=20)
ma30 = talib.MA(data['trade'], timeperiod=30)
amplitude = (data['high'] - data['low']) / data['low']
arc_condition = (((data['low'] <= dn) & (data['high'] >= up) & (up > up.shift(1)) & (up < data['high'].rolling(window=20).max()) & (data['low'] > data['low'].shift(1))) & (half > 1.2)).any()
condition1 = talib.CROSS(data['close'], ma10) & talib.CROSS(ma10, ma20) & talib.CROSS(ma20, ma30)
condition2 = amplitude > 1
selected_data = data[condition1 & condition2 & arc_condition]
selected_data = selected_data.sort_values(by='trade', ascending=False).iloc[:n, :]
selected_stocks = list(selected_data.loc[:, 'code'])
return selected_stocks
result = get_selected_stocks(5)
print(result)
注:以上代码仅供参考,实际选股应结合具体情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
