问财量化选股策略逻辑
本选股策略选取振幅大于1,昨日换手率*(今日竞价成交量/昨日成交量)在0.5到2之间,且KDJ中的K值增长值为正的股票作为投资目标。通过技术分析和基本面分析相结合,筛选出具备增长潜力和良好资金流动性的股票。
选股逻辑分析
本选股策略结合了技术面和基本面因素,选取了振幅、流动性和KDJ中K值增长的指标。振幅和流动性指标可以反映市场受市场波动的影响和市场趋势的流畅程度,KDJ中的K值增长则体现了股票在技术面上的表现,选股相对综合。
有何风险?
本选股策略选股标准较为固定,可能会漏选某些股票。此外,通过KDJ指标来判断可能存在某些误判情况,不能完全覆盖市场情绪传导等因素,行情波动性也不可预估。
如何优化?
为了更好地优化选股策略,应加入更多因子判断,如市盈率、市净率等指标,更全面地分析企业财务状况、估值和发展潜力等因素。同时,可以结合基本面分析和市场情绪分析等,以便更好地反映市场情况并降低误判。此外,可以结合多种技术面分析方法和量化策略分析模型,以提高策略效果。
最终的选股逻辑
本选股策略选取振幅大于1,昨日换手率*(今日竞价成交量/昨日成交量)在0.5到2之间,且KDJ中的K值增长值为正的股票作为投资目标。同时,建议加入更多基本面数据和自定义因子的考量,综合判断股票的财务状况、行业竞争力,以及市场情绪等因素,以选出具备良好投资回报潜力和风险可控的股票。
同花顺指标公式代码参考
无
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
k_value = pd.DataFrame(pro.query('daily', ts_code=code, start_date='', end_date='', fields='ts_code,trade_date,k,{}').iloc[-2:]).\
assign(k_lambda=lambda x: x['k'].iloc[1] - x['k'].iloc[0])
if k_value.iloc[-1]['k_lambda'] < 0:
continue
price = pro.daily(ts_code=code, start_date='', end_date='', fields='ts_code,close,pre_close')
vol_rate = pro.moneyflow(ts_code=code, start_date='', end_date='', fields='ts_code,trade_date,turnover_rate,vol,amount,buy_sm_vol,sell_sm_vol,buy_md_vol,sell_md_vol,buy_lg_vol,sell_lg_vol')
vol_rate = vol_rate.set_index('trade_date')
if len(price) <7:
continue
close_list = price.iloc[-7:]['close'].tolist()
if all([x<y for x,y in zip(close_list[:-1], close_list[1:])]):
selected_stocks.append([code, price.iloc[-1]['close']])
return [x[0] for x in selected_stocks][:n]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
