问财量化选股策略逻辑
选股条件为:振幅大于1、机构抄底、竞价时涨跌幅买入大单,特大单共计买入量大于0.7千万。选出符合条件的个股进行投资。
选股逻辑分析
该选股策略同样是基于三个条件进行选股,振幅大于1说明股票波动较大,机构抄底则说明机构看好股票的价值,而竞价时涨跌幅买入大单,特大单共计买入量大于0.7千万则说明有大机构对该股票的看点,从而进一步判断该股票未来的走势。这三个条件相互结合,能筛选出处于上涨趋势中、被机构看好的优质股票,是一种技术面和基本面相结合的量化选股策略。
有何风险?
该选股策略同样没有考虑到公司的基本面、估值水平等其他重要因素,而且大单和特大单的买入动作不能完全说明股票的价值,还存在一定的盲目性和风险。同时,如果投资者的操作不恰当,会产生很大的交易风险,因为大手笔买入或卖出它人的交易行为会导致价格异常波动和业绩变差等风险。
如何优化?
可以加入更多指标,如动态市盈率、市净率等指标,以多维度进行评估股票的价值和潜在风险;同时,也可以参考其他量化模型进行选股,以提高策略的精度。
最终的选股逻辑
选股条件为:振幅大于1(SYNJZ('AMO',1) > 1)、机构抄底(ABS(ORG_DIFF_VOL_TO-ORG_DIFF_VOL_YESTERDAY) > 0)、竞价时涨跌幅买入大单(除权后收盘价-昨日收盘价<0)和特大单共计买入量大于0.7千万(BSV>7000)。选出符合条件的股票进行投资。
同花顺指标公式代码参考
振幅大于1:SYNJZ('AMO',1) > 1
;
机构抄底:ABS(ORG_DIFF_VOL_TO-ORG_DIFF_VOL_YESTERDAY) > 0
;
竞价时涨跌幅买入大单:除权后收盘价-昨日收盘价<0
;
特大单共计买入量大于0.7千万:BSV>7000
。
符合全部条件的选股公式:SYNJZ('AMO',1) > 1 AND ABS(ORG_DIFF_VOL_TO-ORG_DIFF_VOL_YESTERDAY) > 0 AND 除权后收盘价-昨日收盘价<0 AND BSV>7000
。
Python代码参考
import tushare as ts
def get_selected_stocks():
# 振幅大于1
condition1 = SYNJZ('AMO',1) > 1
# 机构抄底
org_data = ts.get_hist_data('600519', '20210901', '20211001')
org_data['ORG_DIFF_VOL_TO'] = org_data['turnover'] - org_data['volume']
org_data['ORG_DIFF_VOL_YESTERDAY'] = org_data['ORG_DIFF_VOL_TO'].shift(1)
condition2 = abs(org_data['ORG_DIFF_VOL_TO'] - org_data['ORG_DIFF_VOL_YESTERDAY']) > 0
# 竞价时涨跌幅买入大单
stock_data = ts.get_today_all()
stock_data['pre_close'] = ts.get_realtime_quotes(stock_data['code'])['pre_close'].astype(float)
stock_data['price'] = ts.get_realtime_quotes(stock_data['code'])['price'].astype(float)
stock_data['涨跌幅'] = (stock_data['price'] - stock_data['pre_close'])/stock_data['pre_close']
condition3 = stock_data['涨跌幅'] < 0
# 特大单共计买入量大于0.7千万
bsv_data = ts.get_sina_dd('600519', '2022-02-20', vol=700000)
bsv_data['BSV'] = bsv_data['volume'] * bsv_data['price']
condition4 = bsv_data['BSV'].sum() > 7000000
# 选取符合条件的股票
selected_data = stock_data[condition1 & condition2 & condition3 & condition4].index.tolist()
return selected_data
result = get_selected_stocks()
print(result)
注:以上代码仅供参考,实际选股可结合具体情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
