问财量化选股策略逻辑
- 至少5根均线重合的股票
- 60开头的股票
- 竞价涨幅>-2<5
选股逻辑分析
- 第一条均线是5日均线,表示最近5天的平均价格。
- 第二条均线是10日均线,表示最近10天的平均价格。
- 第三条均线是20日均线,表示最近20天的平均价格。
- 第四条均线是30日均线,表示最近30天的平均价格。
- 第五条均线是60日均线,表示最近60天的平均价格。
当至少5根均线重合时,意味着这些均线在短期内趋向一致,这通常是一个买入信号。而60开头的股票,通常代表该股票已经运行了一段时间,具有一定的稳定性。最后,竞价涨幅>-2<5表示股票在竞价阶段的涨幅应该在-2%到5%之间,这通常是一个买入信号。
有何风险?
- 如果股票在短期内涨幅过大,可能会导致投资者追高买入,从而承担更高的风险。
- 如果股票长期处于下降趋势,即使均线重合,也可能无法反转。
如何优化?
- 可以考虑加入更多均线,例如90日均线、120日均线等,以更好地反映股票的长期趋势。
- 可以加入成交量等指标,以更好地判断股票的买卖情况。
最终的选股逻辑
- 选取至少5根均线重合的股票
- 选取60开头的股票
- 确定股票在竞价阶段的涨幅在-2%到5%之间
- 可以加入更多均线和成交量等指标进行优化
以下是python代码参考:
import tushare as ts
# 初始化pro接口
pro = ts.pro_api()
# 获取所有A股股票的代码
stock_codes = pro.stock_codes()
# 选取至少5根均线重合的股票
def has_consecutive_moving_average(stocks):
moving_averages = []
for stock_code in stocks:
stock = pro.stock_info(stock_code)
moving_average = stock['ma']
moving_averages.append(moving_average)
return len(moving_averages) >= 5 and len(set(moving_averages)) == len(moving_averages)
# 选取60开头的股票
def has_60_code(stocks):
return all(code.startswith('60') for code in stocks)
# 确定股票在竞价阶段的涨幅在-2%到5%之间
def has_valid_bid_ask_price(stocks):
for stock_code in stocks:
stock = pro.stock_info(stock_code)
bid_price = stock['bids'][0]['price']
ask_price = stock['asks'][0]['price']
if bid_price > ask_price:
bid_price, ask_price = ask_price, bid_price
if bid_price >= stock['close'] * (1 - 0.02) or ask_price <= stock['close'] * (1 + 0.05):
return False
return True
# 选取所有符合条件的股票
def select_stocks():
stocks = []
for stock_code in stock_codes:
stock = pro.stock_info(stock_code)
if has_consecutive_moving_average(stock):
if has_60_code(stock):
if has_valid_bid_ask_price(stock):
stocks.append(stock_code)
return stocks
# 输出符合条件的股票代码
print(select_stocks())
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


