问财量化选股策略逻辑
选股逻辑:振幅大于1,深证主板中市盈率0-29.01,市净率0-3.11的股票,100亿市值以内的无亏损企业。选股逻辑作为第一个段落放入标题为 ## 问财量化选股策略逻辑 的段落中。
选股逻辑分析
该选股逻辑选择了振幅、市盈率、市净率、市值和盈利能力几个指标进行筛选,比之前的选股逻辑更加综合和严格。其中市值的限制可以保证选出的股票都是小盘股,而盈利能力的限制可以保证选出的股票有一定的财务实力。
有何风险?
该选股逻辑的风险主要包括:
- 只有市值在100亿以内的限制,没有其他财务指标的要求,可能会选出某些盈利能力较弱的企业;
- 市盈率和市净率的限制可能会严重降低选股数量,有可能会错失一些潜在的投资机会;
- 振幅指标容易受到市场波动的影响,不能完全反映出股票的投资价值。
如何优化?
为了优化该选股策略,我们可以考虑以下方面:
- 除了市值外,增加其他股票基本面指标的限制,如财务报表数据、股息率等;
- 考虑增加一些技术指标,如均线、相对强弱指数等,来进一步筛选股票;
- 振幅指标容易受到市场波动的影响,可以考虑增加其他技术指标来突破这一局限性;
- 制定更为详细的进出场策略,以降低风险和提高收益。
最终的选股逻辑
经过考虑和优化之后,我们提出如下的选股逻辑:
- 振幅大于1的深证主板股票;
- 市盈率在0-29.01,市净率在0-3.11;
- 市值在100亿以内;
- 前一个完整会计年度净利润为正。
同花顺指标公式代码参考
- 振幅:ZHENFU();
- 市盈率:C/CBLY0;
- 市净率:C/LBB;
- 市值:q.capitalization/10000 <= 100;
- 净利润:AAP/10000 > 0,其中AAP为前一个完整会计年度净利润。
Python代码参考
利用Tushare库和pandas数据框架,计算选股结果的Python代码如下:
import pandas as pd
import tushare as ts
def is_selected(code):
'''
判断股票是否符合选股逻辑
'''
# 基本面指标筛选
stock_basics = ts.get_stock_basics()
base = stock_basics[stock_basics.index==code]
if base.empty or base['pe'].values[0] < 0 or base['pe'].values[0] > 29.01 or \
base['pb'].values[0] < 0 or base['pb'].values[0] > 3.11 or \
base['outstanding'].values[0] * base['price'].values[0] / 100000000 > 100:
return False
# 盈利能力筛选
profit_data = ts.get_profit_data(base.index[0])
if profit_data is None or not profit_data.empty:
last_year_data = profit_data.loc[str(int(profit_data.index[-1])-1)]
if last_year_data['roe'] < 0 or last_year_data['net_profits'] <= 0:
return False
return True
# 获取符合选股逻辑要求的股票列表
selected_stocks = ts.get_stock_basics().index[ts.get_stock_basics().apply(is_selected, axis=1)].tolist()
# 根据选股结果进行后续交易操作
for code in selected_stocks:
pass # 参考其他交易策略
该代码中同样需要注意市值和净利润指标的限制,市值需要通过股本和股价计算,并将结果除以1亿来得到值,在代码中为 base['outstanding'].values[0] * base['price'].values[0] / 100000000 > 100;净利润需要直接通过Tushare的 profit_data 接口获取,选择前一个完整会计年度的数据,并判断 roe 和 net_profits 均为正值,代码为 last_year_data['roe'] < 0 or last_year_data['net_profits'] <= 0。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


