问财量化选股策略逻辑
选股逻辑为:振幅大于1,换手率>2%且<9%,涨跌幅×超大单净量。该选股策略主要考虑市场流动性、热度和资金流向,以挑选出具有良好走势、资金支持的股票。
选股逻辑分析
该选股逻辑主要以振幅、换手率为技术面指标,以涨跌幅×超大单净量为资金面指标,综合分析市场流动性、热度和资金流向。这种选股方法较为全面,既兼顾了技术面又兼顾了资金面,具有较好的筛选效果。
有何风险?
该选股策略存在一定的风险,因为市场情况易受多种因素的影响,如政策、行情等因素,同时考虑到各行各业个股都有自己的特点和发展,挑选股票时难免存在个别情况。此外,股票价格的波动也可能会受到行业和宏观经济的影响、新闻事件等因素的影响。
如何优化?
为了提高选股策略的准确性和可信度,应该综合考虑市场流动性、基本面以及技术面等多个因素,建立一套完整的量化分析体系。在具体操作中,可以调整热点板块的分布情况,调整买卖信号的同步性等,以提高选股策略的准确性和稳定性。
最终的选股逻辑
选股条件为:振幅大于1,换手率>2%且<9%,涨跌幅×超大单净量大于0。同时加入风险控制和仓位管理策略,综合考虑市场流动性、基本面以及技术面等多个因素,以做到风险可控和盈利稳定。
同花顺指标公式代码参考
选股条件为:振幅大于1,换手率>2%且<9%,涨跌幅×超大单净量。
C1: MA((CLOSE-REF(CLOSE,1))/REF(CLOSE,1),5)>=0.03;//五日平均涨跌幅率大于3%
C2:CHANGE<=0;//收盘价小于等于前一日收盘价
C3:VOL/(VOL+VOLUME(21,1))>0.6;//超大单净量大于成交量的60%
C4:AFFECTEDTRADE/100>2; //超大单净量
SYMBOL: (C1 AND C2 AND C3 AND C4);
Python代码参考
import pandas as pd
import tushare as ts
def select_stocks(length):
ts.set_token('your token')
pro = ts.pro_api()
# 获取股票数据
stock_data = pro.stock_basic(list_status='L', exchange='SSE', fields='ts_code,symbol,name,industry,list_date')
current_date = '20220308'
# 筛选符合条件的股票
selected_stocks = []
for index, row in stock_data.iterrows():
code = row['ts_code']
info = {}
info['code'] = code
info['name'] = row['name']
# 排除科创板股票
industry = row['industry']
if industry.startswith('688'):
continue
# 获取技术数据
tech_data = pro.daily(ts_code=code, start_date='20220301', end_date=current_date, fields='high,low,close,vol')
if tech_data.empty:
continue
# 判断是否符合条件
turnover_rate = tech_data.iloc[-1]['vol'] / pro.stock_basic(ts_code=code).iloc[0]['total_share']
high = tech_data.iloc[-1]['high']
low = tech_data.iloc[-1]['low']
close = tech_data.iloc[-1]['close']
pre_close = tech_data.iloc[-2]['close']
roc = (close - pre_close) / pre_close * 100
# 获取资金流向数据
moneyflow_data = pro.moneyflow(ts_code=code, start_date='20220301', end_date=current_date,
fields='trade_date,change,net_mf_amt,bs_ratio')
if moneyflow_data.empty:
continue
# 计算涨跌幅×超大单净量
large_moneyflow_data = moneyflow_data[moneyflow_data['bs_ratio'] > 0.7]
large_net_moneyflow = large_moneyflow_data['net_mf_amt'].sum()
large_change = large_moneyflow_data['change'].sum()
change_rate = close / pre_close - 1
net_large_moneyflow_rate = large_net_moneyflow / (tech_data['vol'].rolling(21).mean().iloc[-1] * pro.stock_basic(ts_code=code).iloc[0]['price'])
if turnover_rate > 0.02 and turnover_rate < 0.09 and (high - low) > 1 \
and roc >= 0.03 and change_rate <= 0 and net_large_moneyflow_rate > 0 and large_change > 2:
selected_stocks.append(info)
if len(selected_stocks) >= length:
break
return selected_stocks
致辞
本次问答为问财量化选股策略逻辑的第六十篇,该选股策略主要兼顾了技术面和资金面,是一种综合分析市场流动性、热度和资金流向的选股方法。在未来的选股过程中,应该结合更多的市场因素,建立更全面、更科学的量化分析体系,以获得更好的选股效果。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
