问财量化选股策略逻辑
选股逻辑为MACD零轴以上,今日均线向上发散,2021年营收/2018年营收大于1.1,并考虑公司基本面因素进行辅助分析。
选股逻辑分析
选股逻辑主要考虑了技术分析和基本面分析,MACD指标和均线指标可以反映出价格趋势的变化,考虑公司营收增长可以反映公司业务的发展情况。结合这些因素,选择了价格走势良好、公司发展稳健的个股。
有何风险?
- 该逻辑仅考虑了公司营收增长率,其他技术指标和基本面信息并未充分考虑,可能有漏选优质股票的风险;
- 营收增长数据可能因为行业下行或扰动因素而出现大幅波动,存在数据不稳定的风险;
- 放大时间跨度后,该策略可能无法适应市场长期变化的需要。
如何优化?
- 考虑加入更多的技术指标和基本面信息进行综合筛选;
- 筛选营收增长稳定的企业,可以考虑去除极端值的影响,例如采用平均或中位数计算营收增长率;
- 适当放缓策略调整周期,考虑到市场历史走势和长期趋势变化。
最终的选股逻辑
选股逻辑为MACD零轴以上,今日均线向上发散,2021年营收/2018年营收大于1.1,并考虑公司基本面因素进行辅助分析,综合考虑技术分析和基本面信息,筛选出价格稳定、业绩优良的股票。
同花顺指标公式代码参考
MACD指标:
DIF:EMA(CLOSE,12)-EMA(CLOSE,26)
DEA:EMA(DIF,9)
MACD:(DIF-DEA)*2
均线指标:
MA5:MA(CLOSE,5)
MA10:MA(CLOSE,10)
资金强度指标:
资金强度线=(当日成交额*2) /(当日最高价+当日最低价)*100*10000
python代码参考
以下为python的股票筛选代码,仅供参考:
import akshare as ak
import pandas as pd
# 获取股票历史行情数据和公司基本面数据
df = ak.stock_zh_a_hist_sina("sh000001")
fudf = ak.stock_financial_abstract_sina('未知')
# 计算MACD指标
ema12 = df['close'].ewm(span=12).mean()
ema26 = df['close'].ewm(span=26).mean()
DIF = ema12 - ema26
DEA = DIF.ewm(span=9).mean()
MACD = (DIF - DEA) * 2
# 计算均线指标
ma5 = df['close'].rolling(5).mean()
ma10 = df['close'].rolling(10).mean()
# 计算营收增长率
revenue18 = fudf[fudf['日期']=='2018年']['营收(亿元)']
revenue21 = fudf[fudf['日期']=='2021年']['营收(亿元)']
revenue_growth = (revenue21 / revenue18 - 1)
# 按营收增长率排序
sorted_df = revenue_growth.sort_values(ascending=False)
# 筛选MACD零轴以上
condition1 = MACD > 0
# 筛选今日均线向上发散
condition2 = (ma5 > ma10) & (ma5.shift(1) < ma10.shift(1))
# 筛选2021年/2018年营收大于1.1
condition3 = (revenue_growth > 1.1)
# 结合所有条件
all_conditions = condition1 & condition2 & condition3
# 筛选公司基本面良好的个股
good_stocks = fudf[fudf['净利润同比增长率'] > 0.2]['code'].tolist()
# 结合基本面条件
all_conditions = all_conditions & df['code'].isin(good_stocks)
# 筛选出符合条件的股票
result = df[df['code'].isin(sorted_df.head(10).index.tolist()) & all_conditions]['code']
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


