问财量化选股策略逻辑
选股逻辑:振幅大于1、昨天有3连板、归属母公司股东的净利润(同比增长率)大于20%小于等于100%。
选股逻辑分析
该选股策略是基于技术面和基本面的综合分析来选择股票,筛选出具有较好业绩增长和市场活跃度的优质股票。振幅大于1表明股票波动性较大,连续3个交易日上涨表明市场热门。归属母公司股东的净利润同比增长率能更好的表现公司业绩增长情况。
该策略在技术面和基本面综合考虑,能较好地筛选出业绩较好和市场热度较高的优质股票。
有何风险?
以下是该选股策略可能存在的风险:
- 忽略了股票的财务风险,如债务率、现金流等等;
- 对财务指标解读存在不确定性,比如说仅通过归属母公司股东净利润同比增长率并不能充分反映公司的盈利情况。
如何优化?
为了优化该选股策略,减少风险,可以尝试以下优化:
- 在考虑财务指标的同时,可以结合其他指标来综合分析股票;
- 对选股逻辑进行不断的回测和优化,验证其效果和可行性。
最终的选股逻辑
根据以上的分析和优化,我们可以得到改进后的选股逻辑:
- 挑选振幅大于1,昨天有3连板和归属母公司股东净利润同比增长率大于20%小于等于100%的股票;
- 综合考虑股票的财务、技术和市场等多方面指标;
- 对选股策略进行回测和优化。
同花顺指标公式代码参考
以下为同花顺的财务指标公式代码:
归属母公司股东的净利润同比增长率:annual_np_parent_company_cut / annual_np_parent_company_cut.shift(4) -1,其中 annual_np_parent_company_cut 为归属于母公司股东的净利润,并且采用滚动法计算4个季度的值进行同比计算。
python代码参考
import pandas as pd
from tqsdk import TqApi, TqAuth
api = TqApi(auth=TqAuth("YOUR_ACCOUNT", "YOUR_PASSWORD"))
klines = api.get_kline_serial("SHFE.rb2101", 15 * 60, data_length=300) # 取得 df 数据
df = pd.DataFrame(klines)
C1 = (df['high'] - df['low'] >= 1)
C2 = df.groupby('contract.symbol')['close'].apply(lambda x: (x.shift(1) > x.shift(2)) & \
(x.shift(2) > x.shift(3)) & \
(x.shift(3) > x.shift(4))).astype(int)
annual_np_parent_company_cut = # 获取归属于母公司股东的净利润
C3 = (annual_np_parent_company_cut.pct_change(4) > 0.2) & (annual_np_parent_company_cut.pct_change(4) <= 1)
selector = (C1 & C2 & C3).astype(int)
result = df[selector == 1].sort_values('amount', ascending=False).index.tolist()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
