CAMP和风险平价联用下的投资组合构建【skills】
2026/5/15 1:19:03 网站建设 项目流程

name: camp_portfilo
description: “中国商品期货 CAMP/CAPM 投资组合 + 标准跨品种套利组合自动化流程。必须在用户提到 camp_portfilo、camp portfolio、商品期货组合、100万资金、80万方向组合、20万套利组合、9个标准套利对、Y-P套利、风险平价、CAPM beta/alpha、fee.xlsx 保证金、或要自动更新 camp_pp_portfio 研究报告时使用。”

camp_portfilo:商品期货 80/20 最终组合流程

这个 skill 用于e:\quant\camp_pp_portfio项目,把商品期货方向组合和跨品种套利组合做成可复跑流程:

  • 80 万普通期货资金分两袖:40 万必选品种袖 + 40 万其他品种袖;两袖都用 CAMP/CAPM + 风险平价。
  • 20 万资金袖:从 9 个标准套利对中选择 4 个,强制包含Y_P豆油-棕榈油套利;这部分默认保持不变。
  • 保证金来源:优先使用fee.xlsx的真实主力合约代码、单手保证金和手续费。
  • 数据来源:TqSdk 主连日线,优先用data_downloader2.py --method kline,因为免费账号通常没有 DataDownloader 历史下载权限。

触发后先做

  1. 切到项目目录:e:\quant\camp_pp_portfio
  2. 确认关键文件存在:
    • fee.xlsx
    • config/market_snapshot_20260514_from_image.csv
    • config/standard_arbitrage_pairs.csv
    • data_downloader2.py
    • scripts/camp_portfolio_model.py
    • scripts/arbitrage_pair_research.py
    • scripts/build_final_portfolio_report.py
  3. 如果用户给了新图片或新品种列表,先更新market_snapshot_*.csvstandard_arbitrage_pairs.csv,再运行流程。

自动更新数据

使用 kline 缓存模式更新所有可验证品种的主连日线:

python data_downloader2.py--start2020-01-01--end2026-05-14--top 0--method kline--kline-length 3000--skip-existing--auth-file"e:\quant\ma_tick\account.json"

如果用户没有指定账号文件,优先检查环境变量TQ_USER/TQ_PASSWORD,其次使用当前项目的account.json。不要打印账号密码。

生成普通期货方向组合

运行:

python scripts/camp_portfolio_model.py--capital 1000000--margin-utilization 0.80--max-symbols 6--min-days 500--max-per-sector 1--max-margin-per-lot-ratio 0.20--max-one-lot-risk-ratio 0.035--fee-file fee.xlsx

如果用户指定必选品种,用--force-symbols。如果要避免和套利袖重复,用--exclude-symbols排除套利袖腿;强制纳入的品种优先级高于排除列表。

最新三袖 timing 组合示例:用户指定EB2606、V2606、JD2606、M2607、AL2606;套利袖固定含Y_P、C_CS、L_PP、B_M。普通期货 80 万拆成两部分:

  1. 40 万必选袖:只在用户指定品种中做风险平价。
  2. 40 万其他袖:排除套利腿和必选品种后,从其它期货中选择。

40 万必选袖命令:

python scripts/camp_portfolio_model.py--capital 1000000--margin-utilization 0.40--max-symbols 5--min-days 500--max-per-sector 0--max-margin-per-lot-ratio 0.20--max-one-lot-risk-ratio 0.035--fee-file fee.xlsx--force-symbols EB,V,JD,M,AL--exclude-symbols Y,P,C,CS,L,PP,B,M--out-dirresults\camp_mandatory40

40 万其他袖命令:

python scripts/camp_portfolio_model.py--capital 1000000--margin-utilization 0.40--max-symbols 5--min-days 500--max-per-sector 1--max-margin-per-lot-ratio 0.20--max-one-lot-risk-ratio 0.035--fee-file fee.xlsx--exclude-symbols Y,P,C,CS,L,PP,B,M,EB,V,JD,AL--out-dirresults\camp_other40

输出:

  • results/camp/portfolio_plan.csv
  • results/camp/portfolio_report.md
  • results/camp/risk_metrics.csv
  • results/camp/correlation_matrix.csv

默认基准结果示例:AG 1手、SN 1手、TL 12手、RU 3手、PG 3手、P 10手,实际保证金约 79.56 万。

40 万必选结果示例:EB 10手、V 25手、JD 28手、M 44手、AL 7手,实际保证金约 39.92 万。

40 万其他结果示例:CU 1手、TL 5手、RU 2手、PG 2手、CF 10手,实际保证金约 39.65 万。

生成 20 万套利组合

运行:

python scripts/arbitrage_pair_research.py--capital 200000--max-pairs 4--force-pairs Y_P

规则:

  • 9 个标准套利对全部入模。
  • 价差为close_A - close_B
  • 套利对保证金按两腿较小保证金计。
  • 强制包含Y_P豆油-棕榈油。
  • 再按 pair_score、价差相关性、风险平价分配 4 个套利对。

输出:

  • results/arbitrage/pair_portfolio_plan.csv
  • results/arbitrage/arbitrage_report.md
  • results/arbitrage/pair_metrics.csv
  • results/arbitrage/spread_correlation_matrix.csv

当前基准结果示例:Y_P 3组、C_CS 59组、L_PP 10组、B_M 19组,实际保证金约 19.89 万。

合并最终组合

运行:

python scripts/build_final_portfolio_report.py--capital 1000000

如果方向袖输出到results/camp_timing,用:

python scripts/build_final_portfolio_report.py--capital 1000000--camp results\camp_timing\portfolio_plan.csv--arbitrage results\arbitrage\pair_portfolio_plan.csv--out-dirresults\final_timing

如果使用最新三袖结构,用:

python scripts/build_final_split_portfolio_report.py--capital 1000000

输出:

  • results/final/final_portfolio_report.md
  • results/final/camp_sleeve.csv
  • results/final/arbitrage_sleeve.csv

当前基准合计保证金约994,526元,使用率约99.45%。解释时要提醒:方向组合和套利组合是两个资金袖独立计算,实盘前需要在交易系统层做净头寸汇总,尤其P棕榈油同时出现在方向组合和Y_P套利里。

当前 timing 合计保证金约997,536元,使用率约99.75%。解释时要提醒:M豆粕同时出现在用户必选方向袖和B_M套利袖,这是用户必选导致的保留重复;其它套利腿已从方向袖排除。

最新三袖 timing 合计保证金约994,629元,使用率约99.46%。解释时要提醒:其他40万普通期货袖已排除套利腿和必选品种;M豆粕因用户指定为必选,仍与B_M套利袖重叠。

指标解释

  • beta:单品种或价差相对组合基准的系统性风险暴露。
  • alpha:相对基准的超额收益估计。
  • risk_contribution:按实际手数后的风险贡献,不是保证金占比。
  • spread_half_life_days:价差偏离均值后回归一半所需天数。
  • spread_zscore_252:当前价差相对最近 252 日均值偏离几个标准差。
  • pair_score:综合腿间相关、成交量、价差波动、价差 beta 和半衰期的排序分。

回复用户时

回复要包含:

  1. 数据是否已更新、多少品种/套利对入模。
  2. 40 万必选普通期货袖的品种、合约、手数和保证金。
  3. 40 万其他普通期货袖的品种、合约、手数和保证金。
  4. 20 万套利组合的套利对、两腿合约、组数和保证金。
  5. 最终三袖报告路径:results/final_timing_split/final_split_portfolio_report.md
  6. 如果用户指定必选品种,说明哪些品种因必选保留,哪些套利腿被排除以避免重复。
  7. 风险提示:保证金和手续费来自fee.xlsx,实盘还要做净头寸汇总、交易所套利保证金规则确认和滑点/手续费复核。

最终 timing 组合报告:40万必选 + 40万其他 + 20万套利

账户资金:1,000,000 元。
必选普通期货袖实际保证金:399,209 元。
其他普通期货袖实际保证金:396,510 元。
跨品种套利袖实际保证金:198,910 元。
合计实际保证金:994,629 元,使用率 99.46%。

去重说明:其他40万普通期货袖已排除套利腿和必选品种;M豆粕因用户指定为必选,仍与B_M套利袖重叠。实盘前需要在交易系统层做净头寸汇总。

重复检查

检查项重复品种
必选40与套利20M
其他40与套利20
必选40与其他40

40万必选普通期货袖

品种合约分类手数单手保证金实际保证金betaalpha风险贡献
EB 苯乙烯eb2607化工期货105818581751.44-1.31%18.8%
V PVCv2609化工期货252804701111.22-9.11%18.1%
JD 鸡蛋jd2607农产品期货282616732450.420.80%21.0%
M 豆粕m2609农产品期货442138940630.63-0.96%19.9%
AL 铝al2606有色金属期货7148021036140.904.58%22.2%

40万其他普通期货袖

品种合约分类手数单手保证金实际保证金betaalpha风险贡献
CU 铜cu2606有色金属期货164170641700.967.72%23.3%
TL 三十年期国债TL2606金融期货539501197505-0.124.23%15.5%
RU 天然橡胶ru2609化工期货219586391711.110.90%18.6%
PG 液化石油气pg2607能源期货219027380541.3913.25%26.2%
CF 棉花CF609农产品期货105761576100.83-1.50%16.3%

20万跨品种套利袖

套利对合约A合约B手数每组保证金实际保证金腿间相关hedge beta价差zscore风险贡献
豆油-棕榈油y2609p260935986179570.8160.594-0.4820.1%
玉米-玉米淀粉c2607cs2607591623957570.6820.499-0.2526.9%
塑料-聚丙烯l2609pp2609104458445780.9010.876-2.8325.2%
豆二-豆粕b2607m2609192138406180.6600.778-1.2027.8%

文件索引

文件内容
results/camp_mandatory40/portfolio_plan.csv40万必选普通期货袖明细
results/camp_other40/portfolio_plan.csv40万其他普通期货袖明细
results/arbitrage/pair_portfolio_plan.csv20万套利袖明细
results/final_timing_split/final_split_portfolio_report.md本最终组合报告

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询