问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%、流通市值50亿到100亿且三个技术指标同时金叉的主板股票中进行选股。
选股逻辑分析
该选股策略结合了市场流动性和技术指标,筛选出了具有市场活力且技术面较好的股票。在考虑流动性的基础上,结合技术面的价值判断,同时要求三个指标金叉,有一定的筛选精度和据此避免一些风险。
有何风险?
该选股策略非常依赖技术指标,只看技术面如果没有实质性的支撑很容易走出误区,同时该选股策略没有考虑到基本面因素,如公司财务、行业前景等等,因此存在无法忽略的风险。
如何优化?
在考虑技术指标的基础上,可以加入基本面和业绩水平等指标,评判一支股票的优劣。同时,可以对技术指标进行优化筛选,选取不同的指标,以及更加科学合理的条件组合,提高选股精度和效果,防止误选。
最终的选股逻辑
在换手率3%到12%、流通市值50亿到100亿且三个技术指标同时金叉的主板股票中进行选股。
同花顺指标公式代码参考
通达信选股公式:
选股条件:(TURNOVERRATE > 3 AND TURNOVERRATE < 12) AND CIRCULATION_VALUE > 5000000000 AND CIRCULATION_VALUE < 10000000000 AND CROSS(MA(CLOSE,5),MA(CLOSE,10)) AND CROSS(MA(CLOSE,10),MA(CLOSE,20)) AND CROSS(MA(CLOSE,20),MA(CLOSE,30))
其中,MA(CLOSE,5)表示5日均线的收盘价,CROSS(A,B)函数表示A与B相交。
Python代码参考
import numpy as np
import pandas as pd
from typing import List
def select_stock(data: pd.DataFrame, market: str = '主板') -> 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 \
np.all(df['close'].iloc[-3:].rolling(5).mean() > df['close'].iloc[-3:].rolling(10).mean()) and \
np.all(df['close'].iloc[-3:].rolling(10).mean() > df['close'].iloc[-3:].rolling(20).mean()) and \
np.all(df['close'].iloc[-3:].rolling(20).mean() > df['close'].iloc[-3:].rolling(30).mean())):
selected_stocks.append(code)
return selected_stocks
其中,我们通过判断3个均线的金叉情况,筛选出技术面较好的股票,标的股票通过各个条件进行筛选,从而得到选股结果。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


