问财量化选股策略逻辑
选股逻辑为:振幅大于1,换手率>2%且<9%,高点为两日最高。该选股策略主要考虑市场波动和活跃度因素,以及短期技术走势,寻找短期交易机会。
选股逻辑分析
该选股逻辑主要考虑市场波动和活跃度因素,以振幅、换手率为主要考量因素,同时结合技术走势指标,寻找短期交易机会。高点为两日最高可以反映近期的短期技术走势,如果能够抓住这一点,可以一定程度上提高选股的精度。
有何风险?
由于该选股逻辑过于依赖近期短期技术走势,可能会忽略一些重要的因素,如公司基本面、治理结构、行业竞争等。同时,由于该选股策略出于短期交易机会种,存在过度交易、过度集中投资等风险,需要严格控制交易频率和仓位管理等策略。
如何优化?
为了提高选股的精度和稳定性,需要加入公司基本面指标和其他技术指标,如市盈率、市净率、相对强弱指标、均线系统等,以寻找符合价值投资和长期持有的优质股票。同时,也可以关注公司的治理结构、行业竞争力、行业增长趋势等因素,以寻找更符合长期价值和成长性的股票。应强化风险控制和仓位管理等策略,避免频繁交易和过度集中投资。提高选股的多样性和稳定性,考虑更长期的投资收益。
最终的选股逻辑
选股条件为:振幅大于1,换手率>2%且<9%,高点为两日最高。结合公司基本面和其他技术指标,如市盈率、市净率、相对强弱指标、均线系统等,以寻找符合价值投资和长期持有的优质股票。同时,关注公司的治理结构、行业竞争力、行业增长趋势等因素,以寻找更符合长期价值和成长性的股票。强化风险控制和仓位管理等策略,避免频繁交易和过度集中投资。
同花顺指标公式代码参考
选股条件为:振幅大于1,换手率>2%且<9%,高点为两日最高。
/** 常规指标 **/
VAR2:LLV(HIGH,2); //两日最低
VAR3:HHV(HIGH,2); //两日最高
C: REF(HIGH, 1) = VAR3 AND VAR3 > VAR2 AND CHANGE < 0;
N: C > 0;
SZ:SELECTDB(SECCODE,2)='SSE' OR SELECTDB(SECCODE,2)='SZSE';
C1:(HIGH-LOW)/LOW*100 > 1;
C2:VOL/SUM(VOL,2) >= 0.02 AND VOL/SUM(VOL,2) <= 0.09;
SORT(N,ASY);
TYP1:N;
TYP2:C1 AND C2;
CONDITION = TYP2;
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.query('daily', ts_code=code, start_date='20220208', end_date=current_date, fields='high,low,close,vol')
finance_data = pro.fina_indicator(ts_code=code, start_date='20200101', end_date='20211231', fields='yield_rate')
turnover_rate = tech_data.iloc[-1]['vol'] / pro.stock_basic(ts_code=code).iloc[0]['total_share']
if len(tech_data) > 2:
# 计算技术指标
high = tech_data.iloc[-1]['high']
low = tech_data.iloc[-1]['low']
volatility = high - low
# 计算当日是否创新高
is_highest = tech_data.iloc[-1]['high'] == tech_data['high'][-2:].max()
cond1 = turnover_rate > 2 and turnover_rate < 9
cond2 = volatility > 1
cond3 = finance_data.iloc[-1]['yield_rate'] > 5
# 判断是否符合条件
if is_highest and cond1 and cond2 and cond3:
selected_stocks.append(info)
if len(selected_stocks) >= length:
break
return selected_stocks
致辞
本次问答为问财量化选股策略逻辑的第五十二篇,该选股策略主要考虑市场波动和活跃度因素,以及短期技术走势,寻找短期交易机会。可以加入公司基本面指标和其他技术指标来提高选股的精度和稳定性,同时关注公司的治理结构、行业竞争力、行业增长趋势等因素,以寻找更符合长期价值和成长性的股票。需要注意风险,避免频繁交易和过度集中投资。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
