问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%、流通市值50-100亿的主板股票中,根据涨跌幅与超大单净量的乘积进行选股。
选股逻辑分析
该选股逻辑结合了流通市值、换手率等短期因素,同时考虑了超大单净量对股票走势的影响,从而选择具备流动性、波动性较好的股票。
有何风险?
虽然该选股逻辑考虑了超大单净量等因素,但仍然忽略了公司基本面等因素,可能存在短期内虚高的风险。另外,超大单净量只能反映当前时期的资金流向,过分依赖该指标可能会错过长期投资机会。
如何优化?
我们可以加入股票的质量等长期考量因素,如股票市盈率、市净率、ROE等指标,以及公司业务模式、竞争优势等进行分析,选取高质量的、估值合理的股票作为投资标的。同时,可以引入更多的技术指标、基本面指标等进行综合考虑,以减小单一行情的风险。
最终的选股逻辑
选股条件为:在换手率3%到12%、流通市值50-100亿的主板股票中,当日涨跌幅与超大单净量的乘积最大的10只股票。
同花顺指标公式代码参考
以下是通达信选股公式:
选股条件:(TURNOVERRATE > 3 AND TURNOVERRATE < 12) AND CIRCULATION_VALUE > 5000000000 AND CIRCULATION_VALUE < 10000000000
AND MARKET != '创业板' AND REF(CLOSE,1)*VOLUME > 100000000
AND MAX((CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100*VOLUME/10000,0) >
(SELECT
MAX((CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100*VOLUME/10000)
FROM STOCKDATA
WHERE
TURNOVERRATE > 3 AND TURNOVERRATE < 12
AND CIRCULATION_VALUE > 5000000000 AND CIRCULATION_VALUE < 10000000000
AND MARKET != '创业板' AND REF(CLOSE,1)*VOLUME > 100000000
AND C = DATE) * 0.8
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 \
df['market'].iloc[-1] == market and \
df['close'].iloc[-2] * df['volume'].iloc[-1] > 100000000):
if ((df['close'].iloc[-1] - df['close'].iloc[-2])/df['close'].iloc[-2] * 100 * df['volume'].iloc[-1]/10000 > \
df['close'].diff().iloc[-2] * 100 * df['volume'].iloc[-2]/10000 * 0.8):
selected_stocks.append(code)
return selected_stocks
需要注意,数据源指标名称的设置以及市场类型参数的设置。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


