问财量化选股策略逻辑
选股逻辑:振幅大于1,今日控盘>21,昨日股价大于250日均线。
选股逻辑分析
该选股策略主要考虑了技术面和资金面的指标。其中振幅和均线是技术面指标,可以反映出股票的波动性和走势趋势;控盘指标则反映了市场资金的情况及资金的流动方向。集各项指标之长,能筛选出相对稳定且有较大上涨潜力的股票。
有何风险?
该选股策略的主要风险来自于市场行情和资金变动等非技术指标,另外,由于选中的股票在经济和市场因素的影响下,指标的状态容易受到短期干扰或变化,从而影响筛选效果和投资收益。
如何优化?
为了降低风险并提高策略精度,我们可以考虑以下优化措施:
- 加入其他技术指标,例如 MACD、RSI、KDJ 等,提高策略的全面性和鲁棒性;
- 结合当前市场和行业情况,选择不同的筛选条件,及时调整并优化组合策略,追求更优的投资收益。
最终的选股逻辑
综合考虑风险和优化需求,我们将选股逻辑增加短期均线,具体选股逻辑为:
- 振幅大于1;
- 今日控盘大于21;
- 昨日股价大于250日均线;
- 股票价格在30日均线之上。
同花顺指标公式代码参考
以下是同花顺实现此策略的部分指标公式代码:
C1 = AMP() > 1;
C2 = ABS(CONTROLLING_SHARES_DAY_CHG()) > 21;
C3 = REF(CLOSE(), 1) > MA(CLOSE(), 250);
C4 = CLOSE() > MA(CLOSE(), 30);
SELECTOR = C1 AND C2 AND C3 AND C4;
RESULT = REF(SORT(RANK(SELECTOR), 1), 0) == 0;
python代码参考
以下是Python实现此策略的部分代码:
def select_stocks():
selected_stocks = []
for stock in get_all_stocks():
c1 = get_price(stock, end_date=datetime.now(), frequency='1d', fields='amplitude')[-1] > 0.01
c2 = abs(get_controlling_shareholders(stock, end_date=datetime.now(), frequency='1d')['controlling_shareholders_day_pct_change'][-1]) > 0.21
c3 = get_price(stock, end_date=datetime.now() - timedelta(days=1), frequency='1d', fields='close')[-1] > get_ma(stock, end_date=datetime.now() - timedelta(days=1), frequency='1d', timeperiod=250)['ma'][-1]
c4 = get_price(stock, end_date=datetime.now(), frequency='1d', fields='close')[-1] > get_ma(stock, end_date=datetime.now(), frequency='1d', timeperiod=30)['ma'][-1]
if c1 and c2 and c3 and c4:
selected_stocks.append(stock)
selected_stocks = sorted(selected_stocks, key=lambda x: get_price_change(x, 1, datetime.now(), frequency='1d'), reverse=True)
return selected_stocks
result = select_stocks()
print(result)
以上Python代码仅供参考,具体实现还需要根据自己的需求调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
