问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%、流通市值50亿元到100亿元、近25个交易日内有单日涨幅大于等于10%的股票中进行选股。
选股逻辑分析
该选股逻辑的目的是在低风险的情况下选出近期表现较优的股票,以追求上涨潜力。选股逻辑中,选取了换手率和流通市值等因素控制风险,同时,选出近期涨幅较大的股票,表明市场关注度增加,有可能有上涨空间。
有何风险?
在应用此选股逻辑时,需要注意选股数据的可靠性,因为一些个股可能受到市场热度等非基本面因素的影响,而出现单日涨幅较大的情况。此外,股票市场具有一定的不确定性,应当充分考虑市场风险。
如何优化?
在使用该选股逻辑时,可以结合财务因素、技术分析等因素进行分析,以降低单一条件的局限性。例如,可以结合选股因素之外的指标,如市盈率、市净率等进行综合分析,避免选股过于单一。
最终的选股逻辑
选取在换手率3%到12%、流通市值50亿元到100亿元范围内,近25个交易日内有单日涨幅大于等于10%的股票,以追求上涨潜力为主。
同花顺指标公式代码参考
通达信选股公式:
选股条件:(TURNOVERRATE > 3) AND (TURNOVERRATE < 12) AND (CIRCULATION_VALUE > 5e9 AND CIRCULATION_VALUE < 1e10) AND (COUNT(IF(C/REF(C,1)>=1.1,1,0),25)>=1)
其中,TURNOVERRATE表示换手率,CIRCULATION_VALUE表示流通市值,COUNT(IF(C/REF(C,1)>=1.1,1,0),25)>=1表示25个交易日中有单日涨幅大于等于10%的交易日的天数不少于1天,以选出符合条件的股票。
Python代码参考
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['circulation_value'].mean() >= 5e9 and df['circulation_value'].mean() <= 1e10:
if sum(df['close'].pct_change().dropna() >= 0.1) >= 1:
selected_stocks.append(code)
return selected_stocks
该代码中,筛选出换手率在3%至12%之间、流通市值在50亿至100亿元之间、近25个交易日内有单日涨幅大于等于10%的个股,返回符合条件的股票列表。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
