问财-振幅大于1#15分钟周期MACD绿柱变短营收大于1.1

用户头像神盾局量子研究部
2023-07-25 发布

选股逻辑

选股条件包括:振幅大于1、15分钟周期MACD绿柱变短、2021年营收/2018年营收大于1.1。

选股逻辑分析

该选股逻辑在原有选股条件的基础上,加入了企业基本面因素,即所选股票的2018年和2021年营收的比较。这样可以更好地筛选出具有相对较好的成长性质的股票。

有何风险?

该选股逻辑仍然存在以下风险:1)对于20年以上的老股票,2018年营收可能不能代表企业的整体经营情况,因此具有一定局限性; 2)振幅大的股票存在不确定性和潜在的风险因素;3)未能考虑其他企业基本面因素,存在忽视某些风险的可能性。

如何优化?

优化方案包括:1)对老股票的筛选,可增加其他基本面指标的考虑,如净资产收益率、销售毛利率等;2)对振幅大的股票产生影响的原因需进一步加以分析,可增加价格和量能的考虑,如价格突破、资金流入流出等指标,以提高选股的准确性;3)加入其他基本面指标,如价格-收益率比率、基本面数据质量等,以更全面的把握企业整体情况,降低风险。

最终的选股逻辑

选股条件包括:振幅大于1、15分钟周期MACD绿柱变短、2021年营收/2018年营收大于1.1。

同花顺指标公式代码参考

振幅大于1:IF(AMP > 1,1,0)

15分钟周期MACD绿柱变短:IF(BARSLAST(MACD() < 0 AND MACD() > REF(MACD(), 1)), 1, 0)

2021年/2018年营收大于1.1:IF(REVSUM/(REVSUM[#-3]>REF(REVSUM[#-3],1)*1.1), 1, 0)

综合筛选结果:IF(A AND B AND C,1,0)

python代码参考

import tushare as ts
from talib import abstract

# 获取所有股票数据
df_all = ts.get_today_all()

# 挑选符合条件的股票
df_filted_by_amp = df_all[df_all['turnoverratio'] > 1]

df_k_data = ts.get_k_data('000001', '15')
df_k_data['MACD'], _, df_k_data['MACD_Hist'] = abstract.MACD(df_k_data, timeperiod_fast=12, timeperiod_slow=26, timeperiod_signal=9)
df_filtered_1 = df_filted_by_amp.merge(df_k_data[['date', 'MACD_Hist']], on='date', how='inner')
df_filtered_1['short_macd'] = (df_filtered_1['MACD_Hist'] < 0) & (df_filtered_1['MACD_Hist'] > df_filtered_1['MACD_Hist'].shift())

df_financial_report_1 = ts.get_report_data(2021, 1)
df_financial_report_2 = ts.get_report_data(2018, 4)
df_filtered_1 = df_filtered_1.merge(df_financial_report_1[['code', 'eps']], on='code', how='inner')
df_filtered_1 = df_filtered_1.merge(df_financial_report_2[['code', 'eps']], on='code', how='inner')
df_filtered_1['REVSUM'] = df_filtered_1['eps_x'] * 10000 * 4
df_filtered_1['REVSUM[#-3]'] = df_filtered_1['eps_y'] * 10000 * 4
df_filtered_1 = df_filtered_1[df_filtered_1['REVSUM'] / (df_filtered_1['REVSUM[#-3]'] > df_filtered_1['REVSUM[#-3]'].shift() * 1.1)]

df_filtered_2 = df_filtered_1.sort_values(by=['amount'], ascending=False)

# 输出结果
df_final = df_filtered_2[['code', 'name', 'trade', 'changepercent', 'open', 'high', 'low', 'volume', 'amount']]

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

select_sentence = '市值小于100亿' #选股语句。

模板如何使用?

点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧