maxfeng 5554ee46ab 更新了一般牛差的逻辑,但是还没有完全完成 1 hónapja
..
FundPremium_DynamicPosition.py abec30b077 动态基金的小改动 4 hónapja
Fund_premium.py 2c0751cbcf Add Lib directory with trading strategies 4 hónapja
Fund_premium_improvement_fast_001.py 2c0751cbcf Add Lib directory with trading strategies 4 hónapja
QDII 2c0751cbcf Add Lib directory with trading strategies 4 hónapja
README.md 5554ee46ab 更新了一般牛差的逻辑,但是还没有完全完成 1 hónapja
etf_MomentumRotation.py 2c0751cbcf Add Lib directory with trading strategies 4 hónapja
etf_MomentumRotation_test.py 2c0751cbcf Add Lib directory with trading strategies 4 hónapja
fund_grid_trading.py 2c0751cbcf Add Lib directory with trading strategies 4 hónapja
kmeans.py 5554ee46ab 更新了一般牛差的逻辑,但是还没有完全完成 1 hónapja

README.md

基金投资策略说明

ETF基金溢价策略 (FundPremium_DynamicPosition)

核心思路

该策略基于ETF基金的溢价/折价现象进行交易,主要关注折价(当前价格低于净值)的基金进行投资。通过动态调整持仓和多重风控机制,在把握折价机会的同时控制风险。

  1. 策略网址
  2. 策略名称:基金溢价-动态仓位

主要特点

  1. 动态仓位管理
  2. 多重风控机制
  3. 基于成交量的流动性筛选
  4. 节假日风险规避
  5. 市场状态自适应

具体策略逻辑

1. 筛选标准

  • 从所有ETF和LOF基金中进行筛选
  • 排除上市时间少于5天的新基金
  • 要求过去10天的最小日成交额大于 money_threshold (当前是50万元)
  • 特殊处理:2019年5月后不再买入嘉实元和事件基金(505888.XSHG)

2. 买入条件

2.1 折价率计算与筛选
  • 折价率 = (最新价格 / 单位净值 - 1) × 100%
  • 当折价率 < 0 时,表示基金价格低于净值
  • 策略仅买入折价的基金(折价率 < 0)
  • 按折价率从小到大排序(即折价幅度从大到小)
  • 选择折价率最低的前30只基金作为候选池
2.2 持仓规则
  • 从候选池中选择基金,持仓数量由 g.max_position 动态决定
  • 另外 g.max_position 则是由筛选出来的前30折价基金数量决定的,也就是最多是30
  • 当前设置为从前30只折价基金中选择
  • 排除最近 g.drop_limit_days (当前是20天)内因止损卖出的基金
2.3 仓位控制
  • 标准仓位计算:
    • 基础标准仓位 = 可用资金 / g.max_position
    • 单个标的最大持仓限制 = 基础标准仓位 * 3
  • 实际买入金额计算:
    • 最小买入金额 = 该标的10日平均成交额 / 10
    • 实际买入金额 = min(单个标的最大持仓限制, max(最小买入金额, 基础标准仓位))
    • 确保不超过当前可用资金

3. 卖出条件

3.1 日常调仓卖出
  • 当基金不再满足选股条件时卖出(不在前30名折价基金中)
  • 当基金从折价变为溢价时卖出
3.2 单基金止损
  • 当单只基金亏损超过 g.loss_limit (当前是10%)时触发止损
  • 止损后 g.drop_limit_days (当前是20天)内不再买入该基金
3.3 整体仓位控制
  • 监控最近 g.total_limit_days (当前是30天)的最大回撤
  • 当整体回撤超过 g.total_limit_rate (当前是15%)时清仓
  • 清仓后设置 g.control_days = g.cool_days (当前是0)进行冷却期控制
3.4 市场状态监控
  • 跟踪市场中折价基金的占比
  • 维护最近10天的折价基金占比列表 g.rate_list
  • g.rate_list 的平均值低于0.1(10%)时,清仓观望
  • 等待市场状态改善后再进行操作
3.5 节假日风险规避
  • 在节假日前自动清仓
  • 节假日前不开新仓
  • 节假日列表通过 g.holiday 维护

交易规则

  • 采用异步报单模式
  • 使用真实价格(动态复权)
  • 考虑交易成本:
    • 买入手续费:0.025%
    • 卖出手续费:0.025%
    • 滑点设置:0.2%

ETF基金溢价策略 (Fund_premium)

核心思路

该策略基于ETF基金的溢价/折价现象进行交易,主要关注折价(当前价格低于净值)的基金进行投资。通过固定持仓数量和多重风控机制,在把握折价机会的同时控制风险。

  1. 策略网址
  2. 策略名称:基金溢价-固定持仓

主要特点

  1. 固定持仓数量(5只基金)
  2. 多重风控机制
  3. 基于成交量的流动性筛选
  4. 节假日风险规避
  5. 市场状态自适应

具体策略逻辑

1. 筛选标准

  • 从所有ETF和LOF基金中进行筛选
  • 排除上市时间少于5天的新基金
  • 要求日成交量大于200万股
  • 特殊处理:2019年5月后不再买入嘉实元和事件基金(505888.XSHG)

2. 买入条件

2.1 折价率计算与筛选
  • 折价率 = (最新价格 / 单位净值 - 1) × 100%
  • 当折价率 < 0 时,表示基金价格低于净值
  • 策略仅买入折价的基金(折价率 < 0)
  • 按折价率从小到大排序(即折价幅度从大到小)
  • 选择折价率最低的前20只基金作为候选池
2.2 持仓规则
  • 从候选池中选择前5只基金,持仓数量由 g.max_position (固定为5)控制
  • 排除最近 g.drop_limit_days (当前是20天)内因止损卖出的基金
2.3 仓位控制
  • 等权重分配资金:
    • 单个持仓金额 = 可用资金 / g.max_position
    • 确保不超过当前可用资金

3. 卖出条件

3.1 日常调仓卖出
  • 当基金不再满足选股条件时卖出(不在前5名折价基金中)
  • 当基金从折价变为溢价时卖出
3.2 单基金止损
  • 当单只基金亏损超过 g.loss_limit (当前是10%)时触发止损
  • 止损后 g.drop_limit_days (当前是20天)内不再买入该基金
3.3 整体仓位控制
  • 监控最近 g.total_limit_days (当前是30天)的最大回撤
  • 当整体回撤超过 g.total_limit_rate (当前是15%)时清仓
  • 清仓后设置 g.control_days = g.cool_days (当前是0)进行冷却期控制
3.4 市场状态监控
  • 跟踪市场中折价基金的占比
  • 维护最近10天的折价基金占比列表 g.rate_list
  • g.rate_list 的平均值低于0.1(10%)时,清仓观望
  • 等待市场状态改善后再进行操作
3.5 节假日风险规避
  • 在节假日前自动清仓
  • 节假日前不开新仓
  • 节假日列表通过 g.holiday 维护

交易规则

  • 采用异步报单模式
  • 使用真实价格(动态复权)
  • 考虑交易成本:
    • 买入手续费:0.025%
    • 卖出手续费:0.025%
    • 滑点设置:未设置

策略描述撰写标准

基本结构

1. 策略概述

  • 策略名称(遵循代码名称,简短且能反映核心特点)
  • 策略网址(如有)
  • 核心思路(一段话概括策略的主要思想)
  • 主要特点(列举3-5个关键特点)

2. 具体策略逻辑

应包含以下主要部分:

2.1 筛选标准

  • 列举选择标的的基本条件
  • 说明特殊处理规则(如有)
  • 标注关键参数及其变量名(使用粗体)

2.2 买入条件

  • 分类说明买入的触发条件
  • 说明持仓规则
  • 说明仓位控制方法
  • 标注关键参数及其变量名(使用粗体)

2.3 卖出条件

  • 分类说明所有卖出情况
  • 包括止盈、止损、调仓等规则
  • 说明风控相关的卖出条件
  • 标注关键参数及其变量名(使用粗体)

3. 交易规则

  • 说明交易执行相关的设置
  • 包含交易成本、滑点等具体数值

撰写要求

  1. 核心要求
  2. 仔细阅读代码文件,理解代码逻辑,不要臆想

  3. 参数说明

  4. 使用粗体标注关键变量名:如 g.example_var

  5. 在变量名后注明当前值:如 g.loss_limit (当前是10%)

  6. 逻辑说明

  7. 使用清晰的层级结构

  8. 相关的规则要分组说明

  9. 对于复杂的计算要分步骤说明

  10. 格式要求

  11. 使用Markdown格式

  12. 保持统一的缩进和列表样式

  13. 使用标题区分不同层级的内容

Kmeans

https://www.joinquant.com/algorithm/index/edit?algorithmId=efadbad9b1c9b57c556faca968310a6f&backtest=0 Lib/Options/etf_monthly_ma_analysis.py

配套研究:https://www.joinquant.com/research?target=research&url=/user/75474983526/notebooks/Funds/Kmeans.ipynb