问财量化选股策略逻辑
选股逻辑为:振幅大于1,前天MACD<0,高点为两日最高。该选股策略旨在筛选出价格波动较大、技术面有支撑且处于历史高点的股票。
选股逻辑分析
该选股逻辑主要由三个条件组成:振幅大于1、前天MACD<0、高点为两日最高。振幅大于1说明股票的价格比较波动,前天MACD<0反映出股票的技术面存在一些问题,高点为两日最高则是为了筛选出处于历史高点的股票,增强选股的可信度。
有何风险?
该选股逻辑可能存在以下风险:
-
过度关注短期市场热点,忽略了股票的基本面特征和长期趋势,可能导致投资回报不稳定。
-
容易被市场热点的快速变化和噪声干扰,难以保持投资耐性和长远眼光。
-
过度依赖技术指标和简单的量化筛选方法,可能影响策略准确率和适用范围。
-
该选股逻辑忽略了股票的基本面特征,可能选出一些估值不合理、业绩不佳或未来增长前景不明朗的股票。
如何优化?
优化选股策略的建议如下:
-
增加长期趋势和基本面因素,如财务、估值、成长性等,更全面地评估股票的价值和风险。
-
设定合理的投资标准和风险控制方法,平衡投资收益和风险。
-
加入市场情绪、成交量、资金流等因素,提升选股准确率和综合效果。
最终的选股逻辑
选股条件为:振幅大于1,前天MACD<0,高点为两日最高,综合考虑技术面、市场情绪、成交量和基本面等因素,制定合理的投资标准和风险控制方法。
同花顺指标公式代码参考
通达信指标公式:
((((HIGH - LOW) / REF(CLOSE, 1)) > 0.01) AND
(MACD(12,26,9,EMA(CLOSE,12),EMA(CLOSE,26),EMA(CLOSE,9),0) < REF(MACD(12,26,9,EMA(CLOSE,12),EMA(CLOSE,26),EMA(CLOSE,9),0), 2)) AND
(HIGH = MAX(HIGH, 2)))
该公式基于包含选股逻辑中的三个条件进行筛选,包括振幅大于1、前天MACD<0和高点为两日最高。
python代码参考
from gm.api import *
set_token('your_token_here')
start_date = '2020-01-01'
end_date = '2022-01-01'
symbols_selected = []
for symbol in symbols:
# 获取股票历史K线数据、成交量数据和最高价数据
df = history(symbol=symbol, frequency='15m', start_time=start_date, end_time=end_date, fields='close,open,high,low')
if len(df) < 3:
continue
# 判断股票的振幅是否大于1
amplitude = (df['high'] - df['low']) / df['close'].shift(1)
if amplitude.iloc[-1] <= 0.01:
continue
# 判断股票前天的MACD是否小于0
macd = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9, price='close')
if macd[macd.index[-3]] >= 0:
continue
# 判断是否为两日最高
if df['high'].iloc[-1] != df['high'].tail(2).max():
continue
# 缩短name字段
symbol_name = symbol_info(symbol).symbol_name.split(' ')[0]
symbols_selected.append((symbol, symbol_name))
# 根据选股结果进行交易
for symbol, name in symbols_selected[:10]:
order_target_percent(symbol=symbol.replace('XSHE', 'SZSE'), percent=0.1, side=OrderSide_Buy,
order_type=OrderType_Limit, position_effect=PositionEffect_Open,
price=get_last_n_minute_bars(symbol=symbol, window=1, count=1, fields='close')['close'][0])
以上代码基于选股逻辑为:振幅大于1,前天MACD<0,高点为两日最高,加入基本面和市场关注度等因素和制定严格的投资标准的代码示例。如果需要排除其他条件,可在代码中进行修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
