本目录包含期货市场的各种研究算法和分析工具,用于量化分析期货市场的技术指标、价格走势和交易策略。所有代码基于聚宽API开发,适用于聚宽在线研究平台。
future_ma_cross_analysis.py)分析期货合约的多均线穿越事件,识别同时穿越至少3条均线的K线,并分析后续收益表现。
def check_multi_ma_cross(row):
"""检查单日K线是否向上或向下穿越了至少3条均线"""
# 条件:开盘价在均线一侧,收盘价在均线另一侧
# 上穿:开盘价 < 均线 且 收盘价 > 均线
# 下穿:开盘价 > 均线 且 收盘价 < 均线
future_all_change_trend.py)分析期货市场整体的价格变化趋势,计算每日市场平均变化率和正负变化分布。
def process_data(df, std_dev_multiplier=3):
"""处理数据并过滤异常值"""
# 计算每日平均变化率
# 统计正负变化数量
# 计算滚动平均值
# 过滤异常值
future_pattern_comprehensive.py)核心研究项目 - 研究期货品种在大幅下跌后出现特定K线形态的规律,并分析后续走势表现。这是一个综合性的技术形态分析工具。
第一部分:分析配置参数 (AnalysisConfig类)
第二部分:技术形态分析器主类 (FuturePatternAnalyzer类)
第三部分:测试和演示代码 (PatternAnalysisTests类)
第四部分:主程序入口 (main函数)
# 时间设置
START_DATE = '2022-01-01' # 建议至少2年数据
END_DATE = '2024-12-31'
# 筛选条件
MIN_DRAWDOWN_THRESHOLD = 0.30 # 30%最小回撤
KLINE_CONDITIONS = {
'max_open_close_diff': 0.01, # 1%开收差异
'min_high_open_gain': 0.03, # 3%最高涨幅
}
# 分析参数
FOLLOW_UP_WEEKS = 10 # 后续跟踪10周
SUCCESS_RETURN_THRESHOLD = 0.05 # 5%成功率阈值
# 基本使用 - 完整分析
results = run_pattern_analysis(mode='full')
# 快速测试
results = run_pattern_analysis(mode='quick')
# 自定义参数测试
results = run_pattern_analysis(mode='custom')
# 逐步功能测试
run_pattern_analysis(mode='step')
# 直接使用分析器类
analyzer = FuturePatternAnalyzer('2022-01-01', '2024-12-31')
results = analyzer.run_full_analysis()
future_major_decline_YYYYMMDD_HHMMSS.csv - 大幅下跌期货品种future_kline_patterns_YYYYMMDD_HHMMSS.csv - 识别的K线形态future_pattern_performance_YYYYMMDD_HHMMSS.csv - 后续走势分析future_pattern_summary_YYYYMMDD_HHMMSS.csv - 统计汇总kline_pattern_{品种}_{日期}.png - K线图表=== 期货技术形态规律分析报告 ===
总分析期货品种数: 85
大幅下跌品种数: 12
识别出的目标形态数: 8
完成后续走势分析数: 8
=== 后续走势统计分析 ===
10周内最高收益率统计:
平均值: 15.32%
正收益比例: 7/8 (87.5%)
=== 交易成功率分析 ===
成功率: 75.0%
future_candlestick_hatch_analysis.py)分析期货合约中带有明显影线的K线,识别具备预测价值的烛台形态,并分析它们对未来价格走势的预测能力。
# 形态识别条件
def check_hatch_pattern(row, body_threshold, hatch_ratio=1.2, opposite_ratio=0.5):
"""检查K线是否符合影线形态条件"""
body_length = abs(close - open)
upper_hatch = high - max(open, close)
lower_hatch = min(open, close) - low
# 条件1: 实体长度 >= 历史平均实体长度
# 条件2: 主影线长度 >= 1.2 × 实体长度
# 条件3: 相反影线长度 < 0.5 × 实体长度
class CandlestickHatchConfig:
ANALYSIS_START_DATE = datetime.datetime(2025, 8, 1) # 分析开始日期
ANALYSIS_END_DATE = datetime.datetime(2025, 8, 20) # 分析结束日期
HISTORICAL_DAYS = 365 # 历史数据回溯期
FORWARD_DAYS = 15 # 前向分析期
FUTURE_MONITOR_DAYS = 10 # 未来表现跟踪期
HATCH_TO_BODY_RATIO = 1.2 # 影线与实体长度比率阈值
OPPOSITE_HATCH_RATIO = 0.5 # 相反影线与实体长度比率阈值
MAX_REVENUE_THRESHOLD = 0.02 # 最大盈利阈值
MAX_LOSS_THRESHOLD = 0.005 # 最大亏损阈值
MAX_ANALYSIS_CONTRACTS = 10 # 最大分析合约数
# 交易仓位管理参数
INITIAL_TRADE_AMOUNT = 20000 # 初始交易金额
LOSS_RATE = 0.01 # 亏损交易的亏损率
PROFIT_DRAWDOWN_RATE = 0.02 # 盈利交易的回撤率
# 主力合约数据结构 (dict1)
contract_data = {
'L2601.XDCE': [开始日期, 结束日期],
'A2505.XDCE': [开始日期, 结束日期]
}
# 影线形态数据结构 (dict2)
pattern_data = {
'L2601.XDCE': {
datetime.date(2025, 8, 5): {
'date': '2025-08-05',
'high': 6520.0, 'low': 6450.0, 'open': 6480.0, 'close': 6500.0,
'body_len': 20.0, 'hatch_dire': 'up', 'hatch_len': 50.0,
'max_revenue_date': '2025-08-08', 'max_revenue': 0.0234,
'min_revenue_date': '2025-08-06', 'min_revenue': -0.0156,
'conclusion': 'true', # 形态有效性判断
'body_direction': 'up', # 实体方向
'direction_consistency': 'false' # 方向一致性
}
}
}
系统自动为每个识别的形态计算conclusion字段,判断逻辑:
# 基本使用
results = run_candlestick_hatch_analysis()
# 自定义配置
class CustomConfig(CandlestickHatchConfig):
HATCH_TO_BODY_RATIO = 1.5 # 更严格的影线要求
OPPOSITE_HATCH_RATIO = 0.3 # 更严格的相反影线要求
MAX_REVENUE_THRESHOLD = 0.03 # 更高的盈利阈值要求
MAX_LOSS_THRESHOLD = 0.003 # 更低的亏损容忍度
FUTURE_MONITOR_DAYS = 15 # 更长的跟踪期
results = run_candlestick_hatch_analysis(CustomConfig)
future_candlestick_hatch_analysis_YYYYMMDD_HHMMSS.csvimport pandas as pd # 数据处理
import numpy as np # 数值计算
from jqdata import * # 聚宽API
import matplotlib.pyplot as plt # 图表绘制
future_candlestick_hatch_analysis.py)维护团队: jukuan研究团队
最后更新: 2025年9月
技术支持: 基于聚宽平台开发,需要相应API权限
使用许可: 仅供研究和学习使用