问财量化选股策略逻辑
选股逻辑为:振幅大于1、9点25分涨幅小于6%、今日上涨幅度大于1%且为主板,选择符合条件的股票作为选股对象。该选股策略主要关注股票的短期波动性和股票市场情况,旨在挖掘短期有上涨趋势和波动性大的个股,做短线投资。
选股逻辑分析
该选股逻辑注重在基于技术面和市场情况的筛选,通过振幅和9点25分涨幅的限制来筛选市场抖动较大的股票,通过今日的实时上涨幅度来选择有上涨趋势的股票。同时,对主板股票的规定加以限制,则优选在市场竞争较大的机会,震荡较少的主板股票。这种选择方法符合短期投资的逻辑。
有何风险?
该选股策略存在较大的风险,主要是对市场变动缺乏有效的容忍性,在市场行情瞬息万变的情况下,容易跟不上市场变动和失去良机。数量上过于依赖一时观察到的数据,缺乏实时有效的分析和挖掘。同时,振幅和涨幅的考虑可能导致选股结果过于激进,出现的风险也更高。
如何优化?
对于选股策略的优化,可以引入更多基于公司基本面的因素进行选股,来筛选出真正有成长性的股票。同时,需要加强对市场环境、行业变化的分析,引入一些市场情绪因素,进行有效判断,来提高选股策略的稳健性和准确性。
最终的选股逻辑
选股逻辑为:振幅大于1、9点25分涨幅小于6%、今日实时上涨幅度大于1%且为主板,以技术面和市场环境为主选择有短线投资机会的股票作为选股对象。该选股策略注重股票的短期波动性和市场情况的筛选,不断调整选股组合,寻找短期投资机会。
同花顺指标公式代码参考
FZ_RANGE > 1 AND LAST/LAST[1]-1<=0.06 AND LAST/LAST[60]-1>0.01 AND INDUSTRY == "主板"
其中FZ_RANGE表示振幅的大小,LAST表示当天的收盘价,LAST[1]表示前一天的收盘价,LAST[60]表示60天前的收盘价,INDUSTRY表示该股票所属的行业。通过以上指标查找符合条件的股票。
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
# 今日实时上涨幅度大于1%
current_price = pro.realtime_quotes(ts_code=ts_code[0]).iloc[0]['price']
last_close = pro.daily(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=1)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,close', freq='1D')['close'].values[0]
if (current_price / last_close - 1) * 100 < 1:
continue
# 判断是否为主板股票
if ts_code[1] != '主板':
continue
selected_stocks.append(ts_code[0])
return selected_stocks
在Python代码中,同样使用tushare库获取股票数据,进而筛选符合条件的股票。通过振幅、涨幅和股票市场情况等判断个股波动性情况和市场状况,根据以上指标寻找有投资价值的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
