问财量化选股策略逻辑
选股逻辑为:振幅大于1,企业性质优秀,2021年表现良好。
选股逻辑分析
该选股逻辑主要考虑了股票价格波动、企业基本面以及市场情绪的综合因素。振幅大于1表明该股的价格波动较大,存在投机机会和投资价值,企业性质优秀保证了企业的盈利能力和可持续性。此外,2021年表现良好可以反映出该股票在当前市场环境下具有优秀的市场反应能力和发展潜力。如果股票符合以上条件,则可以考虑进行买入操作。
有何风险?
该选股逻辑有以下风险:
- 只关注了股票的短期表现,忽略了公司业绩能否持续增长和公司的盈利能力等基本面因素;
- 振幅大可能只反映了短期的股票波动而忽略了企业基本面和股票的内在价值;
- 只依据过去2021年的表现判断,未考虑到后续可能出现的市场演变。
如何优化?
在选股策略中,可以结合其他股票基本面指标、技术指标、市场表现指标等多个维度考虑,综合判断股票的市场表现以及内在的价值。可以引入机器学习和数据挖掘技术,借助大数据分析和模型优化技术实现更加准确、有效的选股策略。另外,应该及时关注公司的业绩和财务状况,针对企业中长期的发展趋势、盈利能力、财务风险等因素进行评估,实现基本面和技术面的结合。
最终的选股逻辑
在综合以上分析基础上,完善后的选股逻辑如下:
- 企业性质优秀,包括但不限于利润率、成长性、股息率等;
- 市盈率、市净率等基本面指标均优秀;
- 股票价格波动大,振幅大于1,反映股票的投机机会和投资价值;
- 以2021年的表现为主要基准,2021年表现良好体现该股在当前市场环境下具有优秀的市场反应能力和发展潜力;
- 在技术面上,可以考虑其他技术指标,如KDJ、RSI、MACD等;
- 根据市场情况和个人风险偏好,选择适当的排名范围;
- 在选股过程中,综合考虑技术指标、基本面指标、市场宏观指标、流动性指标、热度等多个方面进行筛选;
- 根据综合信息判断股票的投资价值及风险情况,最终得出投资决策。
同花顺指标公式代码参考
该选股逻辑的同花顺指标公式如下:
/* 选股公式 */
A:XX企业性质;
B:HHV(HIGH,25)/REF(CLOSE,1)>1+EPS;
C:FUNDA(1)>FUNDA(2) AND FUNDA(1)>FUNDA(3) AND FUNDA(2)>FUNDA(4) AND FUNDA(2)>FUNDA(5) AND FUNDA(3)>FUNDA(6);
D:TOT_CURYEAR>0;
A AND B AND C AND D<=N; /* N为排名范围 */
其中,A:XX企业性质
表示企业性质优秀。B:HHV(HIGH,25)/REF(CLOSE,1)>1+EPS
表示股票价格波动大,振幅大于1。C:FUNDA(1)>FUNDA(2) AND FUNDA(1)>FUNDA(3) AND FUNDA(2)>FUNDA(4) AND FUNDA(2)>FUNDA(5) AND FUNDA(3)>FUNDA(6)
表示股票基本面素质好。D:TOT_CURYEAR>0
表示今年的表现良好。 A AND B AND C AND D<=N
表示逻辑与且排名不高于N。
Python代码参考
适用于Tushare库的Python选股代码如下:
import tushare as ts
import numpy as np
def is_selected(code, eps=1, rank_range=(1, 50)):
'''
判断股票是否满足选股逻辑
'''
df_basic = ts.get_stock_basics()
if not XX企业性质:
return False
df_hist = ts.get_hist_data(code)
if df_hist.empty or len(df_hist) < 10:
return False
if (df_hist['high'].rolling(25).max() / df_hist['close'].shift(1) > 1).sum() == 0:
return False
if df_basic.loc[code, 'eps'] <= 0 or df_basic.loc[code, 'esp'] <= df_basic.loc[code, 'bvps']:
return False
if ts.get_hist_data(code, end='2021-12-31')['close'].pct_change().sum() > 0:
return False
rank = ts.top_list(df_moneyflow.index[0])['code'].tolist().index(code) + 1
if rank < rank_range[0] or rank > rank_range[1]:
return False
return True
# 获取热度排名前N的股票列表,遍历股票进行选股
stocks = ts.top_list()
selected_stocks = []
for i in range(N):
code = stocks['code'].iloc[i]
if is_selected(code, rank_range=(1, N)):
selected_stocks.append(code)
# 利用选股结果进行股票交易
for code in selected_stocks:
pass # 参考其他策略
其中需要根据选股策略修改参数,通过tushare库获取股票基本面信息和历史交易数据,并利用策略中设定的其他指标进行计算判断,最后利用选股结果进行股票交易。需要注意的是,get_hist_data
函数中的参数可以用于判断是否满足2021年表现良好的条件,当然也可以进一步细化,比如月度表现等。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
