问财量化选股策略逻辑
选股逻辑为:选择换手率在3%-12%、饮料酒进出口、股票开盘价在十日均线的左右。
选股逻辑分析
该策略集中考虑了股票的交易量、股票的行业分类和股票的技术指标。前两者有助于挖掘潜力股,后者有助于发现股票买卖的时机。
有何风险?
该选股策略只考虑了十日均线指标,没有综合考虑其他技术指标和市场因素的干扰,因此有可能选择出来的股票并不具备较好的投资价值。
如何优化?
应该充分考虑其他技术指标和市场因素的影响,如均线穿越、MACD等技术指标等,还应综合考虑公司基本面财务指标,如市盈率、市净率等,制定更完善、更准确的选股策略,提高选股的准确性和覆盖率。
最终的选股逻辑
选择换手率在3%-12%、饮料酒进出口、股票开盘价在十日均线的左右。
同花顺指标公式代码参考
换手率在3%-12%:SELECT(TURN<N>=AVG(TURN, N) AND TURN<N+1>AVG(TURN, N+1) AND TURN<N>3 AND TURN<N<12)
饮料酒进出口:SELECT(SECTOR('K40')=1)
开盘价在十日均线左右:SELECT(CROSS(O,MA(C,N),1) AND CROSS(-1*O,-1*MA(C,N),1)),其中O为开盘价,C为收盘价,N为天数。
选股:SELECT(CODE AND 换手率3%-12% AND 饮料酒进出口 AND 开盘价在十日均线左右)
python代码参考
import pandas as pd
import tushare as ts
def select_stocks():
pro = ts.pro_api()
df1 = pro.stock_basic(exchange='SZSE', list_status='L', fields='ts_code,industry,name')
df1 = df1[(df1['industry'].str.contains('饮料') & df1['industry'].str.contains('酒'))]
df2 = pro.daily(trade_date='20220114', fields='ts_code,open,ma10')
df2['cross_above'] = df2['open'] > df2['ma10']
df2['cross_below'] = df2['open'] < df2['ma10']
df2 = df2[df2['cross_above'] & df2['cross_below']]
df3 = pro.trade_cal(exchange='', start_date='20220101', end_date='20221014', fields='cal_date,is_open')
df3 = df3[df3['is_open'] == 1]
cal_date = df3.iloc[-2]['cal_date'] # 获取昨日交易日
df4 = pro.top_list(trade_date=cal_date, fields='ts_code,buy_amount,sell_amount,net_amount,turnover_rate,buy_reason,sell_reason') # 获取昨日龙虎榜
df4 = df4[(df4['buy_reason'] > 0) & (df4['turnover_rate'] > 3) & (df4['net_amount'] > 0)]
df4['zdf'] = (df4['buy_amount'] - df4['sell_amount']) / df4['buy_amount'] * 100
df5 = pro.daily(trade_date=cal_date, fields='ts_code,turnover_rate')
df5 = df5[(df5['turnover_rate'] >= 3) & (df5['turnover_rate'] <= 12)]
df = pd.merge(df2, df1, on='ts_code')
df = pd.merge(df, df4, on='ts_code')
df = pd.merge(df, df5, on='ts_code')
df = df[df['name'].str.contains('ST') == False]
return df['ts_code']
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
