问财量化选股策略逻辑
- 至少5根均线重合的股票
- 圆弧形
- 10天内涨停天数大于2
选股逻辑分析
- 这个策略的逻辑是基于技术分析,通过寻找均线重合和圆弧形形态来筛选股票,然后结合股票在10天内的涨停天数来筛选出更有可能上涨的股票。
- 筛选出至少5根均线重合的股票,意味着这些股票的均线系统已经形成了一定的多头排列,表明市场上的投资者对这只股票的未来走势较为乐观。
- 圆弧形形态通常被认为是一个反转形态,表明股票的价格走势可能会发生反转。同时,圆弧形形态的出现也表明市场上的投资者对这只股票的未来走势存在分歧,这可能是一个买入的机会。
- 筛选出10天内涨停天数大于2的股票,意味着这只股票在最近的10天内曾经出现过2次或以上的涨停,表明这只股票具有较强的市场人气和上涨动力。
有何风险?
- 这个策略的逻辑基于技术分析,因此可能会受到市场情绪和投资者心理的影响,导致选出的股票并不一定能够达到预期的涨幅。
- 圆弧形形态并不一定能够准确预测股票的走势,因此在实际操作中可能会出现失误。
- 筛选出10天内涨停天数大于2的股票,并不能保证这只股票未来一定能够继续上涨。
如何优化?
- 可以考虑加入更多的技术指标和参数来筛选股票,以提高策略的准确性和可靠性。
- 可以考虑加入更多的市场因素和数据来筛选股票,以更好地反映市场走势和投资者心理。
- 可以考虑加入更多的历史数据和经验来筛选股票,以更好地预测股票的走势。
最终的选股逻辑
- 选取至少5根均线重合的股票,且均线系统形成多头排列。
- 选取圆弧形形态的股票,且圆弧形形态出现的位置在股票的底部区域。
- 选取10天内涨停天数大于2的股票,且股票在最近的10天内具有较强的市场人气和上涨动力。
python代码参考
- 以下是基于pandas和ta-lib库的python代码示例,用于筛选符合上述策略的股票:
import pandas as pd
import talib
def get_5_ma(data):
ma = talib.MA(data, timeperiod=5)
return ma
def get_10_ma(data):
ma = talib.MA(data, timeperiod=10)
return ma
def get_round_top(data, n):
top = talib.RSI(data, timeperiod=14)
return top
def get_round_bottom(data, n):
bottom = talib.RSI(data, timeperiod=14)
return bottom
def get_5_ma_and_10_ma_cross(data):
ma5 = get_5_ma(data)
ma10 = get_10_ma(data)
cross = ma5 > ma10
return cross
def get_round_top_and_bottom_cross(data, n):
top = get_round_top(data, n)
bottom = get_round_bottom(data, n)
cross = top > bottom
return cross
def get_stocks_with_5_ma_and_10_ma_cross(data):
cross = get_5_ma_and_10_ma_cross(data)
stocks = data[cross]
return stocks
def get_stocks_with_round_top_and_bottom_cross(data, n):
cross = get_round_top_and_bottom_cross(data, n)
stocks = data[cross]
return stocks
def get_stocks_with_10_ma_cross(data):
cross = get_10_ma_cross(data)
stocks = data[cross]
return stocks
def get_stocks_with_round_top_cross(data, n):
cross = get_round_top_cross(data, n)
stocks = data[cross]
return stocks
def get_stocks_with_round_bottom_cross(data, n):
cross = get_round_bottom_cross(data, n)
stocks = data[cross]
return stocks
def get_stocks_with_stochastic_rsi(data, n):
rsi = talib.RSI(data, timeperiod=n)
cross = rsi > 80
stocks = data[cross]
return stocks
def get_stocks_with_round_stochastic_rsi(data, n):
rsi = talib.RSI(data, timeperiod=n)
cross = rsi > 80
stocks = data[cross]
return stocks
def get_stocks_with_stochastic_kd(data, n):
kd =
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
