问财量化选股策略逻辑
- 至少5根均线重合的股票
- 9点25分涨幅小于6%
- 换手率>2%且<9%
选股逻辑分析
- 这个策略首先筛选出至少5根均线重合的股票,这可能意味着这些股票在短期内处于横盘整理阶段,或者正在形成一个重要的支撑或阻力位。
- 然后,策略筛选出在9点25分涨幅小于6%的股票,这可能意味着这些股票的价格在开盘后表现不佳,但还没有达到极端的程度。
- 最后,策略筛选出换手率>2%且<9%的股票,这可能意味着这些股票的交易活跃度适中,避免了过度交易或僵尸股的情况。
有何风险?
- 这个策略可能无法准确预测股票的未来表现,因为均线交叉和涨幅限制并不是股票价格走势的唯一因素。
- 如果市场整体表现不佳,这个策略可能会选择一些表现相对较差的股票。
- 如果换手率过高,可能意味着这个股票存在异常交易行为,需要进一步调查。
如何优化?
- 可以考虑加入更多的筛选条件,例如市盈率、市净率等,以更准确地预测股票的未来表现。
- 可以尝试使用不同的时间段来筛选涨幅和换手率,例如选择9点30分的涨幅和换手率限制,以更好地反映市场动态。
- 可以考虑加入技术指标,例如MACD、布林线等,以更准确地预测股票的走势。
最终的选股逻辑
- 筛选出至少5根均线重合的股票
- 筛选出在9点25分涨幅小于6%的股票
- 筛选出换手率>2%且<9%的股票
- 加入市盈率、市净率等筛选条件
- 选择9点30分的涨幅和换手率限制
- 加入技术指标,例如MACD、布林线等
python代码参考
import tushare as ts
# 设置pro接口token
ts.set_token('your_token')
# 初始化pro接口
pro = ts.pro_api()
# 获取所有股票的代码
all_codes = pro.stock_codes()
# 筛选出至少5根均线重合的股票
codes = []
for code in all_codes:
df = pro.daily(ts_code=code, start_date='2021-01-01', end_date='2021-12-31')
if df['close'].rolling(window=5).count() >= 5:
codes.append(code)
# 筛选出在9点25分涨幅小于6%的股票
codes = []
for code in codes:
df = pro.daily(ts_code=code, start_date='2021-01-01', end_date='2021-12-31')
df['open'] = df['open'].shift(-1)
df['close'] = df['close'].shift(-1)
df['pre_close'] = df['pre_close'].shift(-1)
df['diff'] = df['close'] - df['pre_close']
df = df[df['diff'] < 0.06]
codes.extend(df['ts_code'].tolist())
# 筛选出换手率>2%且<9%的股票
codes = []
for code in codes:
df = pro.daily(ts_code=code, start_date='2021-01-01', end_date='2021-12-31')
df['vol'] = df['vol'].rolling(window=60).sum()
df = df[df['vol'] > 2]
df = df[df['vol'] < 9]
codes.extend(df['ts_code'].tolist())
# 输出筛选出的股票代码
print(codes)
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


