问财量化选股策略逻辑
选股条件为:振幅大于1、机构抄底、涨跌幅乘以超大单净量大于一定值的股票。
选股逻辑分析
该选股策略同样结合了技术分析和基本面分析两方面,振幅大于1说明该股票波动较大,机构抄底表示该股票受到机构投资者的看好,同时考虑了股票的走势情况,涨跌幅乘以超大单净量大于一定值则说明当日的交易量较大,市场参与度较高。
有何风险?
该选股策略同样风险较高,由于仅考虑了短期走势和交易量,容易造成未来增长性不佳的情况,同时操作风险较大,需要控制交易量和止损。
如何优化?
可以加入更全面的中长期技术指标、基本面指标和其他宏观数据进行综合分析,同时需要注重风险控制和分散化投资,验证该股票的长期投资价值。
最终的选股逻辑
选股条件为:振幅大于1(15日内振幅最大值大于1)、机构抄底(15日内机构参与度超过25%)、(涨跌幅×超大单净量)之和大于500万股的主板股票。
同花顺指标公式代码参考
振幅大于1:SYNJZ('AMO', 0) > 1;
机构参与度:ORG_PARTICIPATE_RATE > 25;
涨跌幅:(CLOSE-REF(CLOSE,1))/REF(CLOSE,1);
超大单净量:VOL/AVG(VOL,30) > 2;
主板股票:market='主板';
python代码参考
import tushare as ts
def get_selected_stocks():
def close_net_vol(df):
p_change = (df['close'] - df['pre_close']) / df['pre_close'] # 计算涨跌幅
net_vol = (df['vol'] - df['vol'].rolling(window=30).mean()) / df['vol'].rolling(window=30).mean() # 计算超大单净量
return (p_change * net_vol).sum() # 计算涨跌幅和超大单净量的乘积之和
condition1 = SYNJZ('AMO', 0) > 1 # 振幅大于1
condition2 = ORG_PARTICIPATE_RATE > 25 # 15日机构参与度超过25%
stock_list = ts.get_stock_basics().index.values # 获取所有可交易的股票代码
stock_data = ts.get_realtime_quotes(stock_list.tolist()) # 获取实时行情数据
selected_data = stock_data[stock_data['name'].str.contains('主板') & condition1 & condition2] # 选择主板股票且满足其他条件的股票
selected_data['p_change_net_vol'] = selected_data.groupby('code').apply(close_net_vol) # 按股票代码分组计算涨跌幅乘以超大单净量之和
selected_stocks = selected_data[selected_data['p_change_net_vol']>5000000]['code'].values # 筛选乘积之和大于500万股的股票
return selected_stocks
result = get_selected_stocks()
print(result)
注:以上代码仅供参考,实际选股可结合具体情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
