问财量化选股策略逻辑
选股逻辑为:振幅大于1、9点25分涨幅小于6%、昨日9:15匹配价跌停。该选股策略结合了股票的技术面和市场情绪等因素,可以更好地反映当前市场的短期变化和风险情况等因素。
选股逻辑分析
该选股逻辑主要考虑了股票的技术面和市场情绪等因素,主要采用了振幅、涨跌幅和价格跌停等指标筛选符合条件的股票。此外,该方法还对市场风险进行了一定程度的考虑,有助于避免投资者盲目跟风和加仓等风险行为。
有何风险?
该选股逻辑在某些情况下容易受到市场情绪的影响,可能存在跟风选股等风险行为。尤其是在短线交易中,由于市场行情的时时变化,可能导致选股逻辑的失效和不稳定性。
如何优化?
可以结合其他基本面和技术面等因素进行综合分析,避免单一因素的过度依赖和误导。在技术面的判断上,可以引入均线、量价关系、趋势线等指标进行综合评估,避免仅依赖单一指标导致选股逻辑失效。此外,还可以增加一定的交易规则和止损机制,避免投资者盲目跟风和过度加仓等风险行为。
最终的选股逻辑
选股逻辑为:振幅大于1、9点25分涨幅小于6%、昨日9:15匹配价跌停,加入选股池。然后再按照基本面和技术面等其他因素进行筛选,得到最终的选股池。
同花顺指标公式代码参考
FZ_RANGE > 1 AND LAST/LAST[1]-1 <= 0.06 AND YEST_HIGH == YEST_LOW AND LAST[1] == YEST_HIGH * 0.9
其中,FZ_RANGE
表示股票振幅,LAST
表示当日的收盘价,YEST_HIGH
和YEST_LOW
分别表示昨日的最高价和最低价。如果符合筛选条件,则将该股票加入选股池。
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
# 昨日9:15匹配价跌停
pre_tick_data = pro.tick(ts_code=ts_code[0], date=(datetime.now()-timedelta(days=1)).strftime('%Y%m%d'), fields='time,price')
if pre_tick_data[pre_tick_data['time'] == '09:15:00']['price'].values[0] * 0.9 != pre_tick_data['price'].max():
continue
# 判断是否为主板股票
if ts_code[1] != '主板':
continue
selected_stocks.append(ts_code[0])
# 基本面和技术面等其他因素进行筛选
selected_stocks_final = []
for ts_code in selected_stocks:
# 筛选规则...
# ...
selected_stocks_final.append(ts_code)
if len(selected_stocks_final) >= 5:
break
return selected_stocks_final
以上Python代码主要运用了tushare库中的数据获取函数和pandas模块中的处理函数等,以选股逻辑为基础,增加了对基本面和技术面等其他因素的筛选和判断,实现了股票的多维度综合评估,提高了选股策略的实用性和稳健性。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
