问财量化选股策略逻辑
选股逻辑为:选择换手率在3%~12%之间、买一量大于卖一量,并且昨日9:15匹配价跌停的股票。
选股逻辑分析
该选股策略考虑了交易活跃度和市场需求,同时借助昨日9:15匹配价跌停的指标,筛选出股价下跌的股票,有利于获取更高的收益。
有何风险?
该选股策略同样缺乏对于基本面指标的考虑,同时过度追求换手率可能会导致过于频繁的调仓,并且股价是否跌停不一定能够反映出该股的价值,可能会漏选优秀的基本面公司。
如何优化?
可以引入和基本面相关的选股指标,并且可以借助机器学习等技术来建立基于历史数据的预测模型,更加准确地选出优秀的股票。同时可以根据历史数据和行业特点,选择更加准确的筛选条件,如加入股票的估值、盈利等指标。
最终的选股逻辑
在众多股票中选择换手率在3%~12%之间的股票,满足买一量大于卖一量、昨日9:15匹配价跌停的条件。
同花顺指标公式代码参考
SELECT SYMBOL FROM
(SELECT SYMBOL, TURNOVERRATE, BUY1VOLUME, SELL1VOLUME FROM STOCK_INFO
-- 选择换手率在3%~12%之间
WHERE TURNOVERRATE > 3 AND TURNOVERRATE < 12
-- 选择买一量大于卖一量
AND BUY1VOLUME > SELL1VOLUME
AND SYMBOL IN
(SELECT SYMBOL FROM QUOTE_INFO
-- 选择昨日9:15匹配价跌停的股票
WHERE YESTERDAY_CLOSE = DOWN_LIMIT_PRICE))
-- 选取前5的股票
WHERE ROWNUM <= 5;
python代码参考
import pandas as pd
import tushare as ts
def select_stocks():
pro = ts.pro_api()
# 查询挂带大量大于卖一量的股票
market_df = pro.market_detail(symbol='', trade_date='20220422')
df1 = market_df[(market_df['bid_vol'] > market_df['ask_vol'])]
# 查询昨日9:15匹配价跌停的股票
down_limit_df = pro.limit_list(trade_date='20220421', fields='ts_code')
df1 = pd.merge(df1, down_limit_df, on='ts_code', how='inner')
# 筛选出换手率在3%~12%之间的股票
basic_df = pro.stock_basic(exchange='', list_status='L', fields='ts_code,name,area,industry,list_date')
df1 = pd.merge(df1, basic_df, on='ts_code', how='inner')
df1['turnover_rate'] = pro.daily_basic(ts_code='', trade_date='20220422')['turnover_rate']
df1 = df1[(df1['turnover_rate'] > 3) & (df1['turnover_rate'] < 12)]
# 查询股票的市值和资金净流入情况
moneyflow_df = pro.moneyflow(ts_code='', trade_date='20220422', fields='ts_code,in_out_ratio,main_inflow,super_inflow,big_inflow,mid_inflow,small_inflow')
df2 = pd.merge(df1[['ts_code']], moneyflow_df, on='ts_code', how='inner')
# 合并所有指标,返回选股结果
return df2['ts_code']
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
