问财量化选股策略逻辑
选股逻辑为:振幅大于1、PE>0、2021年营收/2018年营收大于1.1的股票。将选股逻辑作为第一个标题放入段落中。
选股逻辑分析
该选股策略的逻辑如下:
- 振幅大于1表示该股票价格波动比较大,有较高的交易活跃度;
- PE>0表示该股票未亏损,有一定盈利能力;
- 2021年营收/2018年营收大于1.1表示该股票在3年时间内有较好的营收增长能力。
综合以上几点,我们可以选出具备较高交易活跃度、盈利能力和营收增长潜力的股票。
有何风险?
该选股策略的风险如下:
- 营收增长率不能反映该股票的投资价值,而营收增长过于追求可能导致市场估值过高;
- 此选股策略忽略了股票的估值因素,没有对股票进行全面评估,导致投资风险较大。
如何优化?
为了降低风险和提高选股的成功率,可以在以上的基础上进行如下优化:
- 加入更多的基本面指标,如市盈率、市净率、利润增长等,更全面地评估股票的投资价值;
- 加入技术指标,如趋势线、移动平均线、震荡指标等,以提高选股的完整性;
- 对营收增长和其他基本面指标进行综合评估,得出更全面的股票筛选结果。
最终的选股逻辑
综合以上分析和优化,我们最终的选股逻辑为:振幅大于1、PE>0、2021年营收/2018年营收大于1.1的股票。在此基础上,可以进一步进行调整和优化,以降低风险,提高选股成功率。
同花顺指标公式代码参考
以下是同花顺选股公式代码参考:
# 振幅大于1
C1: (HIGH - LOW) / REF(CLOSE, 1) > 0.01;
# PE>0
C2: PE > 0;
# 营收增长率大于1.1
C3: MAIN_BUSINESS_INCOME / REF(MAIN_BUSINESS_INCOME, 8) > 1.1;
# 选取同时满足以上条件的股票
FILTER: C1 AND C2 AND C3;
其中,C1、C2、C3分别表示振幅大于1、PE>0和2021年营收/2018年营收大于1.1三个选股条件;FILTER表示同时满足这些条件的股票进行筛选。
Python代码参考
以下是使用Python进行选股的代码参考:
import pandas as pd
import tushare as ts
def revenue_growth(data):
# 计算3年营收增长率
growth_rate = data["main_business_income"].pct_change(periods=8) + 1
return data[growth_rate > 1.1]
def stock_selection():
# 获取股票数据
all_data = ts.get_k_data("002230")
all_data = pd.DataFrame(all_data, columns=["date", "open", "close", "high", "low", "volume", "main_business_income"])
# 振幅大于1
condition1 = (all_data["high"] - all_data["low"]) / all_data["close"].shift(1) > 0.01
# PE > 0
condition2 = True # 此处省略PE>0的判断
# 3年营收增长率大于1.1
condition3 = revenue_growth(all_data)
# 筛选符合条件的股票
selected_data = condition3[condition1 & condition2]
# 返回符合条件的股票代码
return selected_data["code"].values.tolist()
其中,我们首先使用tushare库获取指定股票的K线图数据和营收数据,然后根据选股逻辑进行筛选,最终返回符合条件的股票代码。在营收增长的判断中,我们定义了一个名为revenue_growth的函数,用来计算每个股票的3年营收增长率,并筛选出符合条件的数据。最后,我们返回符合其他条件的3年营收增长率大于1.1的股票代码。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


