# 期货投资策略说明 ## 沪深300期货蜘蛛网策略 ### 核心思路 该策略基于期货主力合约的持仓数据进行交易,通过监控主力多空持仓变化来判断市场方向。策略重点关注机构持仓变动,通过多空持仓增量的对比来进行交易决策。 1. [策略来源](https://www.joinquant.com/algorithm/index/edit?algorithmId=7dfbd7e00953112d8557fe677d18a600) 2. 策略名称:股指期货-简化版蜘蛛网策略 ### 主要特点 1. 基于持仓数据分析 2. 多空双向交易 3. 动态仓位管理 4. 适应性强(可用于多个期货品种) 5. 基于日频交易 ### 具体策略逻辑 #### 1. 交易品种 - 主要交易品种:**g.symbol_list**, 沪深300股指期货(IH) - 交易合约:主力合约 - 合约乘数:300 #### 2. 信号生成 ##### 2.1 数据获取 - 时间:每个交易日20:30计算信号 - 数据范围: 1. 获取所有可交易合约 2. 获取每个合约的持仓排名数据 3. 分别统计多空前20名会员的持仓变化 ##### 2.2 信号计算 - 核心逻辑:基于主力持仓变化判断市场方向 - 计算流程: 1. 汇总所有合约的多空持仓变化 2. 计算多头持仓增量(**long_hold_delta**):前20名多头持仓的总变化 3. 计算空头持仓增量(**short_hold_delta**):前20名空头持仓的总变化 4. 信号判断: - 开多条件:多头增仓(>0)且空头减仓(<0) - 开空条件:多头减仓(<0)且空头增仓(>0) - 其他情况:观望或平仓 #### 3. 仓位管理 ##### 3.1 开仓规则 - 基础计算: - 单位资金 = 总资金 / 可以交易品种数量 - 杠杆倍数:**g.times**(默认3倍) - 具体计算: ```python 手数 = int(总资金 / (合约价格 × 合约乘数 × 可以交易品种数量) × 杠杆倍数) ``` - 最小开仓:至少1手 ##### 3.2 持仓调整 - 多头持仓: - 持仓时遇到多头减仓或空头增仓则平仓 - 否则保持原有仓位 - 空头持仓: - 持仓时遇到多头增仓或空头减仓则平仓 - 否则保持原有仓位 #### 4. 交易执行 ##### 4.1 交易时间 - 信号计算:20:30 - 交易执行:次日09:32 ##### 4.2 交易顺序 1. 先执行平仓指令(平多、平空) 2. 再执行开仓指令(开多、开空) ### 交易规则 - 采用异步报单模式 - 使用真实价格 - 考虑交易成本: - 开仓手续费:0.0023% - 平仓手续费:0.0023% - 平今手续费:0.04% - 最低保证金:17% - 滑点值:4个价格单位 ## K线趋势交易策略 ### 核心思路 该策略基于K线实体与多条均线的关系进行交易,通过监控K线实体与均线的交叉、穿越情况以及均线之间的排列形态来判断趋势方向。策略同时结合止损和移仓换月机制来控制风险。 1. [策略来源](https://www.joinquant.com) 2. 策略名称:K线趋势交易策略 ### 主要特点 1. 多均线系统(5、10、20、30日均线) 2. K线形态分析 3. 完整的止损机制 4. 自动移仓换月 5. 支持日内和夜盘交易 ### 具体策略逻辑 #### 1. 交易品种 - 交易品种:商品期货和金融期货 - 夜盘品种:金属、能源、农产品等 - 日盘品种:股指、国债等 - 交易合约:主力合约 #### 2. 信号生成 ##### 2.1 趋势判断 - 均线系统: - MA5(5日均线) - MA10(10日均线) - MA20(20日均线) - MA30(30日均线) - 趋势判断条件: 1. 计算K线实体与各均线的位置关系 2. 统计均线交叉次数(**count_ma_crosses**函数) 3. 判断均线排列形态(**check_ma_relations**函数) ##### 2.2 开仓条件 - K线形态要求: 1. K线实体穿越均线(**check_shadow_cross**函数) 2. 影线比例不超过阈值(**shadow_body_ratio_threshold**,默认0.5) - 均线条件: 1. 连续多日保持同向趋势(**continuous_days**记录) 2. 均线间距合理,无过度发散 #### 3. 仓位管理 ##### 3.1 开仓规则 - 计算开仓数量: ```python 订单金额 = 总资产 × 单次开仓比例 开仓手数 = 订单金额 / (合约价格 × 合约乘数) ``` - 开仓限制: 1. 检查涨跌停限制 2. 考虑保证金要求 3. 检查流动性条件 ##### 3.2 持仓调整 - 移仓换月条件: 1. 主力合约更换时自动执行 2. 确保新旧合约可交易 3. 保持原有持仓方向 - 移仓流程: 1. 平掉旧合约 2. 开仓新合约 3. 更新交易记录 #### 4. 风险控制 ##### 4.1 止损机制 - 固定止损: - 初始止损额度:**initial_loss_limit**(默认-4000) - 每日调整:**loss_increment_per_day**(默认200) - 均线止损: - 监控均线偏离度 - 突破重要均线立即止损 ##### 4.2 特殊情况处理 - 涨跌停板: - 无法开仓时取消交易 - 无法平仓时持续尝试 - 移仓失败: - 记录失败历史(**g.change_fail_history**) - 保留原有持仓信息 #### 5. 交易执行 ##### 5.1 交易时间 - 日盘:09:30开始交易 - 夜盘:根据品种交易时间 - 收盘前15分钟停止开新仓 ##### 5.2 订单管理 - 采用异步报单 - 订单完整性检查 - 成交状态跟踪 - 失败订单重试机制 ### 交易规则 - 采用异步报单模式 - 使用真实价格 - 考虑交易成本: - 手续费:按照不同品种设置 - 滑点:按照品种特性设置 - 保证金:按照交易所要求设置