问财量化选股策略逻辑
选股逻辑为:振幅大于1,大单净量排行,日线macd>0。该选股策略主要基于技术面来选股,利用振幅、大单净量和日线MACD指标等来筛选符合条件的个股,以便于找到潜在的牛股。
选股逻辑分析
该选股逻辑以技术指标为基础,利用MACD与振幅以及每天大单净量作为辅助指标来选股。MACD作为技术指标中的金叉、死叉之一,可以在股票走势的涨、跌方向变化时发出信号,同时振幅也可以反映出股价的波动程度,大单净量也可以反映股票交易的活跃度程度,结合选股条件的综合分析,可以较为准确地找到符合条件的股票。
有何风险?
该选股策略同样存在一定风险,可能会因为市场行情不符合预期、出现暴跌等因素导致投资收益下滑。此外,该选股方法未考虑公司基本面因素,导致选股结果可能存在较大的风险,需要获得全面、准确的公司基本面数据来支持选股决策。
如何优化?
优化方法可以考虑采用多指标选股的方式,增加选股条件,筛选出优质的股票。可以考虑增加公司基本面指标,如PE、PB和ROE等,或增加技术指标,如RSI和KDJ等。此外,可以加入风险控制和仓位管理等策略,避免过度交易和投入过大的风险。
最终的选股逻辑
选股条件为:振幅大于1,大单净量排行,日线MACD>0。需要加入公司基本面指标和其他技术指标来提高选股的精度和稳定性,并根据市场变化和个人需求进行动态调整和优化。同时,加入风险控制和仓位管理等策略,避免过度交易和投入过大的风险。
同花顺指标公式代码参考
SELECTED = V >= MA(V, N) * 1.5 AND COUNT(C > MA(C, 5), 5) >= 5 AND COUNT(MA(C, 5) > MA(C, 10), 5) > 3 AND MACD() >= 0 AND MAX(H, N) * 0.99 <= C AND MIN(L,1) <= MIN(L,2)
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']
# 获取技术指标数据
tech_data = pro.query('daily', ts_code=code, start_date='20220208', end_date=current_date, fields='high,low,close,vol')
if len(tech_data) > 26:
# 计算技术指标
dif, dea, macd = talib.MACD(tech_data['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
vol_ma5 = tech_data.iloc[-5:].loc[:, 'vol'].mean()
vol_ma10 = tech_data.iloc[-10:].loc[:, 'vol'].mean()
vol_ma20 = tech_data.iloc[-20:].loc[:, 'vol'].mean()
price_ma5 = tech_data.iloc[-5:].loc[:, 'close'].mean()
price_ma10 = tech_data.iloc[-10:].loc[:, 'close'].mean()
price_ma20 = tech_data.iloc[-20:].loc[:, 'close'].mean()
# 判断是否符合条件
cond1 = tech_data.iloc[-1].low < tech_data.iloc[-2].low and tech_data.iloc[-1].vol >= vol_ma20 * 1.5
cond2 = (tech_data.iloc[-5:].close > tech_data.iloc[-5:].close.mean()).sum() >= 5
cond3 = (tech_data.iloc[-5:].close > tech_data.iloc[-10:].close.mean()).sum() > 3
cond4 = macd[-1] > 0
cond5 = tech_data.iloc[-1].high >= tech_data.iloc[-10:].high.max() * 0.99
if cond1 and cond2 and cond3 and cond4 and cond5:
selected_stocks.append(info)
if len(selected_stocks) >= length:
break
return selected_stocks
致辞
本次问答为问财量化选股策略逻辑的第三十七篇,该选股策略主要基于技术面来选股,利用MACD与振幅以及每天大单净量作为辅助指标来选股,以便于找到潜在的牛股。需要加入公司基本面指标和其他技术指标来提高选股的精度和稳定性,并根据市场变化和个人需求进行动态调整和优化。同时,加入风险控制和仓位管理等策略,避免过度交易和投入过大的风险。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
