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 --start 2020-01-01 --end 2026-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-dir results\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-dir results\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-dir results\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与套利20 M
其他40与套利20
必选40与其他40

40万必选普通期货袖

品种 合约 分类 手数 单手保证金 实际保证金 beta alpha 风险贡献
EB 苯乙烯 eb2607 化工期货 10 5818 58175 1.44 -1.31% 18.8%
V PVC v2609 化工期货 25 2804 70111 1.22 -9.11% 18.1%
JD 鸡蛋 jd2607 农产品期货 28 2616 73245 0.42 0.80% 21.0%
M 豆粕 m2609 农产品期货 44 2138 94063 0.63 -0.96% 19.9%
AL 铝 al2606 有色金属期货 7 14802 103614 0.90 4.58% 22.2%

40万其他普通期货袖

品种 合约 分类 手数 单手保证金 实际保证金 beta alpha 风险贡献
CU 铜 cu2606 有色金属期货 1 64170 64170 0.96 7.72% 23.3%
TL 三十年期国债 TL2606 金融期货 5 39501 197505 -0.12 4.23% 15.5%
RU 天然橡胶 ru2609 化工期货 2 19586 39171 1.11 0.90% 18.6%
PG 液化石油气 pg2607 能源期货 2 19027 38054 1.39 13.25% 26.2%
CF 棉花 CF609 农产品期货 10 5761 57610 0.83 -1.50% 16.3%

20万跨品种套利袖

套利对 合约A 合约B 手数 每组保证金 实际保证金 腿间相关 hedge beta 价差zscore 风险贡献
豆油-棕榈油 y2609 p2609 3 5986 17957 0.816 0.594 -0.48 20.1%
玉米-玉米淀粉 c2607 cs2607 59 1623 95757 0.682 0.499 -0.25 26.9%
塑料-聚丙烯 l2609 pp2609 10 4458 44578 0.901 0.876 -2.83 25.2%
豆二-豆粕 b2607 m2609 19 2138 40618 0.660 0.778 -1.20 27.8%

文件索引

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

经过调整,考虑过流动性和操作难易度,以及对冲的需要;

一键组合汇总

账户资金:1,000,000 元。
必选袖保证金:497,941 元。
其他袖保证金:297,984 元。
套利袖保证金:197,528 元。
合计保证金:993,454 元,使用率 99.35%。

资金袖汇总

资金袖 实际保证金 资金权重 统一风险贡献
arbitrage20 197528 19.88% 3.78%
mandatory40 497941 50.12% 67.24%
other40 297984 29.99% 28.98%

必选方向袖

品种 合约 手数 单手保证金 实际保证金 风险贡献(袖内)
FG 玻璃 FG609 37 2098 77626 19.09%
SA 纯碱 SA609 32 2185 69926 19.64%
JM 焦煤 jm2609 8 8946 71568 22.05%
RU 天然橡胶 ru2609 6 19586 117513 19.24%
CF 棉花 CF609 28 5761 161308 19.97%

其他方向袖

品种 合约 手数 单手保证金 实际保证金 风险贡献(袖内)
M 豆粕 m2609 58 2138 123992 35.91%
V PVC v2609 33 2804 92547 30.41%
EB 苯乙烯 eb2607 14 5818 81445 33.68%

套利袖

套利对 合约A 合约B 组数 每组保证金 实际保证金 风险贡献(袖内)
Y_P 豆油-棕榈油 y2609 p2609 33 5986 197528 100.00%

资产级统一风险贡献

资产类型 资产ID 归属袖 合约 资金权重 统一风险贡献 组合beta
arbitrage Y_P arbitrage20 y2609 / p2609 19.88% 3.78% 0.190
direction CF mandatory40 CF609 16.24% 13.28% 0.818
direction EB other40 eb2607 8.20% 9.16% 1.117
direction FG mandatory40 FG609 7.81% 13.02% 1.666
direction JM mandatory40 jm2609 7.20% 14.74% 2.047
direction M other40 m2609 12.48% 8.92% 0.715
direction RU mandatory40 ru2609 11.83% 13.02% 1.101
direction SA mandatory40 SA609 7.04% 13.17% 1.871
direction V other40 v2609 9.32% 10.90% 1.170
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐