问财量化选股策略逻辑
- 至少5根均线重合的股票
- 股价为18.5元
- 竞价涨幅>-2<5
选股逻辑分析
- 这个策略的逻辑是寻找至少5根均线重合的股票,意味着这些股票的短期和长期趋势是相似的,有可能会形成一个比较稳定的平台,从而有利于股价的上涨。
- 股价为18.5元,这个条件是为了确保所选股票的价格相对较低,因为低价股票更容易受到市场关注和资金追捧。
- 竞价涨幅>-2<5,这个条件是为了筛选出在竞价阶段有较大波动的股票,这样可以增加股票的交易活跃度和潜在的投资机会。
有何风险?
- 这个策略的缺点是它可能会忽略一些具有长期上涨潜力的股票,因为这些股票可能不符合短中期均线重合的条件。
- 如果市场出现大幅波动,这个策略可能会导致一些股票被过度买入或卖出,从而增加投资风险。
如何优化?
- 可以考虑增加均线的数量,例如选择10根均线或更多,这样可以更好地捕捉股票的趋势。
- 可以考虑使用不同的时间段来计算均线,例如选择日线、周线或月线,这样可以更好地反映股票的长期趋势。
最终的选股逻辑
- 选择至少5根均线重合的股票,且股价为18.5元以下。
- 在竞价阶段,筛选出竞价涨幅大于-2且小于5的股票。
- 在满足以上条件的股票中,选择价格波动较大的股票。
python代码参考
import tushare as ts
# 初始化pro接口
pro = ts.pro_api()
# 设置token
pro.set_token('your_token')
# 初始化pro接口
pro = ts.pro_api()
# 设置token
pro.set_token('your_token')
# 获取所有股票的代码列表
stock_codes = pro.stock_basic()
# 选择至少5根均线重合的股票
def has_converged_codes(stock_codes):
codes = []
for code in stock_codes:
# 获取股票的均线数据
df = pro.stock_k_data(code=code, fields=['close'], start='2021-01-01', end='2021-12-31')
# 计算短期和长期均线的差值
diff = df['close'].rolling(window=5).mean() - df['close'].rolling(window=20).mean()
# 判断是否至少有5根均线重合
if diff.count() >= 5:
codes.append(code)
return codes
# 选择股价为18.5元以下的股票
def has_price_limit(stock_codes):
codes = []
for code in stock_codes:
# 获取股票的价格数据
df = pro.stock_k_data(code=code, fields=['close'], start='2021-01-01', end='2021-12-31')
# 判断股票的价格是否在18.5元以下
if df['close'].min() < 18.5:
codes.append(code)
return codes
# 选择在竞价阶段有较大波动的股票
def has_bargain(stock_codes):
codes = []
for code in stock_codes:
# 获取股票的竞价数据
df = pro.realtime_quotes(code=code, fields=['pre_close', 'pre_open', 'pre_high', 'pre_low', 'pre_volume'])
# 计算股票的竞价涨幅
diff = df['pre_close'] - df['pre_open']
# 判断股票的竞价涨幅是否大于-2且小于5
if diff.abs().max() > 2 and diff.abs().min() < 5:
codes.append(code)
return codes
# 合并三个筛选条件
codes = has_converged_codes(stock_codes) & has_price_limit(stock_codes) & has_bargain(stock_codes)
# 输出符合条件的股票代码列表
print(codes)
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


