问财量化选股策略逻辑
选股逻辑为:振幅大于1,换手率>2%且<9%,15分钟周期MACD绿柱变短。该选股策略主要考虑市场波动和活跃度因素,结合技术分析方法,通过MACD指标寻找股票短期买卖信号。
选股逻辑分析
该选股逻辑主要考虑市场波动和活跃度因素,以振幅、换手率为主要考量因素,再结合MACD指标寻找短期买卖信号。振幅大于1和换手率>2%且<9%是考虑市场波动和活跃度的因素,而MACD指标可以帮助寻找买卖信号。该选股策略与前面逻辑不同,加入了技术分析方法,通过MACD绿柱变短的信号来寻找股票买卖点,更有市场实时性和短期交易机会。
有何风险?
由于该选股逻辑过于依赖技术指标,可能会忽略一些重要的风险因素,如公司财务状况、治理结构、行业竞争等。同时,由于该策略出于短期交易机会而选股,存在过度交易、过度集中投资等风险,需要加强风险控制和仓位管理等策略。
如何优化?
为了提高选股的精度和稳定性,可以加入公司基本面指标和其他技术指标,如市盈率、市净率、相对强弱指标、均线系统等,以寻找符合价值投资和长期持有的优质股票。同时,也可以关注公司的治理结构、行业竞争力、行业增长趋势等因素,以寻找更符合长期价值和成长性的股票。应强化风险控制和仓位管理等策略,避免频繁交易和过度集中投资。在技术指标独立选股的基础上,可以结合其他技术指标和基本面指标,以进一步提高选股精度和稳定性。
最终的选股逻辑
选股条件为:振幅大于1,换手率>2%且<9%,15分钟周期MACD绿柱变短。结合公司基本面和其他技术指标,如市盈率、市净率、相对强弱指标、均线系统等,以寻找符合价值投资和长期持有的优质股票。同时,关注公司的治理结构、行业竞争力、行业增长趋势等因素,以寻找更符合长期价值和成长性的股票。强化风险控制和仓位管理等策略,避免频繁交易和过度集中投资。
同花顺指标公式代码参考
选股条件为:振幅大于1,换手率>2%且<9%,15分钟周期MACD绿柱变短。
/** 15分钟周期MACD绿柱变短 **/
MACD_I1:MACD(12, 26, 9)*100;
MACDREF_I1:REF(MACD_I1, 1);
COND1:NOT(MACD_I1<0) AND MACDREF_I1<0;
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')
fifteen_min_data = pro.query('fut_fun_min', ts_code=code, start_date='20220308 09:00:00', end_date='20220308 15:00:00', freq='15min', fields='close')
if len(tech_data) > 1:
# 计算技术指标
high = tech_data.iloc[-1]['high']
low = tech_data.iloc[-1]['low']
volatility = high - low
turnover_rate = tech_data.iloc[-1]['vol'] / pro.stock_basic(ts_code=code).iloc[0]['total_share']
# 计算MACD指标
ema12 = fifteen_min_data['close'].ewm(span=12, adjust=False).mean()
ema26 = fifteen_min_data['close'].ewm(span=26, adjust=False).mean()
macd = ema12 - ema26
macdsignal = macd.ewm(span=9, adjust=False).mean()
macdhist = macd - macdsignal
cond1 = turnover_rate > 2 and turnover_rate < 9
cond2 = volatility > 1
cond3 = macdhist.iloc[-1] < 0 and macdhist.iloc[-2] > macdhist.iloc[-1]
# 判断是否符合条件
if cond1 and cond2 and cond3:
selected_stocks.append(info)
if len(selected_stocks) >= length:
break
return selected_stocks
致辞
本次问答为问财量化选股策略逻辑的第五十篇,该选股策略主要考虑市场波动和活跃度因素,结合技术分析方法,通过MACD指标寻找股票短期买卖信号。需要加入公司基本面指标和其他技术指标来提高选股的精度和稳定性,同时关注公司的治理结构、行业竞争力、行业增长趋势等因素,以寻找更符合长期价值和成长性的股票。应强化风险控制和仓位管理等策略,避免频繁交易和过度集中投资。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
