问财量化选股策略逻辑
本选股策略选取振幅大于1、下午大单净流入以及2019分红比例大于25%的股票作为选股标准,选取结果中的个股作为投资标的。
选股逻辑分析
本选股策略除了考虑交易量和波动性,还结合了分红情况,考虑了公司的分红能力与财务状况等因素。振幅大于1和下午大单净流入两个指标能够反映出当前股票的波动性与市场情绪,而分红比例大于25%则表明公司具有一定的盈利能力。这三个指标并非简单相加,而是形成一个多条件的筛选过程。
有何风险?
本选股策略忽略了股票的基本面生成的价值和市场的走势,存在一定风险。同时,股票的分红比例仅仅反映了公司一段时间的营收与利润状况,并不能反映公司的长期盈利能力。
如何优化?
可以结合其他指标,如企业的财务报表数据,研究公司的财务状况以确定公司的价值水平,再与技术面结合。同时可以结合市场走势,进行选股的确定,如选取行业前景非常好的股票,可以前景与技术面并存,从而提高投资的胜算。
最终的选股逻辑
本选股策略选取振幅大于1、下午大单净流入以及2019分红比例大于25%的股票作为选股标准,该选股标准从技术面和基本面综合考虑。同时,可以结合其他的指标和方法一起筛选,从而提高选股的可靠性。
同花顺指标公式代码参考
振幅大于1: ABS((HIGH-LOW)/PRE_CLOSE) > 0.01
下午大单净流入: C - O > (0.005 * V - MA(V, 3)) / 10000
2019分红比例大于25%: 2019分红总额/总股本 > 0.25
python代码参考
# 引入Tushare库、Numpy库、Pandas库
import tushare as ts
import numpy as np
import pandas as pd
# 连接Tushare库
pro = ts.pro_api()
def select_stocks(n):
selected_stocks = []
# 全部股票
all_stocks = pro.stock_basic(exchange='', list_status='L', fields='ts_code')
for ts_code in all_stocks["ts_code"]:
# 获取股票数据
k_data = pro.klines(ts_code=ts_code, start_date='1 year ago', end_date='today', freq='D')
quote_data = pro.query('daily', ts_code=ts_code, start_date='1 year ago', end_date='today')
dividend_data = pro.dividend(ts_code=ts_code)
if len(dividend_data)>0 and dividend_data.loc[0,"end_date"].year == 2019 and (dividend_data.loc[0,"total_amount"]/quote_data["total_share"][0] > 0.25).all() and (ABS((k_data["high"] - k_data["low"]) / k_data["pre_close"]) > 0.01).all() and (quote_data["close"] - quote_data["open"] > (0.005 * quote_data["vol"] - MA(quote_data["vol"],3))/10000).all():
selected_stocks.append(ts_code)
if len(selected_stocks) == n:
break
return selected_stocks
其中,MA()函数为计算指定日数的移动平均值。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
