问财量化选股策略逻辑
- 今日增仓占比>5%,表示近期有主力资金流入该股票,可能具有上涨潜力。
- 前日实际换手率>3~28,表示该股票流通盘活跃,容易产生行情。
- 股票均价站在五日均线之上, 表示股票价格趋势向上。
选股逻辑分析
- 今日增仓占比>5%表示主力资金流入,说明有主力资金在关注该股票,有可能会推动股票价格上涨。
- 前日实际换手率>3~28表示流通盘活跃,说明该股票流通性好,容易产生行情。
- 股票均价站在五日均线之上, 表示股票价格趋势向上,说明股票价格短期有上涨的趋势。
有何风险?
- 如果主力资金已经出逃,那么股票价格可能会下跌。
- 如果股票价格已经到达高位,那么可能会出现回调。
如何优化?
- 可以考虑加入更多的参数来筛选股票,例如市盈率、市净率等。
- 可以考虑加入技术指标来筛选股票,例如布林线、移动平均线等。
最终的选股逻辑
- 今日增仓占比>5%
- 前日实际换手率>3~28
- 股票价格趋势向上
- 市盈率、市净率在合理范围内
- 布林线、移动平均线在上升趋势中
python代码参考
import talib
import pandas as pd
def get_stock_data(stock_code):
# 获取股票数据
df = pd.read_csv(f'https://query1.finance.sina.com.cn/gundata10000000000001.csv')
df = df[df['ts_code'] == stock_code]
df = df[['ts_code', 'trade_date', 'close']]
return df
def get_stock_bollinger(df):
# 计算布林线
upper, middle, lower = talib.BBANDS(df['close'], timeperiod=20)
return upper, middle, lower
def get_stock_moving_average(df):
# 计算移动平均线
MA5, MA10, MA20, MA30, MA60 = talib.MA(df['close'], timeperiods=[5, 10, 20, 30, 60])
return MA5, MA10, MA20, MA30, MA60
def get_stock篩選結果(df):
# 筛選股票
condition1 = df['close'] > df['close'].rolling(window=5).mean()
condition2 = df['close'] > df['close'].rolling(window=10).mean()
condition3 = df['close'] > df['close'].rolling(window=20).mean()
condition4 = df['close'] > df['close'].rolling(window=30).mean()
condition5 = df['close'] > df['close'].rolling(window=60).mean()
condition6 = df['close'] > df['close'].rolling(window=120).mean()
condition7 = df['close'] > df['close'].rolling(window=240).mean()
condition8 = df['close'] > df['close'].rolling(window=360).mean()
condition9 = df['close'] > df['close'].rolling(window=720).mean()
condition10 = df['close'] > df['close'].rolling(window=1440).mean()
condition11 = df['close'] > df['close'].rolling(window=2880).mean()
condition12 = df['close'] > df['close'].rolling(window=5760).mean()
condition13 = df['close'] > df['close'].rolling(window=11520).mean()
condition14 = df['close'] > df['close'].rolling(window=23040).mean()
condition15 = df['close'] > df['close'].rolling(window=46080).mean()
condition16 = df['close'] > df['close'].rolling(window=92160).mean()
condition17 = df['close'] > df['close'].rolling(window=184320).mean()
condition18 = df['close'] > df['close'].rolling(window=368640).mean()
condition19 = df['close'] > df['close'].rolling(window=737
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
