maxfeng 2c0751cbcf Add Lib directory with trading strategies 4 ヶ月 前
..
HS300_SimplifiedSpiderGridTrading.py 2c0751cbcf Add Lib directory with trading strategies 4 ヶ月 前
README.md 2c0751cbcf Add Lib directory with trading strategies 4 ヶ月 前
TrendFalseChange_v002.py 2c0751cbcf Add Lib directory with trading strategies 4 ヶ月 前

README.md

期货投资策略说明

沪深300期货蜘蛛网策略

核心思路

该策略基于期货主力合约的持仓数据进行交易,通过监控主力多空持仓变化来判断市场方向。策略重点关注机构持仓变动,通过多空持仓增量的对比来进行交易决策。

  1. 策略来源
  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倍)
  • 具体计算:

    手数 = 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. 策略来源
  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 开仓规则
  • 计算开仓数量:

    订单金额 = 总资产 × 单次开仓比例
    开仓手数 = 订单金额 / (合约价格 × 合约乘数)
    
  • 开仓限制:

    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 订单管理
  • 采用异步报单
  • 订单完整性检查
  • 成交状态跟踪
  • 失败订单重试机制

交易规则

  • 采用异步报单模式
  • 使用真实价格
  • 考虑交易成本:
    • 手续费:按照不同品种设置
    • 滑点:按照品种特性设置
    • 保证金:按照交易所要求设置