问财量化选股策略逻辑
选股逻辑为:振幅大于1、9点25分涨幅小于6%、换手率3%-12%。该选股策略综合考虑了波动性、短期涨幅和资金流向。
选股逻辑分析
该选股逻辑综合考虑了个股的波动性、短期走势和资金流向,通过筛选振幅大于1、9点25分涨幅小于6%且换手率在3%-12%的标的股,进一步判断是否存在资金的持续净流入,有助于更准确地判断买卖时机。
有何风险?
该选股逻辑存在对于个股长期趋势和基本面情况的忽略,同时,当市场情况异常时,换手率指标可能会出现一定的误判,从而对选股策略的准确性造成影响。
如何优化?
可以在结合振幅、涨幅、换手率等指标的情况下,同时引入其他指标,如RSI、OBV等技术指标,用以判断买卖时机。另外,也可以使用大数据分析等技术手段,挖掘更加全面、准确的选股指标,并结合机器学习算法对股票走势进行预测。
最终的选股逻辑
选股逻辑为:振幅大于1、9点25分涨幅小于6%、换手率3%-12%、资金流向持续净流入。该选股策略综合考虑了波动性、短期涨幅和资金流向等多方面指标,有助于更准确地判断股票的买卖时机。
同花顺指标公式代码参考
FZ_RANGE > 1 AND (LAST<=LAST[1]*1.06 OR HIGH-LAST>=HIGH*0.03) AND (STOCKTURN>3 AND STOCKTURN<12) AND (C-MIN<=0.0025*I AND C-MIN >=0.0025*40*I)
其中,FZ_RANGE表示振幅大小,LAST表示当天的收盘价,LAST[1]表示前一天的收盘价,HIGH表示当天股票的最高价。STOCKTURN表示换手率,C-MIN表示最近n天的最低价,I表示股票流通股本。通过以上指标查找符合条件的股票。
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').ts_code:
# 振幅大于1
k_data = pro.daily(ts_code=ts_code, start_date=(datetime.now()-timedelta(days=30)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,high,low,close')
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, 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, 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
# 换手率3%-12%
stock_turn_ratio = pro.daily_basic(ts_code=ts_code, start_date=datetime.now().strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,turnover_rate,fly_profit_ratio').turnover_rate.values[0]
if not (3 <= stock_turn_ratio <= 12):
continue
# 资金流向持续净流入
money_flow = pro.moneyflow(ts_code=ts_code, start_date=(datetime.now()-timedelta(days=10)).strftime('%Y%m%d'), end_date='', fields='in_amount,out_amount')
net_flow = (money_flow['in_amount'] - money_flow['out_amount']).sum()
if net_flow <= 0:
continue
selected_stocks.append(ts_code)
return selected_stocks
其中,在Python代码中,通过使用tushare库获取股票数据,进而筛选符合条件的股票。通过振幅指标判断个股波动性情况,引入当前价格和前日收盘价计算出短期涨幅,使用换手率指标判断资金流向情况。通过以上指标查找符合条件的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)