问财量化选股策略逻辑
选股逻辑为:振幅大于1、9点25分涨幅小于6%、买一量大于卖一量,选择符合条件的股票作为选股对象。该选股策略侧重于选取有较大涨幅潜力的股票。
选股逻辑分析
买一量大于卖一量是这个选股逻辑与之前的不同之处,该指标主要衡量资金流入情况,当买一量大于卖一量时,表明有更多资金流入该股票,有可能是投资者看好该股票的未来走势,且存在下半年信心增强带来的“开门红”效应,因此具有投资价值。不过,该指标缺少了一定的量化依据,存在选股效果可能不太理想的风险。
有何风险?
该选股逻辑主要关注短期资金流入情况,并忽略了股票的基本面因素,如公司业绩、营收、利润等,存在选股效果不理想的风险。同时,买一量大于卖一量的情况可能是临时现象,对短期涨幅的预测性不足。
如何优化?
可以加入其他指标,如市盈率、股价涨跌幅等量化指标,更全面地衡量股票的投资价值。同时,可以将买一量大于卖一量视为辅助指标,须结合其他指标一起使用,提高选股策略的稳定性和精准性,进一步筛选符合条件的股票。
最终的选股逻辑
选股逻辑为:振幅大于1、9点25分涨幅小于6%、买一量大于卖一量,选择有涨幅潜力的股票作为选股对象。该选股策略侧重于资金的流入情况,通过挖掘这类股票,有可能发现潜力较大的企业。
同花顺指标公式代码参考
FZ_RANGE > 1 AND LAST<=LAST[1]*1.06 AND BUY1_VOL > SELL1_VOL
其中FZ_RANGE表示振幅的大小,LAST表示当天的收盘价,LAST[1]表示前一天的收盘价,BUY1_VOL和SELL1_VOL是买一量和卖一量。通过以上指标查找符合条件的股票。
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').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
# 买一量大于卖一量
bid_ask_data = pro.query('stock_basic', exchange='', fields='ts_code,buy_lots,sell_lots')
bid_ask_data['buy_lots'] = bid_ask_data['buy_lots'].apply(lambda x: int(x/100))
bid_ask_data['sell_lots'] = bid_ask_data['sell_lots'].apply(lambda x: int(x/100))
if bid_ask_data[bid_ask_data['ts_code'] == ts_code[0]]['buy_lots'].values[0] <= bid_ask_data[bid_ask_data['ts_code'] == ts_code[0]]['sell_lots'].values[0]:
continue
selected_stocks.append(ts_code[0])
return selected_stocks
在Python代码中,同样使用tushare库获取股票数据,进而筛选符合条件的股票。通过振幅、涨幅、买一量和卖一量等判断个股波动性情况、短期走势和资金流入情况,根据以上指标寻找有涨幅潜力的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
