问财量化选股策略逻辑
- 至少5根均线重合的股票
- 昨天换手率>8%
- 连续5年ROE>15%
选股逻辑分析
- 这个策略主要基于技术分析和基本面分析。首先,选择至少5根均线重合的股票,这通常意味着股票价格趋势稳定,有较强的支撑和阻力。其次,选择昨天换手率大于8%的股票,这表明市场活跃度较高,可能有更多的交易机会。最后,选择连续5年ROE大于15%的股票,这表明公司盈利能力较强,具有较好的投资价值。
有何风险?
- 这个策略的局限性在于它只能选择部分股票进行投资,无法覆盖整个市场。此外,如果市场出现大幅波动,该策略可能会出现较大的回撤风险。
如何优化?
- 为了降低风险,可以考虑将策略组合起来,与其他策略进行结合。例如,可以将该策略与价值投资策略相结合,选择低估值、高ROE的股票进行投资。
- 另外,可以考虑使用量化交易软件进行自动化交易,以提高交易效率和降低交易成本。
最终的选股逻辑
- 选择至少5根均线重合的股票
- 选择昨天换手率大于8%的股票
- 选择连续5年ROE大于15%的股票
- 将该策略与价值投资策略相结合,选择低估值、高ROE的股票进行投资
- 使用量化交易软件进行自动化交易,以提高交易效率和降低交易成本
python代码参考
- 以下是基于pandas和ta-Lib库的Python代码示例,用于实现该策略:
import pandas as pd
import talib
def get_moving_average(df, n):
"""获取n日移动平均线"""
MA = talib.MA(df['close'], n)
df['MA%s' % n] = MA
return df
def get_volume(df):
"""获取成交量"""
df['volume'] = df['volume'].diff()
df['volume'] = df['volume'].fillna(0)
return df
def get_roe(df):
"""获取ROE"""
df['roe'] = df['net_income'] / df['total_assets'] * 100
return df
def get筛选条件(df):
"""获取筛选条件"""
df['ma5'] = get_moving_average(df, 5)
df['ma10'] = get_moving_average(df, 10)
df['ma20'] = get_moving_average(df, 20)
df['ma60'] = get_moving_average(df, 60)
df['volume昨天'] = get_volume(df)
df['roe连续5年'] = get_roe(df)
return df
def get_top_n(df, n):
"""获取前n个最大的股票"""
df = df.sort_values(by='close', ascending=False)
return df.head(n)
def get_stocks(df):
"""获取所有股票"""
stocks = df.index.tolist()
return stocks
def main():
# 获取所有股票数据
df = pd.read_csv('stock_data.csv')
# 筛选条件
df = get筛选条件(df)
# 获取前n个最大的股票
stocks = get_top_n(df, 50)
# 输出股票列表
print(stocks)
if __name__ == '__main__':
main()
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


