问财量化选股策略逻辑
选股逻辑包括三个条件:选取元宇宙行业的股票、机构动向大于0,外盘/内盘大于1.3的股票。根据这些条件进行选股,进行投资。
选股逻辑分析
该选股策略主要考虑以下三个条件进行选股:
- 选取元宇宙行业的股票:选择符合该行业特性的个股;
- 机构动向大于0:关注机构对个股的投资热度趋势;
- 外盘/内盘大于1.3:该指标综合考虑了外盘和内盘的资金流向,对个股走势进行综合判断,并设定对应的阈值条件进行筛选。
综合以上条件,选择符合条件的个股进行投资。
有何风险?
- 元宇宙行业尚处于发展初期,其股票走势不稳定;
- 机构动向具有滞后性,选股策略容易出现误判;
- 外盘/内盘比例对于不同个股走势的影响也不尽相同。
如何优化?
- 结合不同行业中的指标进行综合判断;
- 根据市场变化调整选股策略;
- 对于外盘/内盘比例指标,可以利用机器学习等技术进行更为精确的量化分析。
最终的选股逻辑
该选股策略选择元宇宙行业中,符合机构动向大于0且外盘/内盘大于1.3的个股进行投资。
同花顺指标公式代码参考
元宇宙行业:GNBK("gnxq")
机构动向:DRS_M("zlltgtzb")
外盘:WVAD()
内盘:VOL()
外盘/内盘比例:WVAD()/VOL()>1.3
Python代码参考
import pandas as pd
import tushare as ts
def stock_selector():
ts.set_token('your_token')
pro = ts.pro_api()
t = pro.trade_cal(start_date='20210101')
trade_dates = t[t['is_open'] == 1]['cal_date'].tolist()
data_all = pd.DataFrame()
for trade_date in trade_dates:
data = pro.query(
'stock_basic',
exchange='',
is_hs='H'
)
data = data[data['name'].str.contains('元宇宙')]
data_inst = pro.moneyflow(ts_code=data['ts_code'].tolist(), start_date=trade_date, end_date=trade_date, fields='ts_code,hgt,mrghgt')
data_inst = data_inst.loc[data_inst['hgt'] > 0, ['ts_code', 'hgt', 'mrghgt']]
data_inst['is_inst_buy'] = data_inst['hgt'] > data_inst['mrghgt']
data_inst = data_inst.loc[data_inst['is_inst_buy'] == True, ['ts_code', 'hgt', 'mrghgt', 'trade_date']]
selected_tics = data_inst['ts_code'].tolist()
data_daily = pro.daily(
ts_code=','.join(selected_tics),
trade_date=trade_date,
fields='ts_code,close,pct_chg,vol,amount'
)
data_out, data_in = pro.moneyflow(ts_code=','.join(selected_tics), start_date=trade_date, end_date=trade_date, fields='ts_code, buy_sm_vol, sell_sm_vol, buy_md_vol, sell_md_vol, buy_lg_vol, sell_lg_vol')
data_out = data_out.groupby('ts_code').sum()['sell_sm_vol'] + data_out.groupby('ts_code').sum()['sell_md_vol'] + data_out.groupby('ts_code').sum()['sell_lg_vol']
data_in = data_in.groupby('ts_code').sum()['buy_sm_vol'] + data_in.groupby('ts_code').sum()['buy_md_vol'] + data_in.groupby('ts_code').sum()['buy_lg_vol']
data_wvad = data_in - data_out
data_wvad.index.name = 'ts_code'
data_daily = pd.merge(data_daily, data_wvad, on=['ts_code'], how='left')
data_daily = data_daily.fillna(0)
data_daily['out/in'] = data_out / data_in
data_daily = data_daily.loc[data_daily['out/in'] > 1.3, ['ts_code']]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
