问财量化选股策略逻辑
该选股策略选择元宇宙行业中,同时满足以下条件的股票进行投资:三个技术指标同时金叉,振幅大于1。
选股逻辑分析
该选股策略的选股条件包括:选择元宇宙行业,三个技术指标同时金叉,振幅大于1。这三个技术指标可以选择MACD、KDJ、DMI等常用指标。通过此选股策略,优选出技术面表现较好的股票,取得良好的收益。
有何风险?
该选股策略存在以下风险:
-
忽视了公司的财务状况、市场竞争等诸多因素。
-
三个技术指标的选取需要较好的经验和专业技能,难以处理多变的市场情况。
-
振幅的选取标准过高,容易导致选出的股票波动较大,造成风险增加。
-
可能出现股票进入点亮状态(三个指标同时金叉)但之后涨幅不佳,表现不如预期的情况。
如何优化?
为了最大程度上降低选股策略的风险,可以进行以下优化:
-
同时使用多种技术指标,结合基本面指标进行选股,降低单一指标选择股票的风险。
-
振幅的选取可以稍低,比如选择0.8或1以下,以减少股票波动带来的风险。
-
监测选出的股票的收益情况,在具有一定收益时可以适当退出,以免市场变动带来不良影响。
最终的选股逻辑
该选股策略选择元宇宙行业中,同时满足以下条件的股票进行投资:三个技术指标同时金叉,振幅大于0.8。
具体的选股条件为:
- 元宇宙行情为GNXQ;
- MACD金叉:CROSS(MACD(12,26,9), MACDSignal(12,26,9));
- KDJ金叉:CROSS(KDJ_K, KDJ_D) & CROSS(KDJ_K, KDJ_J);
- DMI金叉:CROSS(DMI_PDI, DMI_MDI);
- 振幅:ABS((HIGH-LOW)/REF(CLOSE,1))>0.8
通过以上选股策略可以选举出具备较好市场表现且有稳定投资潜力的股票进行投资。
同花顺指标公式代码参考
- 元宇宙行情:GNBK('gnxq')
- MACD指标:MACD(12,26,9)、MACDSignal(12,26,9)
- KDJ指标:KDJ(9,3,3)
- DMI指标:DMI(14)
- 振幅:ABS((HIGH-LOW)/REF(CLOSE,1))
Python代码参考
import pandas as pd
import tushare as ts
def stock_selector(industry):
ts.set_token('your_token')
pro = ts.pro_api()
data1 = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code, name, area, industry, list_date, pe, pb, roe')
data1_select = data1[(data1['industry']==industry) & (data1['tot_mv'] < 50000) & (data1['circ_mv'] < 50000) & (data1['area']!='北京') & (data1['pe'] < 100) & (data1['pb'] < 10)]
stocks = []
for ts_code in data1_select['ts_code']:
data = pro.query('daily', ts_code=ts_code, start_date='20220301', end_date='20220331', fields='ts_code, trade_date, open, high, low, close, vol, pct_chg, limit_up')
mask1 = (data['vol'] != 0)
mask2 = (data['MACD'] > data['MACDsignal']) & (data['MACD'].shift(1) < data['MACDsignal'].shift(1))
mask3 = (data['KDJ_K'] > data['KDJ_D']) & (data['KDJ_K'] > data['KDJ_J']) & (data['KDJ_K'].shift(1) < data['KDJ_D'].shift(1)) & (data['KDJ_K'].shift(1) < data['KDJ_J'].shift(1))
mask4 = (data['DMI_PDI'] > data['DMI_MDI']) & (data['DMI_PDI'].shift(1) < data['DMI_MDI'].shift(1))
mask5 = (abs(data['HIGH']-data['LOW'])/data['CLOSE'].shift(1) > 0.8)
mask = mask1 & mask2 & mask3 & mask4 & mask5
if mask.sum() > 0:
stocks.append([ts_code, data['close'].iloc[-1]])
return pd.DataFrame(stocks, columns=['ts_code', 'close'])
其中,参数industry为所选元宇宙的行业名称。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
