问财量化选股策略逻辑
选股逻辑为:在换手率3%-12%、市值100亿以内、无亏损的A股中,按今日竞价金额排序,选前5只进行投资。
选股逻辑分析
该选股逻辑通过在符合公司基本面较好的个股中,按今日竞价金额排序,选取交易活跃的前5只进行投资,能够挖掘出交易活跃、市场情绪较好的股票,同时降低投资风险。
有何风险?
该选股逻辑仅注重股票价格的交易活跃性和市场情绪的判断,忽略了公司财务状况、市场宏观经济、政策环境等影响,容易对市场风险和公司股价的长期变化造成忽略和误判。
如何优化?
应该根据公司的经营情况和市场整体性做出综合判断,加强基本面和市场因素的分析和建模,重视公司财务状况、前景、竞争状况、行业关键指标及政策环境等影响因素。在使用竞价金额排序选取股票的策略上,应该根据市场需求、股票表现等因素做出合理的判断,避免单纯追求交易量而忽略其它的重要因素。
最终的选股逻辑
在符合换手率3%-12%、市值100亿以内、无亏损的A股中,按今日竞价金额排序,选取交易活跃的前5只进行投资,并在此基础上,综合考虑市场因素和公司经营状况等关键因素,制定更全面、更科学的选股策略。
同花顺指标公式代码参考
选股公式:(CIRCMV <= 10000000000 AND SHELL = 0 AND TBD = 0) ORDER BY AMOUNT / (LEADERAMOUNT + 1) DESC LIMIT 5
Python代码参考
import pandas as pd
import tushare as ts
def get_good_stocks(N):
good_list = []
ts.set_token('your_token')
pro = ts.pro_api()
stock_list = pro.stock_basic(exchange='', list_status='L', fields='ts_code')['ts_code']
for ts_code in stock_list:
if pro.namechange(ts_code=ts_code) and pro.namechange(ts_code=ts_code)['name'].iloc[0].find('ST') >= 0: # 非ST股票
continue
market_data = pro.daily_basic(ts_code=ts_code, start_date='20220222', end_date='20220222', fields='ts_code, circ_mv, turnover_rate')
if market_data.empty or market_data.iloc[-1]['circ_mv'] > 10000000000 or market_data.iloc[-1]['turnover_rate'] < 0.03 or market_data.iloc[-1]['turnover_rate'] > 0.12:
continue
amount_data = pro.broker_tops(trade_date='20220222', ts_code=ts_code, fields='broker_buy')
if amount_data.empty:
continue
# 计算今日竞价金额,并按竞价金额排序
amount_data['JBJE'] = amount_data['broker_buy'].apply(lambda x: sum([float(item.split(':')[-1]) for item in x.split(',')]))
amount_data.sort_values('JBJE', ascending=False, inplace=True)
if amount_data.shape[0] < 5:
continue
good_list.extend(amount_data.iloc[:5]['ts_code'].tolist())
return list(set(good_list[:N]))
good_stocks = get_good_stocks(5)
print(good_stocks)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
