问财量化选股策略逻辑
- 今日增仓占比>5%,涨幅<2.6且涨幅>-5: 表明该股票近期有主力资金流入,并且短期内涨幅较小,具有一定的反弹潜力。
- KDJ刚形成金叉: 表明该股票的短期和长期趋势出现了一定的拐点,有可能出现上涨行情。
选股逻辑分析
- 今日增仓占比>5%: 表明主力资金对该股票的认同度较高,说明该股票具有一定的投资价值。
- 涨幅<2.6且涨幅>-5: 表明该股票短期内涨幅较小,具有一定的反弹潜力。
- KDJ刚形成金叉: 表明该股票的短期和长期趋势出现了一定的拐点,有可能出现上涨行情。
有何风险?
- 该策略的股票选择范围较窄,可能错过一些具有潜力的股票。
- KDJ指标的准确性受到市场情绪和投资者心理的影响,因此可能会出现误判。
如何优化?
- 可以考虑加入更多量化指标,如量能指标、均线指标等,以更全面地分析股票的走势。
- 可以考虑加入止损机制,以控制风险。
最终的选股逻辑
- 选取今日增仓占比>5%的股票。
- 选取涨幅<2.6且涨幅>-5的股票。
- 选取KDJ刚形成金叉的股票。
- 在以上三个条件都满足的情况下,选取量能指标和均线指标都向上的股票。
python代码参考
- 以下代码使用了问财量化交易平台的API,需要先在问财量化交易平台上创建账号并获取API key。
- 需要安装pandas和numpy库。
- 代码中使用了get_instrument_basics函数获取股票的基本信息,使用get_instrument_trading_calendars函数获取交易日历,使用get_instrument_k_data函数获取股票的历史行情数据。
import requests
import pandas as pd
import numpy as np
# 设置问财量化交易平台的API key
api_key = "your_api_key"
# 获取股票的基本信息
def get_instrument_basics(symbol):
url = f"//api.wenhuapi.com/v1/instrument/basics?symbol={symbol}"
response = requests.get(url, headers={"Authorization": f"Bearer {api_key}"})
data = response.json()
return data
# 获取交易日历
def get_instrument_trading_calendars():
url = f"//api.wenhuapi.com/v1/instrument/trading_calendars"
response = requests.get(url, headers={"Authorization": f"Bearer {api_key}"})
data = response.json()
return data
# 获取股票的历史行情数据
def get_instrument_k_data(symbol, start_date, end_date):
url = f"//api.wenhuapi.com/v1/instrument/k_data?symbol={symbol}&start_date={start_date}&end_date={end_date}"
response = requests.get(url, headers={"Authorization": f"Bearer {api_key}"})
data = response.json()
return data
# 选择今日增仓占比>5%的股票
def select_stock():
# 获取股票的基本信息
basics = get_instrument_basics("600036")
# 获取交易日历
calendars = get_instrument_trading_calendars()
# 获取股票的历史行情数据
k_data = get_instrument_k_data("600036", start_date="2021-01-01", end_date="2021-12-31")
# 获取今日增仓占比
today_gainers = k_data["data"][k_data["data"]["datetime"] == pd.to_datetime("2021-12-31")]["gainers"]
today_gainers_percent = today_gainers["amount"] / basics["amount"] * 100
# 选择今日增仓占比>5%的股票
selected_stocks = today_gainers_percent[today_gainers_percent > 5].index.tolist()
return selected_stocks
# 选择涨幅<2.6且涨幅>-5的股票
def select_stocks_2():
# 获取股票的基本信息
basics = get_instrument_basics("600036")
# 获取交易日历
calendars = get_instrument_trading_calendars()
# 获取股票的历史行情数据
k_data = get_instrument_k_data("600036", start_date="2021-01-01", end_date="2021-12-31
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
