问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%、流通市值50-100亿、15分钟周期MACD绿柱变短的股票中选股。
选股逻辑分析
通过筛选出具有较好流动性和市场表现的股票,并且加入了技术分析因素,即绿柱变短,可以获取一定的交易信号。但是,该逻辑仍然未考虑到企业的基本面指标等,存在一定的风险。
有何风险?
由于该逻辑仍然未加入基本面和其他的技术指标,可能会造成选择低质量股票的风险。同时,加入的绿柱变短信号也需要进一步考虑市场趋势等其他因素,不能仅仅依赖于一个指标来做出决策。
如何优化?
应该结合企业基本面和多个技术指标,来进行选股。同时,在添加MACD绿柱变短因素时,还需要考虑价格走势、成交量和其他技术指标,综合分析,避免单一指标误导。
最终的选股逻辑
选股条件为:在考虑多个基本面、技术指标等因素的基础上,结合流通市值和成交活跃度指标,筛选出具有较好质量能力和市场表现的股票;且15分钟周期MACD绿柱变短。
同花顺指标公式代码参考
以下是通达信选股公式:
选股条件:(TURNOVERRATE >3 AND TURNOVERRATE < 12) AND CIRCULATION_VALUE > 5000000000 AND CIRCULATION_VALUE < 10000000000
AND MACD(EMA(C,12),EMA(C,26),9)-REF(MACD(EMA(C,12),EMA(C,26),9),1)>0 AND
REF(MACD(EMA(C,12),EMA(C,26),9),1)-MACD(EMA(C,12),EMA(C,26),9)>0 AND HHV(HIGH, 10)>C AND
LLV(LOW,10)<C
注:HHV为周期内最高价,LLV为周期内最低价,C为收盘价,TURNOVERRATE为换手率,CIRCULATION_VALUE为流通市值
python代码参考
import numpy as np
import pandas as pd
from typing import List
def select_stock(data: pd.DataFrame) -> List[str]:
selected_stocks = []
for code, df in data.groupby(level=0):
if (df['turnoverratio'].iloc[-1] > 3 and df['turnoverratio'].iloc[-1] < 12 and \
df['circulation_value'].iloc[-1] > 5000000000 and df['circulation_value'].iloc[-1] < 10000000000 and \
(df['macd'].iloc[-1] - df['macd'].iloc[-2] > 0) and (df['macd'].iloc[-2] - df['macd'].iloc[-1] > 0) and \
(df['high'].iloc[-10:].max() > df['close'].iloc[-1]) and (df['low'].iloc[-10:].min() < df['close'].iloc[-1])):
selected_stocks.append(code)
return selected_stocks
需要注意,通达信指标中的HHV和LLV对应python代码中的high和low。同时也需注意数据源指标名称的对应关系。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
