问财量化选股策略逻辑
- 至少5根均线重合的股票
- 圆弧形
- 换手率3%-12%
选股逻辑分析
- 这个策略的逻辑是寻找均线多头排列的股票,这些股票通常会形成圆弧形的上涨趋势。同时,要求股票的换手率在3%-12%之间,以确保股票的活跃度适中。
有何风险?
- 这个策略的局限性在于它只能识别已经形成上涨趋势的股票,无法预测未来走势。此外,如果股票的换手率过高,可能会导致股票价格波动较大,增加投资风险。
如何优化?
- 可以通过加入更多的技术指标来提高策略的准确性,例如移动平均线、布林线等。此外,可以调整换手率的范围,以适应不同市场环境。
最终的选股逻辑
- 选取至少5根均线重合的股票,要求均线多头排列且形成圆弧形上涨趋势。同时,要求股票的换手率在3%-12%之间。可以加入其他技术指标来提高策略的准确性,例如移动平均线、布林线等。最后,根据市场环境调整换手率的范围。
python代码参考
import talib
import pandas as pd
def check_5均线_reconciliation(df):
# 计算移动平均线
ma5 = talib.MA(df['close'], timeperiod=5)
ma10 = talib.MA(df['close'], timeperiod=10)
ma20 = talib.MA(df['close'], timeperiod=20)
ma50 = talib.MA(df['close'], timeperiod=50)
ma200 = talib.MA(df['close'], timeperiod=200)
# 检查均线是否重合
if ma5 == ma10 and ma10 == ma20 and ma20 == ma50 and ma50 == ma200:
return True
else:
return False
def check_rounding(df):
# 计算换手率
df['turnover'] = df['volume'] / df['close'] * 100
# 检查换手率是否在3%-12%之间
if df['turnover'].quantile(0.03) <= df['turnover'] <= df['turnover'].quantile(0.12):
return True
else:
return False
def check_strategy(df):
# 检查是否符合策略要求
if check_5均线_reconciliation(df) and check_rounding(df):
return True
else:
return False
# 读取数据
df = pd.read_csv('data.csv')
# 检查数据是否符合策略要求
if check_strategy(df):
# 进行其他处理
pass
else:
print('策略不符合要求')
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。