问财量化选股策略逻辑
选股策略为:在元宇宙行业中选取开盘价在十日均线左右,同时前天的MACD指标为负值的股票。
选股逻辑分析
本策略结合了技术面和基本面,通过选取在元宇宙行业中开盘价在十日均线左右的股票,以及前天MACD指标为负值的股票,来寻找可能具备投资价值的标的。
开盘价在十日均线左右的股票说明当前趋势向上;MACD指标为负值则说明短期内股票价格下跌。综合这两个指标可以寻找到相对低估的股票。
有何风险?
本选股策略存在以下风险:
- 开盘价在十日均线左右不能完整反映股价趋势,可能会错过一些涨势较好的股票;
- 忽略了一些基本面指标,如市场评级等;
- 过于追求股票价格的相对低估,忽略了一些高估但具备投资价值的股票;
- MACD指标随价格波动而波动,可能会出现选出的股票在其他市场状态下并不具备优异的表现。
如何优化?
为提高本选股策略的准确性和多样性,可以:
- 增加基本面指标,如市场评级等;
- 加入资金流向、量价等指标,更全面地判断市场状态;
- 结合一些定量分析模型,如因子模型や神经网络模型等,进行有效性验证和调整。
最终的选股逻辑
在元宇宙行业中选取开盘价在十日均线左右,同时前天MACD指标为负值的股票。
同花顺指标公式代码参考
选出符合元宇宙行业的股票:INDUSTRY == '元宇宙';
选取开盘价在十日均线左右的股票:OPEN > MA(CLOSE, 10) * 0.95 AND OPEN < MA(CLOSE, 10) * 1.05;
前天MACD指标为负值的股票:MACD() <= 0 AND REF(MACD(), 2) <= 0;
合并选股条件:
(INDUSTRY=='元宇宙') AND \
((OPEN > MA(CLOSE, 10) * 0.95) AND (OPEN < MA(CLOSE, 10) * 1.05)) AND \
(MACD() <= 0 AND REF(MACD(), 2) <= 0);
python代码参考
import numpy as np
import pandas as pd
from typing import List
def select_stocks(data: pd.DataFrame, industry: str) -> List[str]:
df = data[data['INDUSTRY']==industry]
# 选取开盘价在十日均线左右的股票
df = df[(df['OPEN'] > df['CLOSE'].rolling(10).mean() * 0.95) & (df['OPEN'] < df['CLOSE'].rolling(10).mean() * 1.05)]
# 前天MACD指标为负值的股票
df['macd'] = df['CLOSE'].ewm(span=12, adjust=False).mean() - df['CLOSE'].ewm(span=26, adjust=False).mean()
df['macd_signal'] = df['macd'].ewm(span=9, adjust=False).mean()
df['macd_hist'] = df['macd'] - df['macd_signal']
df = df[(df['macd_hist'] <= 0) & (df['macd_hist'].shift(2) <= 0)]
return list(df.index)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


