问财量化选股策略逻辑
选取振幅大于1、开盘价在十日线左右、日线MACD值大于0的股票为投资组合。
选股逻辑分析
- 振幅大于1表明该股票有较大的波动,提供高回报的机会;
- 开盘价在十日线左右符合价值投资选股的基本逻辑;
- 日线MACD值大于0说明该股票处于多头状态,具有上涨的动力;
- 综合上述因素可以筛选出具有短期投资机会的标的。
有何风险?
- 该策略采用短期技术指标进行选股,容易受市场情绪和羊群效应的影响,需要适当控制投资风险和交易频率;
- 该策略在选股时较为简单,需要结合其他技术指标和基本面分析,提高选股策略的可靠性和有效性;
- 日线MACD值的选择容易受到选取时间和调整参数的影响,需要进行调整和优化。
如何优化?
- 可进一步结合其他技术指标如KDJ、RSI等,提供更全面和深入的技术分析;
- 根据实际需求和风险承担能力,适当调整选股策略,控制投资风险和交易频率;
- 日线MACD值的选择可以根据历史数据进行回测和优化,找到最适合该策略的参数。
最终的选股逻辑
选取振幅大于1、开盘价在十日线左右、日线MACD值大于0的股票为投资组合。
同花顺指标公式代码参考
//第一步,振幅大于1
COND1:=(HIGH-LOW)/LOW>0.01;
//第二步,开盘价在十日线左右
MA10:MA(CLOSE,10);
COND2:=(OPEN>MA10*0.98) AND (OPEN<MA10*1.02);
//第三步,日线MACD值大于0
COND3:=REF(MACD(12,26,9),1)>0;
//综合条件
CONDITION:=COND1 AND COND2 AND COND3;
SIGNAL:CHECKCOND(CONDITION,1);
python代码参考
import pandas as pd
import numpy as np
import talib
def select(df):
# 振幅、10日均线
cond1 = (df['high'] - df['low']) / df['low'] > 0.01
ma10 = df['close'].rolling(window=10).mean()
cond2 = (df['open'] > ma10 * 0.98) & (df['open'] < ma10 * 1.02)
# 日线MACD值大于0
macd, signal, _ = talib.MACD(df['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
cond3 = macd[-1] > 0 and signal[-1] > 0
basic_cond = cond1 & cond2 & cond3
df = df.loc[basic_cond].reset_index()
return df
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
