ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【ptrade】全天候 回测实录

【ptrade】全天候 回测实录 18_全天候 · 回测实录股票、债券、商品、黄金四类资产各25%每月再平衡一次。策略类型资产配置 / 再平衡回测批次2026-10-04本地 QuantStudio 回测引擎数据来源QuantStudio 本地行情库etf_daily/stock_daily一、策略思路桥水全天候的极简复刻。它的假设是没人能持续预测未来那就干脆不预测把资金平均分配到四种不同的经济环境受益资产上——增长好买股票、增长差买债券、通胀高买商品和黄金。每月检查一次谁涨多了就卖掉一点补给跌的把权重拉回25%。收益来源不是选对资产而是分散化 再平衡这两件确定性较高的事。关键参数参数取值ASSETS510300.SS、511010.SS、159980.SZ、518880.SSTARGET_WEIGHT0.25REBALANCE_TOL0.05二、回测设置项目设置策略文件18_全天候.py回测区间2024-01-01 ~ 2026-09-02初始资金100000 元佣金费率0.00035最低 5.0 元印花税率0.001过户费率1e-05滑点0.0撮合价格close基准000300交易日数647三、回测结果这是13篇里最平的一张图——净值曲线不会有陡峭的拉升回撤图里的坑也应该明显更浅。配置型策略的价值从来不体现在收益有多高而体现在回撤有多小。绩效指标指标数值累计收益44.32%年化收益15.23%最大回撤12.04%年化波动率11.22%夏普比率1.133索提诺比率1.513卡玛比率1.265回合胜率100.00%日胜率50.85%盈亏比0.0%盈利回合数17亏损回合数0平均持仓天数392.3成交笔数46「盈亏比」 平均盈利 ÷ 平均亏损 100%表示平均每笔赚的比亏的多。「回合」指一次完整的买入→卖出round_trips「成交笔数」是买卖双方分开计数的原始成交记录条数。⚠️本窗口基准数据不完整引擎的基准序列尾部为占位填充值据此算出的沪深300收益为 0.00%该数字不可信净值图中的基准曲线已截断至有效区间至 2026-07-31。因此本策略的α、β、超额收益、信息比率等相对指标一律不可引用只能用绝对收益与回撤来判断。分年度收益年份区间收益交易日202414.73%242202524.35%2432026-0.01%162四、交易明细完整交易回合数17个盈利 17 / 亏损 0单笔平均盈亏688.83 元最大单笔盈利2895.18 元最大单笔亏损19.52 元持仓天数平均392.3 天最长734 天最短59 天盈利最多的 5 个回合买入日卖出日标的盈亏(元)持仓天数2024-10-082025-05-06518880.SH2895.182102024-05-062026-03-02518880.SH2005.976652024-02-012024-10-08510300.SH1448.962502024-04-012026-02-02518880.SH1034.006722024-01-022026-01-05518880.SH951.44734亏损最多的 5 个回合买入日卖出日标的盈亏(元)持仓天数2024-03-012024-06-03159980.SZ19.52942024-01-022024-03-01510300.SH64.51592024-10-082026-06-01159980.SZ106.806012024-01-022024-04-01518880.SH140.91902024-03-012024-08-01518880.SH157.24153五、完整回测代码文件名18_全天候.py共 110 行引擎QuantStudio 本地回测全部为公开 API无平台专有调用。# -*- coding: utf-8 -*- 18_全天候策略 (QuantStudio 本地回测版) 核心逻辑四类资产等权配置——股票25% 债券25% 商品25% 黄金25%。 每月第一个交易日再平衡恢复到目标权重。 桥水全天候策略的简化版追求在任何经济环境下都能稳定收益。 importnumpyasnp# 四类资产代表ETFASSETS{股票:510300.SS,# 沪深300ETF债券:511010.SS,# 国债ETF商品:159980.SZ,# 有色金属ETF商品代理黄金:518880.SS,# 黄金ETF}TARGET_WEIGHT0.25# 每类资产目标权重25%REBALANCE_TOL0.05# 偏离5%以上才再平衡definitialize(context):set_benchmark(000300.SS)g.last_rebalance_monthNonerun_daily(context,trade,time09:30)log.info(18_全天候策略初始化: 股票%s, 债券%s, 商品%s, 黄金%s, 各占%.0f%%,ASSETS[股票],ASSETS[债券],ASSETS[商品],ASSETS[黄金],TARGET_WEIGHT*100)def_is_first_trading_day_of_month(context):判断是否为本月第一个交易日try:dtcontext.current_dt current_month(dt.year,dt.month)ifg.last_rebalance_monthisNoneorcurrent_month!g.last_rebalance_month:g.last_rebalance_monthcurrent_monthreturnTruereturnFalseexceptException:ifnothasattr(g,day_counter):g.day_counter0g.day_counter1returng.day_counter%200def_get_current_price(code):获取当前价格try:hget_history(1,1d,field[close],security_listcode,fqpre,includeTrue,is_dictTrue)ifhisNoneorcodenotinh:returnNoneclosesnp.asarray(h[code][close],dtypefloat)iflen(closes)0:returnNonereturnfloat(closes[-1])exceptException:returnNonedeftrade(context):# 只在每月第一个交易日再平衡ifnot_is_first_trading_day_of_month(context):returntotal_valuecontext.portfolio.total_value target_valuetotal_value*TARGET_WEIGHT*0.98# 留2%现金need_rebalanceFalserebalance_details[]forasset_name,codeinASSETS.items():posget_position(code)current_value0ifposisnotNoneandpos.amount0:price_get_current_price(code)ifpriceisnotNone:current_valuepos.amount*price current_weightcurrent_value/total_valueiftotal_value0else0deviationabs(current_weight-TARGET_WEIGHT)ifdeviationREBALANCE_TOL:need_rebalanceTruerebalance_details.append({name:asset_name,code:code,current_weight:current_weight,current_value:current_value,deviation:deviation,})ifnotneed_rebalance:log.info(全天候再平衡: 所有资产偏离%.0f%%, 不调仓,REBALANCE_TOL*100)return# 执行再平衡fordinrebalance_details:order_target_value(d[code],target_value)log.info(全天候再平衡 %s(%s): 当前权重%.0f%% → 目标%.0f%%,d[name],d[code],d[current_weight]*100,TARGET_WEIGHT*100)defhandle_data(context,data):pass六、风险提示四等权是简化处理不是真正的风险平价债券波动远小于股票等权其实让股票贡献了绝大部分风险。国内商品ETF可选标的少、跟踪误差大有色金属ETF只是商品的代理。这类策略在股债双杀的年份同样会亏钱。免责声明本文所有数字来自本地历史回测回测收益不代表未来表现也不构成任何投资建议或个股/基金推荐。策略代码仅供研究学习实盘执行还需额外考虑滑点、冲击成本、流动性、涨跌停与平台差异等因素。投资有风险决策需谨慎。
返回列表