问财量化选股策略逻辑
选股策略为:在元宇宙领域中,选择昨日出现龙虎榜的股票,并且近一周内机构调研次数最多的股票。
选股逻辑分析
该选股策略旨在追踪机构对于元宇宙领域内股票的关注,选出昨日出现龙虎榜的标的股票,进一步筛选出近一周机构调研次数最多的股票。此策略侧重于机构研究对股票价格的影响,对股票基本面等其他因素不敏感。
有何风险?
机构调研并不一定能够反映标的股票的潜在机会与风险,而且机构数量有限,容易受到市场流行的影响。此外,股票的龙虎榜状态并不能代表着一定的买入机会,未必能够获取较为稳定和可靠的收益。
如何优化?
可以针对机构调研的深度和范围进行优化。同时可以加入其他的筛选条件,如市场情绪指标等,结合基本面等指标综合判断,使策略更具有可靠性。
最终的选股逻辑
在元宇宙领域中,选择昨日出现龙虎榜的股票,并且机构调研次数在近一周内排名前10的股票。
同花顺指标公式代码参考
选出符合元宇宙行业的股票: INDUSTRY == '元宇宙';
选出昨天出现龙虎榜的股票: INDT('龙虎榜-上榜日期') == PREVDAY;
选出近一周内机构调研次数前十的股票: RANK(CALC(REF(DDX(), -5)), 10) == 1;
Python代码参考
import akshare as ak
def get_eligible_stocks():
eligible_stocks = []
stock_data = ak.stock_zh_a_spot_em()
stock_data = stock_data[(stock_data['industry'] == '元宇宙')]
for index, row in stock_data.iterrows():
try:
report_data = ak.stock_em_research_report_sina(symbol=index)
if report_data.empty:
continue
report_data = report_data[report_data['发表时间'].str.contains('202')]
if(len(report_data) > 0):
report_data['发表时间'] = pd.to_datetime(report_data['发表时间'])
report_data.sort_values('发表时间', ascending=False, inplace=True)
max_count = report_data['调研机构'].value_counts().max() # 计算出所有调研机构中最大调研数
top10 = [item[0] for item in report_data['调研机构'].value_counts().head(10).iteritems()] # 计算调研机构前十
if (pd.Timestamp.now() - report_data.iloc[0]['发表时间']).days <= 7 and row['name'] in top10):
eligible_stocks.append([index, row['name']])
except:
continue
eligible_stocks = [stock for stock in eligible_stocks if INDT('龙虎榜-上榜日期', stock[0]) == PREVDAY] # 筛选昨日出现龙虎榜的股票
return eligible_stocks
print(get_eligible_stocks())
在 Python 计算环境中,可以通过 akshare 包获取 A 股的机构调研次数数据,最终得到符合条件的股票列表。注意数据的清洗与异常处理,并对每只股票都计算出符合策略的指标。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
