问财量化选股策略逻辑
本选股策略选取振幅大于1,昨日换手率*(今日竞价成交量/昨日成交量)在0.5到2之间,周K线上穿30周线的股票作为投资目标。此策略主要通过技术分析和趋势分析,筛选出具备上涨趋势和较高稳定性的股票。
选股逻辑分析
本选股策略主要考虑市场波动和历史交投情况,以及趋势走势的判断。振幅反映出市场的基本属性,而历史交易量和换手率反映出市场情绪变化。同时加入周K线上穿30周线的逻辑,判断出股票的中长期趋势。综合考虑可更好地判断当前市场行情。
有何风险?
本选股策略选股标准相对固定,可能会漏选具备上涨潜力的股票,也有可能选入未来表现较差的股票。同时,市场波动和基本面变化,以及政策、事件等因素可能会对股价带来较大影响,从而引起选股策略的失效或者误判。
如何优化?
为了更好地优化选股策略,可增加其他指标的考量,如其他周期的均线交叉,MACD、KDJ等指标的使用。同样可以结合基本面分析和市场情绪分析,以便更好地反映市场情况并降低误判。加强对股票流动性的量化研究,提高选股策略的稳定性。
最终的选股逻辑
本选股策略选取振幅大于1,昨日换手率*(今日竞价成交量/昨日成交量)在0.5到2之间,周K线上穿30周线的股票作为投资目标。在此基础上,加入其他指标的考量,如其他周期的均线交叉、MACD、KDJ等,结合基本面分析和市场情绪分析,以更好地反映市场情况并降低误判。加强对股票流动性的量化研究,提高选股策略的稳定性。
同花顺指标公式代码参考
无
Python代码参考
import tushare as ts
import pandas as pd
pro = ts.pro_api()
def select_stocks(n):
selected_stocks = []
for code in pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,name,list_date,list_status,total_mv')["ts_code"]:
if 'ST' in code:
continue
if float(pro.stock_basic(ts_code=code, fields='circ_mv').iloc[0]) / 100000000 < 50:
continue
if float(pro.stock_basic(ts_code=code, fields='circ_mv').iloc[0]) / 100000000 > 100:
continue
price = pro.query('daily', ts_code=code, start_date='', end_date='', fields='ts_code,trade_date,open,high,low,close').\
assign(amplitude=lambda x: (x['high'] - x['low']) / x['pre_close'] * 100).\
assign(volume_rate = lambda x: pro.query('quote', ts_code=x['ts_code'].iloc[0], fields='trade_date,vol,turnover_rate,mf_vol,mf_amt').set_index('trade_date').\
assign(jjjhl=lambda x:x['mf_vol']/x['vol']).\
assign(cjjhl=lambda x:x['turnover_rate']/x['jjjhl']).\
assign(diff_cjjhl= lambda x:x['cjjhl'].diff()).\
dropna().iloc[-1]['diff_cjjhl']
)
if price.iloc[-1]['amplitude'] < 1 or price.iloc[-1]['volume_rate'] < 0.5 or price.iloc[-1]['volume_rate'] > 2:
continue
k_line = pro.query('daily', ts_code=code, start_date='', end_date='', fields='ts_code,trade_date,open,high,low,close').\
assign(MA30 = lambda x:x['close'].rolling(30).mean())
if k_line.iloc[-1]['MA30'] > k_line.iloc[-1]['close'] or k_line.iloc[-2]['MA30'] < k_line.iloc[-2]['close']:
continue
selected_stocks.append(code)
return selected_stocks[:n]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
