问财量化选股策略逻辑
选股逻辑为:在换手率3%到12%、外盘/内盘比例大于1.3、昨天换手率大于8%的股票中选择。
选股逻辑分析
选股逻辑依然考虑了换手率、外盘情况和流通市值等因素,同时加入了昨天换手率大于8%的条件。这个选股策略可以帮助筛选出做好了技术面和基本面的标的,可以有效地限制筛选范围,提高筛选结果的可靠性。
有何风险?
同样可能会忽略一些其他具有投资价值的股票,并且容易被市场波动所影响。同时,与其他选股策略一样,筛选条件设置过于苛刻可能会导致选择出的股票数量较少。
如何优化?
可以考虑放宽筛选条件,以便更多的股票能够被选择出来。可以加入其他指标标准,如股票行业、估值等来综合评估股票的投资价值。
最终的选股逻辑
在换手率3%到12%、外盘/内盘比例大于1.3、昨天换手率大于8%的股票中选择。
同花顺指标公式代码参考
以下是同花顺指标所需公式:
选股公式:
SELECT code FROM (
SELECT code FROM STOCK_BASIC
WHERE (outstanding+totals)*per_share>1000000000 AND CURRENT_RATIO>1 AND quick_ratio>1
UNION ALL
SELECT code FROM STOCKS_NEW AS a
WHERE (a.trade_date BETWEEN '20220110' and '20220215')
AND (exists(SELECT month_high_id FROM MONTH_HIGH AS b WHERE a.code=b.code
AND ((a.close-b.high)/b.high<=-0.1) AND a.trade_date=b.date))
AND (exists(SELECT quarter_report_id FROM CQF_REPORT AS c WHERE a.code=c.code
AND a.trade_date=c.date))
AND a.changepercent BETWEEN -5 AND 2
AND a.amount BETWEEN 2000 AND 4000
UNION ALL
SELECT code AS code FROM STOCK_BASIC
WHERE turnoverratio between 3 and 12
AND (sell_deal_num/buy_deal_num) >= 1.3
AND (volume_ratio > 1.5)
AND (((amt-b_amt)-(sell_amt-b_sell_amt))/(amt+b_amt+0.01))<0
AND (((amt-b_amt)+(buy_amt-b_buy_amt))/(amt+b_amt+0.01))<0
AND (((sell_amt-b_buy_amt)-(buy_amt-b_sell_amt))/(sell_amt+b_sell_amt+0.01))<0
AND (((sell_vol-buy_vol)-(buy_vol-sell_vol))/(sell_vol+buy_vol+0.01))<0
AND b_turnoverratio > 8
AND TIME_TO_SEC(hs_time) = 34200
) AS s1
WHERE code LIKE '00%' OR code LIKE '30%' OR code LIKE '60%'
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['turnoverratio'].iloc[-1] > 3 and \
df['turnoverratio'].iloc[-1] < 12 and \
df['outvolume'].iloc[-1] / df['involume'].iloc[-1] > 1.3 and \
df['turnoverratio'].iloc[-2] > 8):
selected_stocks.append(code)
return selected_stocks
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


