问财量化选股策略逻辑
选取振幅大于1、机构资金动向大于0、近25个交易日内有单日涨幅达到或超过10%的股票作为选股对象。
选股逻辑分析
该选股逻辑综合考虑了股票短期内的市场表现和机构资金动向情况。振幅、机构资金动向和单日涨幅等因素,一方面反映了个股的市场活跃性,另一方面则反映了机构和个人投资者的参与程度。
有何风险?
该选股逻辑可能存在过度追求短期涨幅的风险,选取的股票可能存在高位套牢或长期价值不佳的情况。另外,选取涨幅中存在一定主观性,需要投资者结合具体市场情况和自身投资目标进行分析。
如何优化?
可以增加其他关键指标,如市盈率、市净率和ROE等,以更全面地了解股票的基本面和投资价值。此外,可以加入技术分析因素,如均线系统和K线形态等,结合选定的策略进行筛选和分析。
最终的选股逻辑
选取振幅大于1、机构资金动向大于0、近25个交易日内有单日涨幅达到或超过10%的股票作为选股对象,并结合其他关键指标和技术分析因素进行综合分析。
同花顺指标公式代码参考
// 筛选振幅大于1的股票
amplitude = (HIGH - LOW) / OPEN
amplitude_bool = amplitude > 1
// 筛选机构资金动向大于0的股票
FUND_NET_AMOUNT = IF(NETFAMOUNT>0,NETFAMOUNT,0)
sum_fund_net_amount = SUM(FUND_NET_AMOUNT, 5)
fund_trend_bool = sum_fund_net_amount > 0
// 筛选25个交易日内有单日涨幅达到或超过10%的股票
max_close_25 = MAX(CLOSE, 25)
daily_growth_rate = (CLOSE / REF(max_close_25, 1) - 1) * 100
daily_growth_10_bool = daily_growth_rate >= 10
// 筛选符合条件的股票
result = amplitude_bool & fund_trend_bool & daily_growth_10_bool
// 输出筛选结果
result
Python代码参考
import tushare as ts
# 筛选条件1:振幅大于1
today_data = ts.get_today_all()
amplitude = (today_data['high'] - today_data['low']) / today_data['open']
amplitude_bool = amplitude > 1
# 筛选条件2:机构资金动向大于0
fund_data = ts.fund_holdings(2020, 3)
sum_fund_net_amount = fund_data.groupby('code')['net_amount'].sum().fillna(0)
fund_trend_bool = sum_fund_net_amount > 0
# 筛选条件3:近25个交易日内有单日涨幅达到或超过10%
hist_data = ts.get_hist_data('000001')
max_close_25 = hist_data['close'].rolling(window=25).max()
daily_growth_rate = (today_data['close'] / max_close_25.shift(1) - 1) * 100
daily_growth_10_bool = daily_growth_rate >= 10
# 筛选符合条件的股票
result = amplitude_bool & fund_trend_bool & daily_growth_10_bool
# 输出筛选结果
final_result = today_data.loc[result].sort_values(by=["turnoverratio"],ascending=False)
print(final_result)
注:以上为示例代码,请根据实际情况进行调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
