问财量化选股策略逻辑
选股逻辑为:振幅大于1、9点25分涨幅小于6%、涨跌幅乘以超大单净量作为综合指标,选择指标大于0的股票作为选股对象。该选股策略综合考虑股票的波动性和成交情况,旨在挖掘有潜力的个股,做短线投资。
选股逻辑分析
该选股逻辑在振幅和9点25分涨幅的限制基础上,加入了成交量的考量,挖掘波动性大、成交量大的股票,选股对象更具有短期的上涨潜力。综合使用涨跌幅和超大单净量计算综合指标,对股票的走势进行多方面的考量,并逐步筛选优质股票。该逻辑准确捕捉股票的特点和市场情况,为投资提供有效的参考。
有何风险?
该选股策略仍然存在较大的风险,主要表现在对市场情况的适应性不足,可能在市场变动时失去优势,同时过多依赖指标的运算结果,相对准确性较低。同时,在超大单净量和涨跌幅指标的运用中,数据的选择及运算方法可能存在风险,需要更多的研究和考虑。
如何优化?
对于该选股策略,需要引入更多基于公司基本面的因素进行选股,并加强对市场变动的分析,增加选股策略的可靠性和稳健性。同时,在指标运算时,需要根据实际情况进行调整和优化,考虑其他指标的加入,使选股策略更符合实际投资情况。
最终的选股逻辑
选股逻辑为:振幅大于1、9点25分涨幅小于6%、以涨跌幅×超大单净量作为综合指标,选择指标大于0的股票作为选股对象。该选股策略注重股票的波动性和成交情况等综合指标的考量,综合财务和市场法则,寻找有短期投资价值的个股。
同花顺指标公式代码参考
FZ_RANGE > 1 AND LAST/LAST[1]-1<=0.06 AND (LAST/LAST[1]-1)*((BIGAB_RATIO-10)/10000)>0
其中FZ_RANGE表示振幅的大小,LAST表示当天的收盘价,LAST[1]表示前一天的收盘价,BIGAB_RATIO表示超大单净量占总成交量的比例。通过以上指标查找符合条件的股票。
Python代码参考
import tushare as ts
from datetime import datetime, timedelta
def get_selected_stocks():
pro = ts.pro_api()
selected_stocks = []
for ts_code in pro.stock_basic(exchange='', list_status='L', fields='ts_code,industry').values.tolist():
# 振幅大于1
k_data = pro.daily(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=30)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,high,low')
highest_price = k_data['high'][0]
lowest_price = k_data['low'][0]
for idx, k in k_data.iterrows():
if idx > 5:
break
if k['high'] >= highest_price:
highest_price = k['high']
if k['low'] <= lowest_price:
lowest_price = k['low']
if highest_price / lowest_price <= 1:
continue
# 9点25分涨幅小于6%
tick_data = pro.tick(ts_code=ts_code[0], date=datetime.now().strftime('%Y%m%d'))
current_price = tick_data[tick_data['time'] == '09:25:00']['price'].values[0]
pre_close = pro.daily(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=6)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,close', freq='1D').iloc[1]['close']
if current_price / pre_close >= 1.06:
continue
# 涨跌幅*超大单净量
k_data = pro.daily(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=6)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,close,pct_chg')
vol_data = pro.moneyflow(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=6)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,big_net_amount')
if len(k_data) == 0 or len(vol_data) == 0:
continue
select_data = k_data.merge(vol_data, on='trade_date')
select_data['multi'] = select_data['pct_chg'] * (select_data['big_net_amount'] / select_data['vol'] - 10) / 10000
if select_data[select_data['multi'] > 0].empty:
continue
# 判断是否为主板股票
if ts_code[1] != '主板':
continue
selected_stocks.append(ts_code[0])
return selected_stocks
在Python代码中,同样使用tushare库获取股票数据,进而筛选符合条件的股票。通过振幅、涨幅和超大单净量等综合指标来判断个股的波动性和成交情况,并逐步筛选储备有短期投资价值的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
