问财量化选股策略逻辑
该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,连续3天以上大单净量大于0.05。
选股逻辑分析
该选股策略的选股条件包括:选择元宇宙行业中的股票、股票均价站在五日均线之上、大单净量连续3天以上大于0.05。
在该选股策略中,选择元宇宙行业可以介入到新兴的行业中,有望获得更好的收益。同时,均价站在五日均线之上,意味着股票正在上涨,具有一定的投资价值。而连续3天以上大单净量大于0.05,显示出机构的持股意愿较强,具有潜在的上涨空间。
有何风险?
该选股策略存在以下风险:
- 大单净量大小只是机构资金的流入流出,不能保证股票的长期上涨空间;
- 五日均线只是短期的技术指标,不能保证长期上市公司经营状况的质量,需要进行综合考虑;
- 元宇宙行业在发展初期,风险较高,需要进行风险控制。
如何优化?
为了减小选股策略受到的风险,可以进行如下优化:
- 在选股条件中加入其它技术指标和基本面指标,综合考虑各个方面的因素;
- 结合市场情况,进行动态调整和灵活配置;
- 定期评估选股策略的有效性,进行调整和优化。
最终的选股逻辑
该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,连续3天以上大单净量大于0.05。
具体的选股条件为:
- 元宇宙行情为GNXQ;
- 均价站在五日均线之上;
- 连续3天以上大单净量大于0.05。
因此,该选股策略的最终选股公式为:
GNBK('gnxq') AND (C > MA(C,5)) AND (CTV() > 0.05 AND COUNT(DTV() > 0.05, 3) = 3)
其中,C表示股票的收盘价,CTV表示当日大单净量,DTV表示当日买卖的总成交量。
同花顺指标公式代码参考
- 元宇宙行情:GNBK('gnxq')
- 五日均线:MA(C,5)
- 当日大单净量:CTV()
- 当日总成交量:DTV()
在通达信中,可以使用如下指标代码:
(C > MA(C,5)) AND (CTV() > 0.05 AND COUNT(DTV() > 0.05, 3) = 3)
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, open, close, high, low, vol')
data3 = data2[['ts_code', 'vol']]
data4 = data2[['ts_code', 'amount']]
data5 = (data3['vol'] * (data2['close'] - data2['open'])) / (data2['open'] + 1e-10)
data6 = (data4['amount'] / 100000000) - data5
data7 = pd.concat([data2['ts_code'], data6], axis=1)
data8 = pd.read_csv('path/to/tech_indicators.csv')
data9 = pd.merge(data1, data7, on='ts_code', how='inner')
data10 = pd.merge(data9, data8[['ts_code', 'MA5']], on='ts_code', how='inner')
data11 = pd.read_csv('path/to/org_shareholders.csv')
data12 = pd.merge(data11, data10, on='ts_code', how='inner')
data13 = pd.read_csv('path/to/org_trades.csv').iloc[:, :-1]
data13['buy_val'] = data13['buy_rate'] * data13['shareholders']
data13['sell_val'] = data13['sell_rate'] * data13['shareholders']
data14 = data13.groupby('ts_code')[['buy_val', 'sell_val']].sum()
data15 = (data14['buy_val'] - data14['sell_val']) / (data10['circ_mv'] * 100000000 + 1e-10)
data16 = pd.concat([data10['ts_code'], data15], axis=1)
data17 = data16[data16.iloc[:, 1] > 0.05]
data18 = pd.read_csv('path/to/org_changes.csv')
data19 = data18.groupby('ts_code')['ts_code'].count().rename('count')
data20 = pd.concat([data17.set_index('ts_code'), data19], axis=1).reset_index()
data21 = data20[data20['count'] >= 3][['ts_code', 'name']]
return data21
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


