问财量化选股策略逻辑
选股逻辑为:振幅大于1、剔除昨日涨停、今日均线向上发散。该选股策略旨在挑选出波动较大、且持续性强的股票。
选股逻辑分析
该选股逻辑主要从技术面指标入手,分析股票的价格波动情况和趋势情况,以期望挑选出持续性强的股票。
其中,振幅大于1和剔除昨日涨停用于筛选出股价波动较大的标的股票,今日均线向上发散用于判断当前股价趋势是否有延续性。
有何风险?
以下是该选股逻辑可能存在的风险:
-
过于追求短期涨幅,忽视标的股票的基本面数据如市盈率、市净率等重要指标,可能带来买入高位的风险。
-
过于依赖技术面指标,使得选出的标的股票可能存在短期波动较大的风险。
如何优化?
以下是对该选股逻辑的优化建议:
-
综合考虑技术面和基本面数据进行选股,以全面评估标的股票的价值、风险和长期成长性,并采取更有效的量化模型对股票进行选股和权重调整。
-
除了均线向上发散指标,还应该多考虑其他趋势指标如RSI、MACD等,以及量能指标如OBV等,进行多维度分析。
最终权益选股逻辑
选股策略为:振幅大于1、剔除昨日涨停、均线向上发散、综合考虑技术面和基本面数据,筛选出符合条件的标的股票,以期望在一定的风险控制下获取较高的回报。
同花顺指标公式代码参考
通达信指标公式:
C>MA(C,60) AND NOT(LIMIT) AND AMO>1 AND CROSS(MA(C,5),MA(C,10))
python代码参考
from gm.api import *
set_token('your_token_here')
# 设置回测起点和终点
start_date = '2017-01-01'
end_date = '2022-01-01'
# 获取候选非ST股票列表
symbols = get_symbols(exchanges=['SHSE', 'SZSE'], sec_types=['STOCK'], fields=['symbol'])
symbols_selected = []
for symbol in symbols:
if (AMO > 1) and (not LIMIT) and (LOT_SIZE > 0) and (LAST_CLOSE < YESTERDAY_MAX_FLOAT_PRICE) and (LAST_CLOSE > YESTERDAY_MAX_FLOAT_PRICE * 0.9):
# 判断标的股票是否符合要求
if (pe_ratio > 0) and (net_profit > 0) and (eps > 0) and CROSS(MA(C,5),MA(C,10)):
df = history(symbol=symbol, frequency='1d', start_time=start_date, end_time=end_date, fields='high,low')
stop_high = df['high'][df['high'].pct_change(1) > 0.09]
if len(stop_high) >= 1:
symbols_selected.append(symbol)
# 统计周线MACD指标值
for symbol in symbols_selected:
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]):
order_target_percent(symbol=symbol, percent=0.1, side=OrderSide_Buy, order_type=OrderType_Market, position_effect=PositionEffect_Open)
上述代码为选股逻辑为振幅大于1、剔除昨日涨停、今日均线向上发散、综合考虑技术面和基本面数据,筛选出符合条件的标的股票,以期望在一定的风险控制下获取较高的回报。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
