问财量化选股策略逻辑
该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,竞价涨幅>-2<5。
选股逻辑分析
该选股策略的主要选股条件包括:选择元宇宙行业中的股票、股票均价站在五日均线之上、竞价涨幅>-2<5。
选择元宇宙行业的股票,可以体现对新兴行业的关注和投资。选择股票均价站在五日均线之上的股票,则显示出该股票较好的短期涨势。而选择竞价涨幅>-2<5的股票,则显示出该股票较为稳健,并有小幅上涨的空间。
有何风险?
该选股策略可能会受到市场环境、政策变化等多种因素的影响,存在一些风险:
- 股票竞价涨幅的波动较大,可能出现较大的误判;
- 选股条件较为简单,可能会遗漏有效信息;
- 所选行业发展迅速,存在系统性风险。
如何优化?
为了减小选股策略受到的风险,可以进行如下优化:
- 加入更多的技术指标和股票价值分析,如SMA、MACD、PEG等,综合考虑多种指标;
- 充分分析股票基本面,如企业财务状况、业务优势、市场情况等,提高选股精度;
- 考虑其他股票指标,如股息率、市盈率等,综合分析股票的价值和收益情况。
最终的选股逻辑
该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,竞价涨幅>-2<5。
具体的选股条件为:
- 元宇宙行情为GNXQ;
- 股票均价站在五日均线之上,可以通过计算五日均价和股票的收盘价比较;
- 竞价涨幅>-2<5,应该选择稳健的股票,并加入价格限制以防止大幅波动。
因此,该选股策略的最终选股公式为:
BKI('gnxq') AND CROSS(MA(C,5), C) AND (J - C / REF(C,1) * 100) > -2 AND (J - C / REF(C,1) * 100) < 5
其中,J表示竞价价格。
同花顺指标公式代码参考
- 元宇宙行情:GNBK('gnxq')
- 五日均线:MA(C,5)
- 竞价价格:J
- 竞价涨幅:(J - C / REF(C,1) * 100)
在通达信中,可以使用如下指标代码:
CROSS(MA(C,5), C) AND (J - C / REF(C,1) * 100) > -2 AND (J - C / REF(C,1) * 100) < 5
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, pre_close, open')
data2['chg'] = data2['close'] - data2['pre_close']
data2['j'] = data2['open']
data3 = pd.merge(data1, data2[['ts_code', 'chg', 'j']], on='ts_code', how='inner')
data4 = data3.sort_values(by=['ts_code'])
data5 = pd.read_csv('path/to/stock_sector.csv')
data6 = pd.merge(data5, data4, on='ts_code', how='inner')
data7 = data6[data6['sector_code'] == '000001.SH']
data8 = data7[(data7['industry'] == '元宇宙')]
data9 = pd.DataFrame()
for ts_code in data8['ts_code']:
if (data1.loc[(data1['ts_code'] == ts_code), 'circ_mv'].values[0] > 5000) and (data1.loc[(data1['ts_code'] == ts_code), 'circ_mv'].values[0] < 10000):
df = pro.margin(trade_date=date, ts_code=ts_code)
if len(df) > 0:
j = df['opn_amt'].values[0] / 100
chg = data3.loc[(data3['ts_code'] == ts_code), 'chg'].values[0]
if (j - data2.loc[(data2['ts_code'] == ts_code), 'close'].values[0] / data2.loc[(data2['ts_code'] == ts_code), 'pre_close'].values[0] * 100) > -2 and (j - data2.loc[(data2['ts_code'] == ts_code), 'close'].values[0] / data2.loc[(data2['ts_code'] == ts_code), 'pre_close'].values[0] * 100) < 5:
data9 = data9.append(data8[data8['ts_code'] == ts_code], ignore_index=True)
if len(data9) > 0:
return data9[['ts_code', 'name']]
else:
return pd.DataFrame()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
