问财量化选股策略逻辑
在选股过程中,我们采用的策略是基于一年内布林缩口、走出5浪、DIF大于DEA的选股逻辑。具体来说,我们先观察股票在一年内的走势,如果出现布林缩口的现象,说明股票在此区间内波动较小,有可能会走出5浪形态。在走出5浪的过程中,我们关注DIF线与DEA线的交叉情况,如果DIF大于DEA,说明股票在此区间有较强的趋势线上穿,这是一个积极的信号。
选股逻辑分析
该选股策略的风险主要在于对股票走势的判断和5浪形态的识别,如果判断错误或者识别不准确,可能会导致选股失误。此外,该策略依赖于历史数据,如果历史数据存在偏差,可能会影响策略的有效性。
如何优化?
为了优化该选股策略,我们可以通过以下几个方面进行改进:
- 提高布林缩口的判断准确性,可以通过使用更多的时间窗口和不同的布林计算方法来进行优化。
- 改进5浪形态的识别,可以尝试使用其他技术指标来进行辅助判断,提高形态识别的准确性。
- 结合其他选股策略,以降低单一策略的风险。
最终的选股逻辑
在优化了以上策略后,我们得到最终的选股逻辑:
- 选择一年内布林缩口股票;
- 在布林缩口期间,关注股票走出5浪形态;
- 在走出5浪过程中,关注DIF大于DEA线。
常见问题
在实际应用中,可能会遇到以下几个常见问题:
- 如何判断布林缩口是否成立?
答:可以通过计算股票价格的移动平均线(MA)和标准差来判断布林缩口是否成立。如果股票价格的波动在上下两个标准差之间较小,即可认为布林缩口成立。 - 如何判断股票是否走出5浪形态?
答:可以通过观察股票价格的波浪形态来进行判断。通常情况下,5浪形态会呈现出较为明显的上升和下降趋势。 - DIF大于DEA线何时卖出?
答:在DIF大于DEA线时,如果股票价格出现下跌,可以考虑卖出。如果股票价格继续上涨,则可以持有。
指标公式代码参考
在实际应用中,我们可以使用以下指标公式代码来进行选股:
def check_bollinger_bands(stock):
# 计算布林线上、中、线下
upper, middle, lower = stock.rolling(window=20).max(), stock.rolling(window=20).mean(), stock.rolling(window=20).min()
# 计算标准差
std = (upper - middle) / (2 * 1.96)
# 计算布林线
upper_band = middle + std
middle_band = middle - std
lower_band = lower - std
return upper_band, middle_band, lower_band
def check_five_wave(stock):
# 计算5浪数据
wave_data = stock.history(period=5, open="Open", close="Close", close_type="Close", fill_method="full")
# 检查5浪形态
if wave_data["Close"].shift(1) == wave_data["Close"].shift(0) and \
wave_data["Close"].shift(1) == wave_data["Close"].shift(-1) and \
wave_data["Close"].shift(0) == wave_data["Close"].shift(-1):
return True
else:
return False
def check_dif_dea(stock):
# 计算DIF和DEA
dif = stock.rolling(window=10).max().shift(1) - stock.rolling(window=10).min().shift(1)
dea = stock.rolling(window=10).max().shift(0) - stock.rolling(window=10).min().shift(0)
# 检查DIF大于DEA
if dif > dea:
return True
else:
return False
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击页面下方的复制按钮,复制到自己的账户即可使用模板进行回测。

