问财量化选股策略逻辑
该策略基于以下三个条件来筛选股票:
- 至少5根均线重合的股票
- 前25天有涨停
- 10天内涨停天数大于2
选股逻辑分析
该策略通过筛选均线重合的股票来寻找股票的走势较为平缓的股票,这有助于判断股票的上涨趋势。同时,前25天有涨停的条件可以筛选出股票的活跃度较高,而10天内涨停天数大于2的条件则可以筛选出股票的短期上涨趋势较为明显。
然而,该策略并没有考虑股票的基本面因素,因此可能会忽略一些具有长期上涨潜力的股票。
有何风险?
该策略的风险主要在于,它可能会忽略一些基本面因素,导致选出的股票并不具备长期上涨潜力。此外,如果市场出现较大的波动,该策略选出的股票可能会受到较大的影响。
如何优化?
为了优化该策略,可以考虑加入一些基本面因素的筛选条件,例如市盈率、市净率等。此外,可以考虑使用更长的时间周期来筛选股票,以更好地判断股票的长期上涨趋势。
最终的选股逻辑
最终的选股逻辑如下:
def select_stock():
# 筛选出至少5根均线重合的股票
stocks = get_stocks_with_five_crossing_moments()
# 筛选出前25天有涨停的股票
stocks = stocks[stocks['streak'] > 25]
# 筛选出10天内涨停天数大于2的股票
stocks = stocks[stocks['streak'] > 10]
# 筛选出基本面良好的股票
stocks = stocks[stocks['pe'] < 20]
stocks = stocks[stocks['pb'] < 2]
return stocks
python代码参考
def get_stocks_with_five_crossing_moments():
# 获取所有股票的收盘价和收盘时间
stock_prices = get_stock_prices()
# 计算股票的收盘价移动平均线
moving_averages = calculate_moving_averages(stock_prices)
# 筛选出至少5根均线重合的股票
stocks = []
for i in range(len(moving_averages)):
if moving_averages[i] > moving_averages[i-1] and moving_averages[i] > moving_averages[i-2] and moving_averages[i] > moving_averages[i-3] and moving_averages[i] > moving_averages[i-4]:
stocks.append(stock_prices[i])
return stocks
def calculate_moving_averages(prices):
# 计算股票的收盘价移动平均线
moving_averages = []
for i in range(len(prices)):
moving_average = sum(prices[:i+1]) / i
moving_averages.append(moving_average)
return moving_averages
def get_stock_prices():
# 获取所有股票的收盘价和收盘时间
stock_prices = []
for symbol in get_stock_symbols():
prices = get_stock_prices_for_symbol(symbol)
stock_prices.append(prices)
return stock_prices
def get_stock_prices_for_symbol(symbol):
# 获取指定股票的收盘价和收盘时间
# ...
return prices
def get_stock_symbols():
# 获取所有股票的代码
# ...
return symbols
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


