问财量化选股策略逻辑
选股逻辑为:选择换手率在3%~12%、买一量大于卖一量、股票均价站在五日均线之上的股票。
选股逻辑分析
该选股策略不仅考虑了交易活跃度和市场需求,还考虑了股票的技术面情况,可以综合考虑股票的市场走势和投资者需求。
有何风险?
该选股逻辑仍然比较简单,可能无法全面反映公司的基本面情况,也存在被市场情绪影响的风险。
如何优化?
可以加入更多关于公司财务和业绩的基本面指标,同时加入市场情绪指标,更综合地进行选股。
最终的选股逻辑
在众多股票中选择换手率在3%~12%、买一量大于卖一量、且股票均价站在五日均线之上的股票。
同花顺指标公式代码参考
SELECT * FROM
(SELECT * FROM
(SELECT * FROM
(SELECT * FROM
-- 选出换手率在3%~12%之间的股票
(SELECT * FROM stock_info WHERE TURNOVER_RATIO > 3 AND TURNOVER_RATIO < 12)
-- 选出挂买一量大于卖一量的股票
WHERE BUY1_VOLUME > SELL1_VOLUME)
-- 选出五日均线上涨的股票
WHERE CLOSE > MA5)
-- 按当前市值排序,选择前20条结果
ORDER BY CAPITALIZATION DESC)
-- 选择有资金净流入的股票
WHERE IN_DF > 0;
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'])]
# 查询均价站在五日均线之上的股票
daily_df = pro.daily(trade_date='20220422', ma=[5])
df2 = daily_df[(daily_df['close'] > daily_df['ma5'])]
# 筛选出换手率在3%~12%之间的股票
df3 = pd.merge(df1, df2[['ts_code', 'close']], on='ts_code', how='inner')
df3 = pd.merge(df3, df2[['ts_code', 'turnover_rate']], on='ts_code', how='inner')
df3 = df3[(df3['turnover_rate'] > 3) & (df3['turnover_rate'] < 12)]
# 查询股票的市值和资金净流入情况
basic_df = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date,market,market_capitalization')
moneyflow_df = pro.moneyflow(trade_date='20220422', fields='ts_code,in_df')
df4 = pd.merge(basic_df, moneyflow_df, on='ts_code', how='inner')
df4 = pd.merge(df3[['ts_code', 'turnover_rate']], df4, on='ts_code', how='inner')
# 合并所有指标,返回选股结果
return df4.sort_values(by=['market_capitalization'], ascending=False).head(20)['ts_code']
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
