问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%、流通市值50亿到100亿、昨日非涨停板的主板股票中进行选股。
选股逻辑分析
该选股逻辑结合了股票流动性和基本面因素,同时筛选出了昨日没有涨停的股票,具有一定的技术面特征。适用于对股票价格未来走势有一定判断的投资者。但是,该选股逻辑存在完全依赖历史数据的问题,难以适应市场变化,容易带来一定的投资风险。
有何风险?
该选股逻辑依赖的主要因素较单一,仅考虑昨日的非涨停特征,过于依赖历史数据,容易受到市场变化和行业趋势的影响,选择的股票容易出现较大偏差,增加了投资风险。此外,该选股逻辑较为依赖交易手续费等因素,未考虑其他可能存在的因素,如公司基本面和市场热点等,难以及时适应市场变化,风险较高。
如何优化?
可以增加更多的技术指标,以挖掘更多的投资机会,并识别有一定趋势特征的股票,从而提高选股策略的运用效果。可以对股票进行分组,按照市场资本化规模、行业趋势等因素进行分类,进一步减少选择的股票与市场趋势不符的可能性,并确保投资的稳健性和准确性。同时,可以加入其他的技术指标,并结合基本面等因素,使用多维度的数据进行综合考虑,提高选股的可靠性和运用效果。
最终的选股逻辑
在换手率3%到12%、流通市值50亿到100亿、昨日非涨停板的主板股票中进行选股。
同花顺指标公式代码参考
通达信选股公式:
选股条件:TURNOVERRATE > 3 AND TURNOVERRATE < 12 AND CIRCULATION_VALUE > 5000000000 AND CIRCULATION_VALUE < 10000000000 AND YESTERDAY() NO = MAX(YESTERDAY(), 1, HIGH= LIMUP)
其中,TURNOVERRATE表示换手率,CIRCULATION_VALUE表示流通市值,YESTERDAY()函数表示昨日数据,HIGH=LIMUP表示当天最高价为涨停价,MAX函数为求最大值函数。
Python代码参考
import pandas as pd
from typing import List
def select_stock(data: pd.DataFrame, market: str = '主板') -> List[str]:
selected_stocks = list(data.query('market == @market and \
turnoverrate > 3 and turnoverrate < 12 and \
5000000000 < circulation_value < 10000000000 and \
yesterday_no != (yesterday_no[1:] == (data.high == data.limup)).any()') \
.index.get_level_values(0))
return selected_stocks
其中,通过pandas对数据进行筛选,将基本面和技术面进行比较,查询出符合条件的股票,并通过昨日没有涨停的特征来确认符合条件的股票,然后返回符合条件的股票列表。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
