问财量化选股策略逻辑
选股逻辑为:振幅大于1,剔除昨日涨停,换手率>2%且<9%。该选股策略旨在从振幅较大、未出现涨停、交易活跃的股票中,找出有较好上涨潜力的品种。
选股逻辑分析
选股策略主要基于技术面指标进行选股,综合考察了振幅指标、换手率等因素。振幅指标能够从价格波动角度反映市场情绪,比较适用于短线选股。同时,限制换手率的上下限能够剔除过于活跃或者过于萎靡的股票。
有何风险?
以下是该选股逻辑可能存在的风险:
-
只基于单一指标进行选股,忽略了其它与股票上涨潜力相关的因素,如基本面、行业趋势等,因此需要全面权衡来寻找合适的股票。
-
剔除昨日涨停的限制可能会错过一些暴涨的股票,导致错失一些短期交易机会。
-
前一日跌停且换手率较低的股票,可能暴涨后会出现过度抛售的情况,从而存在较大回撤风险。
如何优化?
以下是对该选股逻辑的优化建议:
-
考虑引入基本面指标,如PE、市净率等进行排除和排序,保证股票市值合理。
-
加入股票行情的趋势分析,避免买入行情下跌的股票。
-
开发量化指标,将选股基于单一技术指标的局限性转化为全面综合的选股策略。
最终权益选股逻辑
选股策略为:振幅大于1,剔除昨日涨停,换手率>2%且<9%,市值从小到大排序。增加行情趋势分析,以进一步筛选出具备长期上涨潜力的优质品种。
同花顺指标公式代码参考
通达信指标公式:
(MINUS(DAYLOW,REF(DAYCLOSE,1)))/REF(DAYCLOSE,1) > 0.01 AND NOT(LIMIT) AND (TO/DAYVOL > 0.02 AND TO/DAYVOL < 0.09)
python代码参考
from gm.api import *
set_token('your_token_here')
# 设置回测起点和终点
start_date = '2019-01-01'
end_date = '2022-01-01'
symbols_selected = []
for symbol in symbols:
df = history(symbol=symbol, frequency='1d', start_time=start_date, end_time=end_date, fields='open,close,high,low,volume')
# 判断标的股票是否符合要求
if ((df['high'].iloc[-1] - df['low'].iloc[-1]) / df['close'].iloc[-1] > 0.01) and (not LIMIT) and (df['turnover_rate'].iloc[-1] > 0.02) and (df['turnover_rate'].iloc[-1] < 0.09):
symbols_selected.append(symbol.replace('XSHE', 'SZSE'))
# 按市值从小到大排序股票
symbols_selected.sort(key=lambda x: quote(valid_symbols=x, fields='c_market_cap'))
# 统计周线MACD指标值
for symbol in symbols_selected[:10]:
df = history(symbol=symbol, frequency='1d', start_time=start_date, end_time=end_date, fields='open,close,high,low,volume')
# 进一步判断股票的趋势是否向上
if (df['close'].iloc[-1] > df['close'].iloc[-60]) and (df['low'].iloc[-1] > df['low'].iloc[-2]) and (df['low'].iloc[-1] > df['low'].iloc[-4]):
order_target_percent(symbol=symbol, percent=0.1, side=OrderSide_Buy, order_type=OrderType_Market, position_effect=PositionEffect_Open)
以上代码为选股逻辑为振幅大于1,剔除昨日涨停,换手率>2%且<9%,市值从小到大排序。增加了判断趋势的程序来进一步排除下跌趋势的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
