Warning: file_exists(): open_basedir restriction in effect. File(/www/wwwroot/com.xiximiao.oa/com.cmstop/public/www/wp-content/db.php) is not within the allowed path(s): (/www/wwwroot/com.xiximiao.oa/com.cmstop/public/www/:/tmp/:/proc/:/var/log/nginx/:/www/wwwroot/com.xiximiao.oa/com.cmstop/public/:/www/wwwroot/com.xiximiao.oa/com.cmstop/vendor/:/www/wwwroot/com.xiximiao.oa/com.cmstop/ppk/) in /www/wwwroot/com.xiximiao.oa/com.cmstop/public/www/wp-includes/load.php on line 707
2370 分红养家策略 41444 » 轻知量化 QMT、PTrade、聚宽策略分享交流平台

2370 分红养家策略 41444

分红养家策略

策略逻辑说明:

1. 策略核心思想

该策略基于分红资产配置的逻辑,通过定期分红和动态调整资产配置,实现长期稳健的投资收益。策略的核心思想是:

  • 分红:每年第一天进行分红,将部分投资收益分配给投资者。

  • 资产配置:通过股票和债券的组合,实现资产的分散配置,降低投资风险。

  • 动态调整:根据市场情况动态调整持仓,确保资产配置符合策略要求。


2. 策略运行流程

策略的运行流程分为以下几个步骤:

2.1 每年第一天分红
  • 分红额度:根据年金利率计算分红额度,并将分红金额分配给投资者。

  • 再平衡:根据债券仓位比例,调整债券基金的持仓,确保资产配置符合策略要求。

2.2 每日更新
  • 股票池:获取当前股票池中的股票列表。

  • 卖出:卖出不在股票池中的股票。

  • 买入:根据现金储备率和股票仓位比例,买入股票池中的股票。

2.3 记录净值
  • 记录净值:记录当前投资组合的净值,单位为万元。


3. 策略特点

  • 分红:每年第一天进行分红,将部分投资收益分配给投资者。

  • 资产配置:通过股票和债券的组合,实现资产的分散配置,降低投资风险。

  • 动态调整:根据市场情况动态调整持仓,确保资产配置符合策略要求。


4. 策略适用场景

  • 市场环境:适合长期投资,能够在市场波动中实现稳健的投资收益。

  • 投资者类型:适合有一定量化交易经验的投资者,能够理解策略的逻辑并进行参数调整。


5. 策略优化方向

  • 参数优化:可以调整年金利率、现金储备率、债券仓位等参数,以适应不同的市场环境。

  • 风险控制:可以增加更多的风险控制措施,如止损、止盈等。

  • 多资产配置:可以引入更多的资产类别,如黄金、房地产等,进一步提高资产的分散配置。


策略名称解释:

  • 分红:策略每年第一天进行分红,将部分投资收益分配给投资者。

  • 养家:策略通过资产配置和动态调整,实现长期稳健的投资收益,适合家庭理财。

因此,策略名称为分红养家策略,既体现了策略的核心逻辑,也突出了策略的特点。


代码逻辑详解:

1. 初始化函数 initialize(context)

  • 设定了日志级别、真实价格和避免未来数据。

  • 安排了每日更新任务。

2. 每日更新 iUpdate(context)

  • 参数设置:设定了基准指数、股票数量、年金利率、现金储备率、债券仓位和债券基金。

  • 每年第一天分红:根据年金利率计算分红额度,并将分红金额分配给投资者。同时,根据债券仓位比例,调整债券基金的持仓。

  • 股票池:获取当前股票池中的股票列表。

  • 卖出:卖出不在股票池中的股票。

  • 买入:根据现金储备率和股票仓位比例,买入股票池中的股票。

  • 记录净值:记录当前投资组合的净值,单位为万元。


总结:

该策略通过分红和资产配置相结合,实现长期稳健的投资收益。策略的核心在于分红和资产配置的逻辑,适合有一定量化交易经验的投资者使用。

策略代码

 
# 标题:致敬市场(12)——赚钱的策略

# 分红养家
def initialize(context):
    log.set_level('order', 'error') # 信息过滤
    set_option('use_real_price', True)  #使用真实价格
    set_option('avoid_future_data', True) # 避免未来数据
    run_daily(iUpdate, time='10:00') # 更新

def iUpdate(context):
    # 参数
    index = '399310.XSHE' # 国证50
    n = 50 # 50只股票
    rente_ratio = 0.05 # 年金利率,5%
    cash_ratio = 2*rente_ratio # 现金储备率
    treasury_ratio = 0.4 # 债券仓位,40%
    treasury_fund = '000012.XSHG' # 债券基金,国债指数
    cur_data = get_current_data()
    # 每年第一天分红,再平衡
    if context.current_dt.year > context.previous_date.year:
        # 分红额度
        rente = int(rente_ratio * context.portfolio.total_value)
        # 分红
        log.info('!!!分红+++', rente, int(context.portfolio.available_cash))
        inout_cash(-rente)
        # 再平衡
        if not cur_data[treasury_fund].paused:
            treasury_size = treasury_ratio * context.portfolio.total_value
            log.info('再平衡', treasury_fund)
            order_target_value(treasury_fund, treasury_size)
    # 股票池
    stocks = get_index_stocks(index)
    # 卖出
    for s in context.portfolio.positions:
        if s not in stocks and\
            not cur_data[s].paused:
            log.info('sell', s, cur_data[s].name)
            order_target(s, 0)
    # 买进
    cash_size = cash_ratio * context.portfolio.total_value
    position_size = (1.0 - cash_ratio - treasury_ratio)/n * context.portfolio.total_value
    for s in stocks:
        if  context.portfolio.available_cash < cash_size:
            break # 现金不够,不买
        if s not in context.portfolio.positions and\
            not cur_data[s].paused:
            log.info('buy', s, cur_data[s].name)
            order_value(s, position_size)
    # 记录净值,万元
    record(NetValue = context.portfolio.total_value/10000)
# end
2025-02-23
⚠️
本站资源大多来自网络,仅供网友学习交流,未经作者或上传书面授权,请勿作他用。
站长 vx: xiangyin615 或者 留言反馈 ,我们将尽快处理。
Notice: When you of the legal rights be violate, please stir to vx: xiangyin615
个人中心
购物车
优惠劵
搜索