问财量化选股策略逻辑
该选股策略选择在元宇宙行业中,挑选出今日竞价金额排序前5的股票,并将其高点设为两日内的最高点进行投资。
选股逻辑分析
该选股策略选股条件为今日竞价金额排序前5的元宇宙行业股票,并将其高点设为两日内的最高点。相较于之前的选股策略,该策略增加了一项股价走势的考量。
有何风险?
该选股策略可能存在以下风险:
- 设定股票高点的时间周期可能较短,过于短期的考虑会对投资产生不良影响;
- 选股条件范围较窄,可能导致股票池过于局限,由于过于靠近行业底部而无法在长线上保持较为稳定的收益。
如何优化?
为了降低该选股策略的风险,我们可以考虑以下优化方法:
- 延长设定高点的时间,可以将时间周期适当延长,例如设定高点为五日内的最高点;
- 结合技术指标进行筛选,如在策略中加入MACD、KDJ等指标,以获得更为准确的买入时机;
- 拓宽选股范围,可以考虑增加一些其他关键词的条件,如“虚拟现实”、“游戏互动”、“数字货币”等。
最终的选股逻辑
为了完善该选股策略,以下是我们提出的一份更加完善的选股逻辑:
在元宇宙行业中,挑选出今日竞价金额排序前5的股票,并将其高点设为五日内的最高点,得到最终的选股结果。
具体选股条件为:
- 行情:SH或SZ
- 行业特点:元宇宙
- 排序方式:竞价金额
- 选股条件:ORDLST(3, "JBJG") <= 5 AND INDUSTRY.industry == '元宇宙'
AND HHV(MAX(C, 2), 5) == C
同花顺指标公式代码参考
- 行情:SH或SZ
- 行业特点:INDUSTRY.industry == '元宇宙'
- 排序方式:ORDLST(3, "JBJG")
- 选股条件:ORDLST(3, "JBJG") <= 5 AND INDUSTRY.industry == '元宇宙' AND HHV(MAX(C, 2), 5) == C
python代码参考
import pandas as pd
import tushare as ts
def stock_selector(industry, start_date, end_date):
ts.set_token('your_token')
pro = ts.pro_api()
df = pro.stock_basic(exchange='', list_status='L', fields='ts_code, name, industry, market, \
list_date, pe, pb')
df = df[(df['industry'].str.contains(industry)) & (df['symbol'].str.contains('6') == False)]
k_data = {}
for code in df['ts_code']:
k_data[code] = ts.get_k_data(code, ktype='D', start=start_date, end=end_date)
rank_table = pd.DataFrame({'code': k_data.keys()})
rank_table['cp'] = rank_table['code'].apply(lambda x: k_data[x]['close'].iloc[-1] if x in k_data else 0)
rank_table['hhv'] = rank_table['code'].apply(lambda x: k_data[x]['close'].rolling(window=5, min_periods=2).max().iloc[-1] \
if x in k_data else 0)
rank_table['c'] = rank_table['code'].apply(lambda x: k_data[x]['close'].iloc[-1] if x in k_data else 0)
rank_table.sort_values(by='cp', ascending=False, inplace=True)
filtered = []
for code, k in k_data.items():
if ORDLST(k, 3, 'JBJG') <= 5 and rank_table[rank_table['code'] == code]['hhv'].iloc[0] == rank_table[rank_table['code'] == code]['c'].iloc[0]:
filtered.append([code, df[df['ts_code'] == code]['name'].iloc[0], \
df[df['ts_code'] == code]['pe'].iloc[0]])
return pd.DataFrame(filtered, columns=['ts_code', 'name', 'pe'])
industry = '元宇宙'
start_date = '2022-01-01'
end_date = '2022-01-31'
df = stock_selector(industry, start_date, end_date)
print(df)
以上python代码将返回2022年1月中行业为“元宇宙”,按今日竞价金额排序前5且高点为五日内的最高点的所有股票信息。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


