问财量化选股策略逻辑
选股逻辑:MACD零轴以上、历史高点为两日最高、盘前9点25分涨幅小于6%的股票。
选股逻辑分析
该选股策略同样以技术面为主,主要通过MACD指标和历史高点判断股票的短期趋势,同时加入盘前涨幅因素,筛选出具备较高买入信号且盘前没有大幅上涨的个股。
有何风险?
以下是该选股逻辑可能存在的一些风险:
-
起始点的时间是盘前9点25分,可能会忽略掉盘前因素对股票价格的影响。
-
纯技术面筛选可能会忽略股票的基本面因素,建议配合其他指标一起使用。
如何优化?
以下是对选股逻辑进行优化的相关建议:
-
尝试加入更多的量价指标和基本面指标进行综合筛选。
-
考虑选择更加全面的盘前涨跌幅度因素,以便更加准确地判断股票价格变化。
最终的选股逻辑
MACD零轴以上,历史高点为两日最高,9点25分涨幅小于6%。
同花顺指标公式代码参考
- 选股公式:
(CROSS(MACD(12, 26), 0) AND REF(HHV(HIGH, 2), 1) == HHV(HIGH, 2) AND (REF(OPG, 0) / REF(CLOSE, 1) - 1) * 100 < 6)
其中 (REF(OPG, 0) / REF(CLOSE, 1) - 1) * 100 < 6 表示盘前9点25分涨幅小于6%。
python代码参考
def initialize(context):
set_benchmark('000001.XSHG')
set_commission(PerTrade(buy_cost=0.0003, sell_cost=0.0003, min_cost=5))
set_slippage(PriceSlippage(0.002))
set_option('avoid_future_data', True)
def select_stock(context):
stock_list = list(get_index_stocks('000001.XSHG'))
selected = []
for stock in stock_list:
h = attribute_history(stock, 2, '1d', ('high', 'open', 'close', 'low', 'volume'), df=True)
o = attribute_history(stock, 2, '1m', ('open',), skip_paused=True, df=True)
# 选股
if (talib.CROSS(talib.MACD(h['close'], fastperiod=12, slowperiod=26, signalperiod=9), 0)[-1]
and max(h['high']) == h['high'][-2]
and (o['open'][-1] / h['close'][-2] - 1) * 100 < 6):
selected.append(stock)
selected = sorted(selected, key=get_valuation, reverse=True)
return selected
def get_valuation(stock):
pass # 计算股票的估值水平和基本面指标
注:由于通达信指标公式中没有盘前9点25分开盘价参数,因此没有给出与python代码的对应。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


