问财量化选股策略逻辑
该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,涨跌幅乘以超大单净量大于0。
选股逻辑分析
该选股策略的主要选股条件包括:选择元宇宙行业中的股票、股票均价站在五日均线之上、涨跌幅乘以超大单净量大于0。
元宇宙行业有较大的潜在发展前景,股票均价站在五日均线之上则意味着该股票近期涨势较好,涨跌幅乘以超大单净量大于0则意味着该股票有较大的买盘支撑。
有何风险?
该选股策略可能会受到市场环境、政策变化等多种因素的影响,存在一些风险:
- 股票对市场判断错误;
- 公司财务状况存在变化;
- 选股条件过于简单,存在遗漏。
如何优化?
为了减小选股策略受到的风险,可以进行如下优化:
- 融合其他指标,如MACD、RSI等,加强对股票技术分析;
- 加强对企业财务状况、业绩、盈利能力等方面的研究;
- 关注市场投资者情绪等因素,如通过情感分析、大数据分析等进行处理;
- 加入约束条件,如市值、成交量等限制;
- 考虑在不同价格区间或时间段内进行股票走势的对比。
最终的选股逻辑
该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,涨跌幅乘以超大单净量大于0。
具体的选股条件为:
- 元宇宙行情为GNXQ;
- 股票均价站在五日均线之上,可以通过计算五日均价和股票的收盘价比较;
- 超大单净量可以通过主力买卖盘数据计算得到;
- 涨跌幅可以通过股票的收盘价和昨日收盘价计算得出。
因此,该选股策略的最终选股公式为:
BKI('gnxq') AND CROSS(MA(C,5), C) AND (C / REF(C,1) -1) * DDN > 0
其中,DDN为超大单净量,可以通过类似以下代码计算得到:
DDN = (BUY_L - SELL_L - BUY_S + SELL_S) / 10000
同花顺指标公式代码参考
- 元宇宙行情:GNBK('gnxq')
- 五日均线:MA(C,5)
- 超大单净量:VOLDDNX
- 涨跌幅:(C / REF(C,1) -1)
在通达信中,可以使用如下指标代码:
CROSS(MA(C,5), C) AND (C / REF(C,1) -1) * VOLDDNX > 0
Python代码参考
import pandas as pd
import tushare as ts
def calc_ddn(ts_code, date):
ts.set_token('your_token')
pro = ts.pro_api()
data = pro.moneyflow(ts_code=ts_code, trade_date=date, fields='buy_sm, buy_md, buy_lg, sell_sm, sell_md, sell_lg')
buy_l = data['buy_lg'].values[0]
sell_l = data['sell_lg'].values[0]
buy_s = data['buy_md'].values[0] + data['buy_sm'].values[0]
sell_s = data['sell_md'].values[0] + data['sell_sm'].values[0]
ddn = (buy_l - sell_l - buy_s + sell_s) / 10000
return ddn
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')
data2 = pro.daily(trade_date=date, fields='ts_code, close, pre_close')
data2['chg_pct'] = (data2['close']/data2['pre_close'] - 1) * 100
data3 = pd.merge(data1, data2[['ts_code', 'chg_pct']], 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']
data7['ddn'] = data7.apply(lambda x: calc_ddn(x['ts_code'], date), axis=1)
data8 = data7[(data7['industry'] == '元宇宙') & (data7['close'] > data7['ma']) & (data7['chg_pct']*data7['ddn'] > 0)]
data9 = data8[['ts_code', 'name']]
if len(data9) > 0:
return data9
else:
return pd.DataFrame()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


