问财量化选股策略逻辑
该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,并且三个技术指标同时出现金叉信号。
选股逻辑分析
该选股策略的选股条件包括:选择元宇宙行业中的股票、股票均价站在五日均线之上、三个技术指标同时出现金叉信号。
在该选股策略中,可以注意到使用了技术指标作为选股依据,技术指标可以帮助分析股票价格趋势和动量,并且同时筛选出股价上升势头较强的品种。同时,选择元宇宙行业,可以介入到新兴的行业中,有望获得更好的收益。
有何风险?
该选股策略可能会受到市场环境、政策变化等多种因素的影响,存在一些风险:
- 技术指标的可靠性较低,不能单独作为选股依据;
- 在目标股票不多的情况下,过于依赖技术指标,可能会导致过度交易和高额交易成本;
- 同时金叉作为股票买入信号可能存在滞后或错误把握较大的情况;
- 元宇宙行业的市场还处于早期,相对风险较高。
如何优化?
为了减小选股策略受到的风险,可以进行如下优化:
- 除了技术指标以外,引入基本面因素进行选股,如财务数据、公司业绩等,综合考虑多个因素;
- 对于技术指标的有效性进行充分的验证和研究,对不同时间周期下的技术指标进行分析,以减少虚假信号;
- 进一步过滤预选股票,在目标股票数量不多的情况下,能够降低过度交易和高额交易成本;
- 根据大盘走势和业绩情况等进一步调整股票仓位。
最终的选股逻辑
该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,并且三个技术指标同时出现金叉信号。
具体的选股条件为:
- 元宇宙行情为GNXQ;
- 股票均价站在五日均线之上;
- 三个技术指标同时出现金叉信号。
因此,该选股策略的最终选股公式为:
GNBK('gnxq') AND (C > MA(C,5)) AND (REF(MA(C,5),1) <= REF(MA(C,10),1)) AND (REF(MA(C,10),1) <= REF(MA(C,20),1))
其中,C表示股票的收盘价。
同花顺指标公式代码参考
- 元宇宙行情:GNBK('gnxq')
- 五日均线:MA(C,5)
- 十日均线:MA(C,10)
- 二十日均线:MA(C,20)
在通达信中,可以使用如下指标代码:
(C > MA(C,5)) AND (REF(MA(C,5),1) <= REF(MA(C,10),1)) AND (REF(MA(C,10),1) <= REF(MA(C,20),1))
Python代码参考
import pandas as pd
import tushare as ts
def stock_selector(date):
ts.set_token('your_token')
pro = ts.pro_api()
data1 = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code, name, industry, list_date, circ_mv')
data2 = pro.daily(trade_date=date, fields='ts_code, close, open, high, low, vol')
data3 = pd.read_csv('path/to/tech_indicators.csv')
data4 = pd.read_csv('path/to/stock_sector.csv')
data5 = pd.merge(data1, data2[['ts_code', 'close', 'open', 'high', 'low', 'vol']], on='ts_code', how='inner')
data6 = pd.merge(data5, data3[['ts_code', 'MA5', 'MA10', 'MA20']], on='ts_code', how='inner')
data7 = pd.merge(data4, data6, on='ts_code', how='inner')
data8 = pd.DataFrame()
for ts_code in data7['ts_code'].unique():
if len(data5.loc[(data5['ts_code'] == ts_code), :]) > 1:
if (data5.loc[(data5['ts_code'] == ts_code), 'close'].values[-1] > data6.loc[(data6['ts_code'] == ts_code), 'MA5'].values[-1]) and (data6.loc[(data6['ts_code'] == ts_code), 'MA5'].values[-2] <= data6.loc[(data6['ts_code'] == ts_code), 'MA10'].values[-2]) and (data6.loc[(data6['ts_code'] == ts_code), 'MA10'].values[-2] <= data6.loc[(data6['ts_code'] == ts_code), 'MA20'].values[-2]):
data8 = data8.append(data7[data7['ts_code'] == ts_code], ignore_index=True)
if len(data8) > 0:
return data8[['ts_code', 'name']]
else:
return pd.DataFrame()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


