问财量化选股策略逻辑
选股逻辑:rsi小于65,上市大于1年,2019年分红比例大于25%。
选股逻辑分析
该选股逻辑结合了技术面和基本面因素,通过RSI指标评估股票是否处于超卖状态,筛选出市场情绪较差的股票;同时关注公司的分红政策,选择分红比例较高的股票。通过该选股逻辑,预计可以选择出一些估价偏低,但未来业绩有望改善的公司。
有何风险?
该选股逻辑也不能充分考虑公司的所有基本面因素,如市场竞争力、未来发展前景等因素,需要在实际操作中谨慎对待。同时,股票的分红比例是一次性的事件,不能代表公司未来分红政策的稳健性,需要结合其他因素慎重分析。
如何优化?
可以考虑增加其他基本面因素的筛选条件,如ROE、PE等指标,以及公司业绩、财务状况等数据,以更全面的多角度去考虑选股的问题,避免机械化地依赖单一指标。
最终的选股逻辑
选股逻辑:rsi小于65,上市大于1年,2019年分红比例大于25%。
同花顺指标公式代码参考
C1: MAINBORADINFO(0) == 1 AND HSL >= 0.1
C2: RSI(CLOSE, 14) <= 65
C3: DIVIDEND(0) / REF(CLOSE, 252) >= 0.25
SELECT IF(C1 AND C2 AND C3, 1, 0)
Python代码参考
import pandas as pd
import akshare as ak
import talib
def get_stock_list():
result_df = pd.DataFrame()
stock_pool = ak.stock_zh_a_spot().astype({'证券代码':'str'})['证券代码'].tolist()
for code in stock_pool:
# 获取股票基本信息
stock_info = ak.stock_info_a_name(code).reset_index(drop=True)
if len(stock_info) == 0:
continue
stock_info.rename(columns={"0": "name", "1": "market_cap"}, inplace=True)
stock_info['code'] = code
stock_info = stock_info[['code', 'name']]
# 获取股票K线数据并计算技术指标
df = ak.stock_zh_a_daily(symbol=code, adjust="qfq")
if len(df) == 0:
continue
# 计算RSI指标
df['rsi'] = talib.RSI(df['收盘价'].values, timeperiod=14)
# 判断2019年分红比例是否大于25%
dividend_df = ak.stock_financial_report_sina(stock=code, year="2019", quarter=4, report_type="lrb")
if len(dividend_df) == 0:
continue
dividend_ratio = dividend_df.loc[13, '每股公积金含量'] / df.loc[0, '收盘价']
condition = (dividend_ratio > 0.25)
if condition:
result_df = result_df.append(stock_info, ignore_index=True)
return result_df
Python依赖库
-
pandas
-
akshare
-
talib
## 如何进行量化策略实盘? 请把您优化好的选股语句放入文章最下面模板的选股语句中即可。 select_sentence = '市值小于100亿' #选股语句。 模板如何使用? 点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。 ## 如果有任何问题请添加 下方的二维码进群提问。 

