问财量化选股策略逻辑
- 今日增仓占比>5%
- 竞价涨幅>-2<5
- 高点为两日最高
选股逻辑分析
这个策略的逻辑是基于股票的成交量和价格波动来筛选股票。首先,要求股票今天的增仓比例超过5%,这意味着有较多的资金流入这只股票,可能预示着这只股票未来有上涨的潜力。其次,要求股票在竞价阶段的涨幅大于-2小于5,这意味着股票的价格在竞价阶段有明显的上涨趋势,可能预示着这只股票未来有上涨的潜力。最后,要求股票的高点为两天内的最高点,这意味着股票在短期内有较强的上涨动力。
有何风险?
这个策略的风险在于它只考虑了股票的短期价格波动和成交量,并没有考虑公司的基本面和长期盈利能力等因素。因此,如果股票的短期价格波动是因为公司业绩不佳或其他负面因素导致的,那么这个策略可能会选出一些表现不佳的股票。
如何优化?
为了优化这个策略,可以考虑加入一些基本面因素,例如公司的盈利能力、财务状况、市场份额等。这样可以更好地筛选出有长期上涨潜力的股票。
最终的选股逻辑
- 今日增仓占比>5%
- 竞价涨幅>-2<5
- 高点为两日最高
- 公司盈利能力良好
- 财务状况稳定
- 市场份额领先
python代码参考
import talib
def get_stock_data(stock_code):
# 获取股票的历史数据
data = yf.download(stock_code, start='2020-01-01', end='2021-12-31')
# 计算今日增仓占比
vwap = talib.VWAP(data['close'], timeperiod=1)
delta = data['close'].diff()
delta = delta / delta.shift(1)
delta = delta.where(delta > 0, 0)
delta = delta.where(delta < 0, 0)
today_percent = delta[-1] / vwap[-1]
# 计算竞价涨幅
open_price = data['open']
high_price = data['high']
low_price = data['low']
bid_price = open_price - (high_price - low_price) / 2
ask_price = open_price + (high_price - low_price) / 2
bid_size = data['volume']
ask_size = data['volume']
bid_volatility = ask_size / bid_price
ask_volatility = ask_size / ask_price
bid_ask_price = ask_price / bid_price
bid_ask_volatility = ask_price / bid_price
bid_ask = (bid_price + ask_price) / 2
bid_ask_change = (bid_ask - open_price) / open_price
bid_ask_change = bid_ask_change.where(bid_ask_change > 0, 0)
bid_ask_change = bid_ask_change.where(bid_ask_change < 0, 0)
bid_ask_change = bid_ask_change / 2
# 计算高点为两日内的最高点
high_two_days = data['high'].rolling(window=2).max()
# 选出符合条件的股票
stocks = data['stock_code'].where((data['close'] > high_two_days) & (today_percent > 0.05) & (bid_ask_change > -2) & (bid_ask_change < 5)).dropna()
return stocks
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


