问财量化选股策略逻辑
该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,并且2021年营收与2018年营收的增长率大于10%。
选股逻辑分析
该选股策略的主要选股条件包括:选择元宇宙行业中的股票、股票均价站在五日均线之上、2021年营收与2018年营收增长率大于10%。
通过选择元宇宙行业中的股票,可以关注到这个行业的潜在成长性。股票均价站在五日均线之上,暗示着股票价格上涨趋势,因此被选中的股票有可能持续上涨。营收增长率大于10%说明公司营业额的增速较快,企业有一定的成长性。
有何风险?
该选股策略可能会受到市场情况的影响,存在一些风险:
- 企业营收增速可能会受到行业竞争、宏观经济、政策影响等多种因素的影响;
- 经济周期波动等宏观经济风险;
- 元宇宙行业尚处于发展初期,风险相对较高。
如何优化?
为了减小选股策略受到的风险,可以进行如下优化:
- 融合其他指标,如市盈率、业绩增长率等,加强对公司基本面的分析;
- 调整营收增长率的选股条件,或加入其他约束条件;
- 加强对企业可持续发展的研究,关注企业的生态建设、创新能力等方面。
最终的选股逻辑
该选股策略选择元宇宙行业中,股票均价站在五日均线之上, 2021年营收与2018年营收增长率大于10%的股票。
具体的选股条件为:
- 元宇宙行情为GNXQ;
- 股票均价站在五日均线之上,可以通过计算五日均价和股票的收盘价比较;
- 计算2018年和2021年的营收额,若2021年营收额/2018年营收额>1.1,则符合选股条件。
例如:
INDUSTRYIDB(2859,GNXQ) AND 20180331<=f12006(3)<=20181231 AND 20210331<=f12006(3)<=20211231 AND f12006(3)/f12006(12)/10000>1.1 AND MA(C,5) > MA(C,5)[1];
同花顺指标公式代码参考
- 元宇宙行情:GNBK('gnxq')
- 五日均线:MA(C,5)
- 2018年营收额:f12006(3)
- 2021年营收额:f12006(3)
在通达信中,可以使用如下指标代码:
f12006(3)/f12006(12)/10000>1.1 AND MA(C,5) > MA(C,5)[1];
Python代码参考
import pandas as pd
import tushare as ts
def stock_selector():
ts.set_token('your_token')
pro = ts.pro_api()
data1 = pro.query('stock_basic', exchange='SZSE', list_status='L', fields='ts_code, name, industry, list_date, total_share, float_share, market_cap')
data2 = pro.income(ts_code='', start_date='20180101', end_date='20211231', period='y', fields='ts_code,ann_date,end_date,total_revenue')
data2 = data2[data2['end_date'].str.contains('1231')]
data3 = pd.merge(data1, data2, on='ts_code', how='inner').sort_values(by=['ts_code', 'end_date'])
data3['total_revenue_growth'] = data3.groupby(['ts_code'])['total_revenue'].apply(lambda x: x.pct_change())
data4 = data3[(data3['total_revenue_growth'] > 0.1) & (data3['end_date'] == '20211231')]['ts_code']
data5 = pro.daily(ts_code=','.join(data4), start_date='20220501', end_date='20220501', fields='ts_code,open,high,low,close,vol')
data6 = data5.groupby('ts_code').tail(1)
data7 = pd.merge(data3, data6, on='ts_code', how='inner')
data8 = data7[(data7['high'] == data7['high'].max()) & (data7['close'] > data7['open'])]
if len(data8) > 0:
return data8[['ts_code', 'name']]
else:
return pd.DataFrame()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


