问财量化选股策略逻辑
首先,我们筛选出至少5根均线重合的股票,这表明这些股票的走势比较稳定,而且有较强的支撑和阻力。接下来,我们筛选出10日涨幅大于0小于35的股票,这表明这些股票有一定的上涨空间,但同时也避免了过高的风险。
最后,我们排除了北京A股,因为北京A股的市场环境和走势与其他地区的股票有所不同,因此可能不太适合我们的策略。
选股逻辑分析
这个策略的逻辑是基于技术分析和市场走势的。通过筛选出均线重合的股票,我们可以找到股票的趋势和支撑阻力位,从而更好地预测股票的走势。同时,通过筛选出10日涨幅大于0小于35的股票,我们可以找到股票的上涨空间和风险水平。
有何风险?
这个策略的潜在风险包括市场风险、技术分析误差和交易成本。市场风险是指股票市场的波动性,即使我们选择了正确的股票,也可能因为市场波动而产生损失。技术分析误差是指我们对股票走势的预测可能不准确,从而导致策略的失效。交易成本是指买入和卖出股票时需要支付的费用,这些费用可能会对策略的盈利能力产生影响。
如何优化?
为了优化这个策略,我们可以考虑以下几点:
-
筛选出更多的均线,例如120日均线和250日均线,这可以帮助我们更好地判断股票的趋势和支撑阻力位。
-
筛选出更多的股票,例如选取整个市场的股票,这可以帮助我们更好地把握市场的走势。
-
使用更多的技术指标,例如移动平均线、MACD等,这可以帮助我们更好地预测股票的走势。
最终的选股逻辑
最终的选股逻辑如下:
-
选取至少5根均线重合的股票。
-
筛选出10日涨幅大于0小于35的股票。
-
筛选出整个市场的股票。
-
使用移动平均线、MACD等技术指标来预测股票的走势。
-
在股票满足以上条件时,按照价格从低到高排序,选取前100只股票作为最终的股票池。
python代码参考
以下是一个简单的Python代码示例,用于实现上述策略:
import talib
def get_crossing_moving_average(prices, fast_length, slow_length):
"""
获取价格的交叉点
"""
fast_ma = talib.MA(prices, fast_length)
slow_ma = talib.MA(prices, slow_length)
for i in range(len(prices)):
if fast_ma[i] > slow_ma[i]:
return True
return False
def get_10_day_gain(prices):
"""
获取10日涨幅
"""
gain = prices[-1] - prices[0]
for i in range(9, 0, -1):
gain = gain * (1 + prices[i] / prices[i-1])
return gain
def get_filtered_stocks(prices, fast_length, slow_length, min_gain):
"""
获取符合条件的股票
"""
crossing_moving_average = get_crossing_moving_average(prices, fast_length, slow_length)
gain = get_10_day_gain(prices)
stocks = []
for i in range(len(prices)):
if crossing_moving_average[i] and gain[i] > min_gain:
stocks.append(prices[i])
return stocks
# 示例数据
prices = [10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
# 选择参数
fast_length = 5
slow_length = 10
min_gain = 0.05
# 获取符合条件的股票
filtered_stocks = get_filtered_stocks(prices, fast_length, slow_length, min_gain)
# 输出结果
print(filtered_stocks)
注意:上述代码仅为示例,实际使用时需要根据具体情况进行调整和优化。
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


