{
  "_id": "6a1971dcacfb0bcc41dedf92",
  "Package": "PortfolioAnalytics",
  "Type": "Package",
  "Title": "Portfolio Analysis, Including Numerical Methods for Optimization\nof Portfolios",
  "Authors@R": "c(\nperson(given=c(\"Brian\",\"G.\"),family=\"Peterson\",role=c(\"cre\",\"aut\",\"cph\"),\nemail=\"brian@braverock.com\") ,\nperson(given=\"Peter\",family=\"Carl\",role=c(\"aut\",\"cph\"),\nemail=\"peter@braverock.com\") ,\nperson(given=\"Ross\",family=\"Bennett\",role=c(\"ctb\",\"cph\")) ,\nperson(given=\"Kris\",family=\"Boudt\",role=c(\"ctb\",\"cph\")) ,\nperson(given=\"Xinran\",family=\"Zhao\",role=c(\"ctb\", \"cph\")),\nperson(given=\"R. Douglas\",family=\"Martin\",role=\"ctb\") ,\nperson(given=\"Guy\",family=\"Yollin\",role=\"ctb\") ,\nperson(given=\"Hezky\",family=\"Varon\",role=\"ctb\") ,\nperson(given=\"Xiaokang\",family=\"Feng\",role=\"ctb\") ,\nperson(given=\"Yifu\",family=\"Kang\",role=\"ctb\") )",
  "Version": "2.1.2",
  "Date": "2026-04-08",
  "Maintainer": "Brian G. Peterson <brian@braverock.com>",
  "Description": "Portfolio optimization and analysis routines and graphics.",
  "VignetteBuilder": "R.rsp, quarto",
  "License": "GPL-3",
  "URL": "https://github.com/braverock/PortfolioAnalytics",
  "Copyright": "(c) 2004-2026",
  "RoxygenNote": "7.3.3",
  "Encoding": "UTF-8",
  "Config/testthat/edition": "3",
  "Config/testthat/parallel": "true",
  "Config/Needs/coverage": "covr",
  "Config/pak/sysreqs": "coinor-symphony coinor-libsymphony-dev",
  "Repository": "https://braverock.r-universe.dev",
  "Date/Publication": "2026-04-29 10:03:52 UTC",
  "RemoteUrl": "https://github.com/braverock/portfolioanalytics",
  "RemoteRef": "HEAD",
  "RemoteSha": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-05-29 09:17:47 UTC",
    "User": "root"
  },
  "Author": "Brian G. Peterson [cre, aut, cph],\nPeter Carl [aut, cph],\nRoss Bennett [ctb, cph],\nKris Boudt [ctb, cph],\nXinran Zhao [ctb, cph],\nR. Douglas Martin [ctb],\nGuy Yollin [ctb],\nHezky Varon [ctb],\nXiaokang Feng [ctb],\nYifu Kang [ctb]",
  "MD5sum": "a0650853287a5575da1a28d19c540214",
  "_user": "braverock",
  "_type": "src",
  "_file": "PortfolioAnalytics_2.1.2.tar.gz",
  "_fileid": "a08ad60884b123f73a722acdc03a9ce77504f8a586d511f97b65c64e99b33aa9",
  "_filesize": 2693203,
  "_sha256": "a08ad60884b123f73a722acdc03a9ce77504f8a586d511f97b65c64e99b33aa9",
  "_created": "2026-05-29T09:17:47.000Z",
  "_published": "2026-05-29T11:00:44.443Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78472962650,
      "time": 184,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7287378424"
    },
    {
      "job": 78472962666,
      "time": 214,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7287388179"
    },
    {
      "job": 78472962664,
      "time": 205,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7287384423"
    },
    {
      "job": 78472962690,
      "time": 204,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7287384709"
    },
    {
      "job": 78472962667,
      "time": 134,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7289095472"
    },
    {
      "job": 78472962781,
      "time": 330,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7287822878"
    },
    {
      "job": 78472962678,
      "time": 160,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7289105099"
    },
    {
      "job": 78472962656,
      "time": 449,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7287873339"
    },
    {
      "job": 78471361849,
      "time": 644,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7287318629"
    },
    {
      "job": 78472962606,
      "time": 138,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7287363530"
    },
    {
      "job": 78472962708,
      "time": 204,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7287384413"
    },
    {
      "job": 78472962643,
      "time": 180,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7287377119"
    },
    {
      "job": 78472962654,
      "time": 201,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7287384351"
    }
  ],
  "_buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/braverock/portfolioanalytics",
  "_commit": {
    "id": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
    "author": "Brian G. Peterson <brian@braverock.com>",
    "committer": "Brian G. Peterson <brian@braverock.com>",
    "message": "embed-resources=true to make generated html self-contained\n",
    "time": 1777457032
  },
  "_maintainer": {
    "name": "Brian G. Peterson",
    "email": "brian@braverock.com",
    "login": "braverock",
    "linkedin": "in/briangpeterson",
    "description": "",
    "uuid": 1668391
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.0.0",
      "role": "Depends"
    },
    {
      "package": "zoo",
      "role": "Depends"
    },
    {
      "package": "xts",
      "version": ">= 0.10-1",
      "role": "Depends"
    },
    {
      "package": "foreach",
      "role": "Depends"
    },
    {
      "package": "PerformanceAnalytics",
      "version": ">= 1.5.1",
      "role": "Depends"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "GenSA",
      "role": "Imports"
    },
    {
      "package": "ROI.plugin.symphony",
      "role": "Imports"
    },
    {
      "package": "mco",
      "role": "Imports"
    },
    {
      "package": "pso",
      "role": "Imports"
    },
    {
      "package": "quantmod",
      "role": "Suggests"
    },
    {
      "package": "DEoptim",
      "version": ">= 2.2.1",
      "role": "Suggests"
    },
    {
      "package": "iterators",
      "role": "Suggests"
    },
    {
      "package": "doParallel",
      "role": "Suggests"
    },
    {
      "package": "doMC",
      "role": "Suggests"
    },
    {
      "package": "fGarch",
      "role": "Suggests"
    },
    {
      "package": "Rglpk",
      "role": "Suggests"
    },
    {
      "package": "quadprog",
      "role": "Suggests"
    },
    {
      "package": "ROI",
      "version": ">= 0.1.0",
      "role": "Suggests"
    },
    {
      "package": "ROI.plugin.glpk",
      "version": ">= 0.0.2",
      "role": "Suggests"
    },
    {
      "package": "ROI.plugin.quadprog",
      "version": ">= 0.0.2",
      "role": "Suggests"
    },
    {
      "package": "corpcor",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "nloptr",
      "version": ">= 1.0.0",
      "role": "Suggests"
    },
    {
      "package": "MASS",
      "role": "Suggests"
    },
    {
      "package": "robustbase",
      "role": "Suggests"
    },
    {
      "package": "osqp",
      "role": "Suggests"
    },
    {
      "package": "CVXR",
      "role": "Suggests"
    },
    {
      "package": "data.table",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "GSE",
      "role": "Suggests"
    },
    {
      "package": "RobStatTM",
      "role": "Suggests"
    },
    {
      "package": "PCRA",
      "role": "Suggests"
    },
    {
      "package": "quarto",
      "role": "Suggests"
    },
    {
      "package": "R.rsp",
      "role": "Suggests"
    },
    {
      "package": "RPESE",
      "role": "Suggests"
    },
    {
      "package": "TTR",
      "role": "Suggests"
    },
    {
      "package": "Matrix",
      "role": "Suggests"
    }
  ],
  "_owner": "braverock",
  "_selfowned": true,
  "_usedby": 2,
  "_updates": [
    {
      "week": "2026-05",
      "n": 8
    },
    {
      "week": "2026-06",
      "n": 2
    },
    {
      "week": "2026-09",
      "n": 14
    },
    {
      "week": "2026-12",
      "n": 2
    },
    {
      "week": "2026-13",
      "n": 1
    },
    {
      "week": "2026-15",
      "n": 71
    },
    {
      "week": "2026-18",
      "n": 2
    }
  ],
  "_tags": [],
  "_stars": 103,
  "_contributors": [
    {
      "user": "rossb34",
      "count": 552,
      "uuid": 5797430
    },
    {
      "user": "braverock",
      "count": 465,
      "uuid": 1668391
    },
    {
      "user": "xinran1228",
      "count": 154,
      "uuid": 100339783
    },
    {
      "user": "peterccarl",
      "count": 119,
      "uuid": 9954629
    },
    {
      "user": "robustport",
      "count": 26,
      "uuid": 103768518
    },
    {
      "user": "shawnfeng92",
      "count": 20,
      "uuid": 42893396
    },
    {
      "user": "joshuaulrich",
      "count": 2,
      "uuid": 1023193
    },
    {
      "user": "anshul96go",
      "count": 1,
      "uuid": 26899264
    }
  ],
  "_userbio": {
    "uuid": 1668391,
    "type": "user",
    "name": "Brian G. Peterson"
  },
  "_downloads": {
    "count": 2388,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/PortfolioAnalytics"
  },
  "_devurl": "https://github.com/braverock/portfolioanalytics",
  "_searchresults": 964,
  "_quarto": true,
  "_topics": [
    "quarto"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/PortfolioAnalytics.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/braverock/portfolioanalytics",
  "_realowner": "braverock",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.3636",
      "date": "2015-04-19"
    },
    {
      "version": "1.1.0",
      "date": "2018-05-17"
    },
    {
      "version": "2.0.0",
      "date": "2024-07-03"
    },
    {
      "version": "2.1.0",
      "date": "2024-12-04"
    },
    {
      "version": "2.1.1",
      "date": "2026-02-04"
    },
    {
      "version": "2.1.2",
      "date": "2026-04-10"
    }
  ],
  "_exports": [
    "ac.ranking",
    "add.constraint",
    "add.objective",
    "add.objective_v1",
    "add.objective_v2",
    "add.sub.portfolio",
    "applyFUN",
    "backtest.plot",
    "black.litterman",
    "box_constraint",
    "CCCgarch.MM",
    "center",
    "centroid.buckets",
    "centroid.complete.mc",
    "centroid.sectors",
    "centroid.sign",
    "chart.Concentration",
    "chart.EF.Weights",
    "chart.EfficientFrontier",
    "chart.EfficientFrontierCompare",
    "chart.EfficientFrontierOverlay",
    "chart.GroupWeights",
    "chart.RiskBudget",
    "chart.RiskReward",
    "chart.Weights",
    "combine.optimizations",
    "combine.portfolios",
    "constrained_objective",
    "constrained_objective_v1",
    "constrained_objective_v2",
    "constraint",
    "constraint_ROI",
    "constraint_v1",
    "constraint_v2",
    "create.EfficientFrontier",
    "custom.covRob.Mcd",
    "custom.covRob.MM",
    "custom.covRob.Rocke",
    "custom.covRob.TSGS",
    "diversification",
    "diversification_constraint",
    "EntropyProg",
    "equal.weight",
    "extract_risk",
    "extractCokurtosis",
    "extractCoskewness",
    "extractCovariance",
    "extractEfficientFrontier",
    "extractGroups",
    "extractObjectiveMeasures",
    "extractStats",
    "extractWeights",
    "factor_exposure_constraint",
    "fn_map",
    "generatesequence",
    "group_constraint",
    "HHI",
    "insert_objectives",
    "inverse.volatility.weight",
    "is.constraint",
    "is.objective",
    "is.portfolio",
    "leverage_exposure_constraint",
    "meancsm.efficient.frontier",
    "meaneqs.efficient.frontier",
    "meanetl.efficient.frontier",
    "meanrisk.efficient.frontier",
    "meanvar.efficient.frontier",
    "meucci.moments",
    "meucci.ranking",
    "minmax_objective",
    "mult.portfolio.spec",
    "MycovRobMcd",
    "MycovRobTSGS",
    "objective",
    "opt.outputMvo",
    "optimize.portfolio",
    "optimize.portfolio_v1",
    "optimize.portfolio_v2",
    "optimize.portfolio.parallel",
    "optimize.portfolio.rebalancing",
    "optimize.portfolio.rebalancing_v1",
    "plotFrontiers",
    "portfolio_risk_objective",
    "portfolio.spec",
    "pos_limit_fail",
    "position_limit_constraint",
    "quadratic_utility_objective",
    "random_portfolios",
    "random_portfolios_v1",
    "random_portfolios_v2",
    "random_walk_portfolios",
    "randomize_portfolio",
    "randomize_portfolio_v1",
    "randomize_portfolio_v2",
    "regime.portfolios",
    "return_constraint",
    "return_objective",
    "risk_budget_objective",
    "rp_grid",
    "rp_sample",
    "rp_simplex",
    "rp_transform",
    "scatterFUN",
    "set.portfolio.moments",
    "statistical.factor.model",
    "trailingFUN",
    "transaction_cost_constraint",
    "turnover",
    "turnover_constraint",
    "turnover_objective",
    "update_constraint_v1tov2",
    "var.portfolio",
    "weight_concentration_objective",
    "weight_sum_constraint"
  ],
  "_datasets": [
    {
      "name": "indexes",
      "title": "Six Major Economic Indexes",
      "object": "indexes",
      "file": "indexes.csv.gz",
      "class": [
        "xts",
        "zoo"
      ],
      "fields": [
        "US Bonds",
        "US Equities",
        "Int'l Equities",
        "Commodities",
        "US Tbill",
        "Inflation"
      ],
      "rows": 360,
      "table": true,
      "tojson": false
    }
  ],
  "_help": [
    {
      "page": "PortfolioAnalytics-package",
      "title": "Numeric methods for optimization of portfolios",
      "topics": [
        "PortfolioAnalytics-package",
        "PortfolioAnalytics"
      ]
    },
    {
      "page": "ac.ranking",
      "title": "Asset Ranking",
      "topics": [
        "ac.ranking"
      ]
    },
    {
      "page": "add.constraint",
      "title": "General interface for adding and/or updating optimization constraints.",
      "topics": [
        "add.constraint"
      ]
    },
    {
      "page": "add.objective",
      "title": "General interface for adding optimization objectives, including risk, return, and risk budget",
      "topics": [
        "add.objective",
        "add.objective_v1",
        "add.objective_v2"
      ]
    },
    {
      "page": "add.sub.portfolio",
      "title": "Add sub-portfolio",
      "topics": [
        "add.sub.portfolio"
      ]
    },
    {
      "page": "applyFUN",
      "title": "Apply a risk or return function to a set of weights",
      "topics": [
        "applyFUN"
      ]
    },
    {
      "page": "backtest.plot",
      "title": "generate plots of the cumulative returns and drawdown for back-testing",
      "topics": [
        "backtest.plot"
      ]
    },
    {
      "page": "barplotGroupWeights",
      "title": "barplot of group weights by group or category",
      "topics": [
        "barplotGroupWeights"
      ]
    },
    {
      "page": "black.litterman",
      "title": "Black Litterman Estimates",
      "topics": [
        "black.litterman"
      ]
    },
    {
      "page": "BlackLittermanFormula",
      "title": "Computes the Black-Litterman formula for the moments of the posterior normal.",
      "topics": [
        "BlackLittermanFormula"
      ]
    },
    {
      "page": "box_constraint",
      "title": "constructor for box_constraint.",
      "topics": [
        "box_constraint"
      ]
    },
    {
      "page": "CCCgarch.MM",
      "title": "compute comoments for use by lower level optimization functions when the conditional covariance matrix is a CCC GARCH model",
      "topics": [
        "CCCgarch.MM"
      ]
    },
    {
      "page": "center",
      "title": "Center",
      "topics": [
        "center"
      ]
    },
    {
      "page": "centroid.buckets",
      "title": "Buckets Centroid",
      "topics": [
        "centroid.buckets"
      ]
    },
    {
      "page": "centroid.complete.mc",
      "title": "Complete Cases Centroid",
      "topics": [
        "centroid.complete.mc"
      ]
    },
    {
      "page": "centroid.sectors",
      "title": "Multiple Sectors Centroid",
      "topics": [
        "centroid.sectors"
      ]
    },
    {
      "page": "centroid.sign",
      "title": "Positive and Negative View Centroid",
      "topics": [
        "centroid.sign"
      ]
    },
    {
      "page": "chart.Concentration",
      "title": "Classic risk reward scatter and concentration",
      "topics": [
        "chart.Concentration"
      ]
    },
    {
      "page": "chart.EF.Weights",
      "title": "Chart weights along an efficient frontier",
      "topics": [
        "chart.EF.Weights",
        "chart.EF.Weights.efficient.frontier",
        "chart.EF.Weights.optimize.portfolio"
      ]
    },
    {
      "page": "chart.EfficientFrontier",
      "title": "Chart the efficient frontier and risk-return scatter",
      "topics": [
        "chart.EfficientFrontier",
        "chart.EfficientFrontier.efficient.frontier",
        "chart.EfficientFrontier.optimize.portfolio",
        "chart.EfficientFrontier.optimize.portfolio.CVXR",
        "chart.EfficientFrontier.optimize.portfolio.ROI"
      ]
    },
    {
      "page": "chart.EfficientFrontierCompare",
      "title": "Overlay the efficient frontiers of different minRisk portfolio objects on a single plot.",
      "topics": [
        "chart.EfficientFrontierCompare"
      ]
    },
    {
      "page": "chart.EfficientFrontierOverlay",
      "title": "Plot multiple efficient frontiers",
      "topics": [
        "chart.EfficientFrontierOverlay"
      ]
    },
    {
      "page": "chart.GroupWeights",
      "title": "Chart weights by group or category",
      "topics": [
        "chart.GroupWeights"
      ]
    },
    {
      "page": "chart.RiskBudget",
      "title": "Generic method to chart risk contribution",
      "topics": [
        "chart.RiskBudget",
        "chart.RiskBudget.opt.list",
        "chart.RiskBudget.optimize.portfolio",
        "chart.RiskBudget.optimize.portfolio.rebalancing"
      ]
    },
    {
      "page": "chart.RiskReward",
      "title": "classic risk reward scatter",
      "topics": [
        "chart.RiskReward",
        "chart.RiskReward.opt.list",
        "chart.RiskReward.optimize.portfolio.DEoptim",
        "chart.RiskReward.optimize.portfolio.GenSA",
        "chart.RiskReward.optimize.portfolio.pso",
        "chart.RiskReward.optimize.portfolio.random",
        "chart.RiskReward.optimize.portfolio.ROI",
        "chart.Scatter.DE",
        "chart.Scatter.GenSA",
        "chart.Scatter.pso",
        "chart.Scatter.ROI",
        "chart.Scatter.RP"
      ]
    },
    {
      "page": "chart.Weights",
      "title": "boxplot of the weights of the optimal portfolios",
      "topics": [
        "chart.Weight.DE",
        "chart.Weight.GenSA",
        "chart.Weight.pso",
        "chart.Weight.ROI",
        "chart.Weight.RP",
        "chart.Weights",
        "chart.Weights.opt.list",
        "chart.Weights.optimize.portfolio.DEoptim",
        "chart.Weights.optimize.portfolio.GenSA",
        "chart.Weights.optimize.portfolio.pso",
        "chart.Weights.optimize.portfolio.random",
        "chart.Weights.optimize.portfolio.rebalancing",
        "chart.Weights.optimize.portfolio.ROI"
      ]
    },
    {
      "page": "check_constraints",
      "title": "check if a set of weights satisfies the constraints",
      "topics": [
        "check_constraints"
      ]
    },
    {
      "page": "cokurtosisMF",
      "title": "Cokurtosis Matrix Estimate",
      "topics": [
        "cokurtosisMF"
      ]
    },
    {
      "page": "cokurtosisSF",
      "title": "Cokurtosis Matrix Estimate",
      "topics": [
        "cokurtosisSF"
      ]
    },
    {
      "page": "combine.optimizations",
      "title": "Combine objects created by optimize.portfolio",
      "topics": [
        "combine.optimizations"
      ]
    },
    {
      "page": "combine.portfolios",
      "title": "Combine a list of portfolio objects",
      "topics": [
        "combine.portfolios"
      ]
    },
    {
      "page": "constrained_objective",
      "title": "calculate a numeric return value for a portfolio based on a set of constraints and objectives",
      "topics": [
        "constrained_objective",
        "constrained_objective_v1",
        "constrained_objective_v2"
      ]
    },
    {
      "page": "constraint_ROI",
      "title": "constructor for class constraint_ROI",
      "topics": [
        "constraint_ROI"
      ]
    },
    {
      "page": "constraint",
      "title": "constructors for class constraint",
      "topics": [
        "constraint",
        "constraint_v1",
        "constraint_v2"
      ]
    },
    {
      "page": "coskewnessMF",
      "title": "Coskewness Matrix Estimate",
      "topics": [
        "coskewnessMF"
      ]
    },
    {
      "page": "coskewnessSF",
      "title": "Coskewness Matrix Estimate",
      "topics": [
        "coskewnessSF"
      ]
    },
    {
      "page": "covarianceMF",
      "title": "Covariance Matrix Estimate",
      "topics": [
        "covarianceMF"
      ]
    },
    {
      "page": "covarianceSF",
      "title": "Covariance Matrix Estimate",
      "topics": [
        "covarianceSF"
      ]
    },
    {
      "page": "create.EfficientFrontier",
      "title": "create an efficient frontier",
      "topics": [
        "create.EfficientFrontier"
      ]
    },
    {
      "page": "custom.covRob.Mcd",
      "title": "Compute returns mean vector and covariance matrix with custom.covRob.Mcd",
      "topics": [
        "custom.covRob.Mcd"
      ]
    },
    {
      "page": "custom.covRob.MM",
      "title": "Compute returns mean vector and covariance matrix with custom.covRob.MM",
      "topics": [
        "custom.covRob.MM"
      ]
    },
    {
      "page": "custom.covRob.Rocke",
      "title": "Compute returns mean vector and covariance matrix with custom.covRob.Rocke",
      "topics": [
        "custom.covRob.Rocke"
      ]
    },
    {
      "page": "custom.covRob.TSGS",
      "title": "Compute returns mean vector and covariance matrix with custom.covRob.TSGS",
      "topics": [
        "custom.covRob.TSGS"
      ]
    },
    {
      "page": "diversification",
      "title": "Function to compute diversification as a constraint",
      "topics": [
        "diversification"
      ]
    },
    {
      "page": "diversification_constraint",
      "title": "constructor for diversification_constraint",
      "topics": [
        "diversification_constraint"
      ]
    },
    {
      "page": "EntropyProg",
      "title": "Entropy pooling program for blending views on scenarios with a prior scenario-probability distribution",
      "topics": [
        "EntropyProg"
      ]
    },
    {
      "page": "equal.weight",
      "title": "Create an equal weight portfolio",
      "topics": [
        "equal.weight"
      ]
    },
    {
      "page": "etl_milp_opt",
      "title": "Minimum ETL MILP Optimization",
      "topics": [
        "etl_milp_opt"
      ]
    },
    {
      "page": "etl_opt",
      "title": "Minimum ETL LP Optimization",
      "topics": [
        "etl_opt"
      ]
    },
    {
      "page": "extract_risk",
      "title": "extract the risk value when knowing the weights",
      "topics": [
        "extract_risk"
      ]
    },
    {
      "page": "extractCokurtosis",
      "title": "Cokurtosis Estimate",
      "topics": [
        "extractCokurtosis"
      ]
    },
    {
      "page": "extractCoskewness",
      "title": "Coskewness Estimate",
      "topics": [
        "extractCoskewness"
      ]
    },
    {
      "page": "extractCovariance",
      "title": "Covariance Estimate",
      "topics": [
        "extractCovariance"
      ]
    },
    {
      "page": "extractEfficientFrontier",
      "title": "Extract the efficient frontier data points",
      "topics": [
        "extractEfficientFrontier"
      ]
    },
    {
      "page": "extractGroups",
      "title": "Extract the group and/or category weights",
      "topics": [
        "extractGroups"
      ]
    },
    {
      "page": "extractObjectiveMeasures",
      "title": "Extract the objective measures",
      "topics": [
        "extractObjectiveMeasures"
      ]
    },
    {
      "page": "extractStats",
      "title": "extract some stats and weights from a portfolio run via 'optimize.portfolio'",
      "topics": [
        "extractStats",
        "extractStats.optimize.portfolio.DEoptim",
        "extractStats.optimize.portfolio.GenSA",
        "extractStats.optimize.portfolio.parallel",
        "extractStats.optimize.portfolio.pso",
        "extractStats.optimize.portfolio.random",
        "extractStats.optimize.portfolio.ROI"
      ]
    },
    {
      "page": "extractWeights",
      "title": "Extract weights from a portfolio run via 'optimize.portfolio' or 'optimize.portfolio.rebalancing'",
      "topics": [
        "extractWeights"
      ]
    },
    {
      "page": "factor_exposure_constraint",
      "title": "Constructor for factor exposure constraint",
      "topics": [
        "factor_exposure_constraint"
      ]
    },
    {
      "page": "fn_map",
      "title": "mapping function to transform or penalize weights that violate constraints",
      "topics": [
        "fn_map"
      ]
    },
    {
      "page": "generatesequence",
      "title": "create a sequence of possible weights for random or brute force portfolios",
      "topics": [
        "generatesequence"
      ]
    },
    {
      "page": "get_constraints",
      "title": "Helper function to get the enabled constraints out of the portfolio object When the v1_constraint object is instantiated via constraint, the arguments min_sum, max_sum, min, and max are either specified by the user or default values are assigned. These are required by other functions such as 'optimize.portfolio' and 'constrained_objective' . This function will check that these variables are in the portfolio object in the constraints list. We will default to 'min_sum=1' and 'max_sum=1' if leverage constraints are not specified. We will default to 'min=-Inf' and 'max=Inf' if box constraints are not specified.  This function is used at the beginning of optimize.portfolio and other functions to extract the constraints from the portfolio object. We Use the same naming as the v1_constraint object.",
      "topics": [
        "get_constraints"
      ]
    },
    {
      "page": "gmv_opt",
      "title": "GMV/QU QP Optimization",
      "topics": [
        "gmv_opt"
      ]
    },
    {
      "page": "gmv_opt_leverage",
      "title": "GMV/QU QP Optimization with Turnover Constraint",
      "topics": [
        "gmv_opt_leverage"
      ]
    },
    {
      "page": "gmv_opt_ptc",
      "title": "GMV/QU QP Optimization with Proportional Transaction Cost Constraint",
      "topics": [
        "gmv_opt_ptc"
      ]
    },
    {
      "page": "gmv_opt_toc",
      "title": "GMV/QU QP Optimization with Turnover Constraint",
      "topics": [
        "gmv_opt_toc"
      ]
    },
    {
      "page": "group_constraint",
      "title": "constructor for group_constraint",
      "topics": [
        "group_constraint"
      ]
    },
    {
      "page": "group_fail",
      "title": "Test if group constraints have been violated",
      "topics": [
        "group_fail"
      ]
    },
    {
      "page": "HHI",
      "title": "Concentration of weights",
      "topics": [
        "HHI"
      ]
    },
    {
      "page": "indexes",
      "title": "Six Major Economic Indexes",
      "topics": [
        "indexes"
      ]
    },
    {
      "page": "insert_constraints",
      "title": "Insert a list of constraints into the constraints slot of a portfolio object",
      "topics": [
        "insert_constraints"
      ]
    },
    {
      "page": "insert_objectives",
      "title": "Insert a list of objectives into the objectives slot of a portfolio object",
      "topics": [
        "insert_objectives"
      ]
    },
    {
      "page": "inverse.volatility.weight",
      "title": "Create an inverse volatility weighted portfolio",
      "topics": [
        "inverse.volatility.weight"
      ]
    },
    {
      "page": "is.constraint",
      "title": "check function for constraints",
      "topics": [
        "is.constraint"
      ]
    },
    {
      "page": "is.objective",
      "title": "check class of an objective object",
      "topics": [
        "is.objective"
      ]
    },
    {
      "page": "is.portfolio",
      "title": "check function for portfolio",
      "topics": [
        "is.portfolio"
      ]
    },
    {
      "page": "leverage_exposure_constraint",
      "title": "constructor for leverage_exposure_constraint",
      "topics": [
        "leverage_exposure_constraint"
      ]
    },
    {
      "page": "maxret_milp_opt",
      "title": "Maximum Return MILP Optimization",
      "topics": [
        "maxret_milp_opt"
      ]
    },
    {
      "page": "maxret_opt",
      "title": "Maximum Return LP Optimization",
      "topics": [
        "maxret_opt"
      ]
    },
    {
      "page": "meancsm.efficient.frontier",
      "title": "Generate the efficient frontier for a mean-CSM portfolio",
      "topics": [
        "meancsm.efficient.frontier"
      ]
    },
    {
      "page": "meaneqs.efficient.frontier",
      "title": "Generate the efficient frontier for a mean-EQS portfolio",
      "topics": [
        "meaneqs.efficient.frontier"
      ]
    },
    {
      "page": "meanetl.efficient.frontier",
      "title": "Generate the efficient frontier for a mean-etl portfolio",
      "topics": [
        "meanetl.efficient.frontier"
      ]
    },
    {
      "page": "meanrisk.efficient.frontier",
      "title": "Generate multiple efficient frontiers for the same portfolio",
      "topics": [
        "meanrisk.efficient.frontier"
      ]
    },
    {
      "page": "meanvar.efficient.frontier",
      "title": "Generate the efficient frontier for a mean-variance portfolio",
      "topics": [
        "meanvar.efficient.frontier"
      ]
    },
    {
      "page": "meucci.moments",
      "title": "Compute moments",
      "topics": [
        "meucci.moments"
      ]
    },
    {
      "page": "meucci.ranking",
      "title": "Asset Ranking",
      "topics": [
        "meucci.ranking"
      ]
    },
    {
      "page": "minmax_objective",
      "title": "constructor for class tmp_minmax_objective",
      "topics": [
        "minmax_objective"
      ]
    },
    {
      "page": "mult.portfolio.spec",
      "title": "Multple Layer Portfolio Specification",
      "topics": [
        "mult.portfolio.spec"
      ]
    },
    {
      "page": "MycovRobMcd",
      "title": "Control settings for custom.covRob.Mcd",
      "topics": [
        "MycovRobMcd"
      ]
    },
    {
      "page": "MycovRobTSGS",
      "title": "Control settings for custom.covRob.TSGS",
      "topics": [
        "MycovRobTSGS"
      ]
    },
    {
      "page": "name.replace",
      "title": "utility function to replace awkward named from unlist",
      "topics": [
        "name.replace"
      ]
    },
    {
      "page": "objective",
      "title": "constructor for class 'objective'",
      "topics": [
        "objective"
      ]
    },
    {
      "page": "opt.outputMvo",
      "title": "Optimal Portfolio Weights and Performance Values",
      "topics": [
        "opt.outputMvo"
      ]
    },
    {
      "page": "optimize.portfolio",
      "title": "Constrained optimization of portfolios",
      "topics": [
        "optimize.portfolio",
        "optimize.portfolio_v1",
        "optimize.portfolio_v2"
      ]
    },
    {
      "page": "optimize.portfolio.parallel",
      "title": "Execute multiple optimize.portfolio calls, presumably in parallel",
      "topics": [
        "optimize.portfolio.parallel"
      ]
    },
    {
      "page": "optimize.portfolio.rebalancing",
      "title": "Portfolio Optimization with Rebalancing Periods",
      "topics": [
        "optimize.portfolio.rebalancing",
        "optimize.portfolio.rebalancing_v1"
      ]
    },
    {
      "page": "pHist",
      "title": "Generates histogram",
      "topics": [
        "pHist"
      ]
    },
    {
      "page": "plot",
      "title": "plot method for objects of class 'optimize.portfolio'",
      "topics": [
        "plot.optimize.portfolio",
        "plot.optimize.portfolio.DEoptim",
        "plot.optimize.portfolio.GenSA",
        "plot.optimize.portfolio.pso",
        "plot.optimize.portfolio.random",
        "plot.optimize.portfolio.ROI"
      ]
    },
    {
      "page": "plotFrontiers",
      "title": "Generate efficient frontiers plot by providing frontiers.",
      "topics": [
        "plotFrontiers"
      ]
    },
    {
      "page": "portfolio_risk_objective",
      "title": "constructor for class portfolio_risk_objective",
      "topics": [
        "portfolio_risk_objective"
      ]
    },
    {
      "page": "portfolio.moments.bl",
      "title": "Portfolio Moments",
      "topics": [
        "portfolio.moments.bl"
      ]
    },
    {
      "page": "portfolio.moments.boudt",
      "title": "Portfolio Moments",
      "topics": [
        "portfolio.moments.boudt"
      ]
    },
    {
      "page": "portfolio.spec",
      "title": "constructor for class portfolio",
      "topics": [
        "portfolio",
        "portfolio.spec"
      ]
    },
    {
      "page": "pos_limit_fail",
      "title": "function to check for violation of position limits constraints",
      "topics": [
        "pos_limit_fail"
      ]
    },
    {
      "page": "position_limit_constraint",
      "title": "constructor for filter_constraint",
      "topics": [
        "position_limit_constraint"
      ]
    },
    {
      "page": "print.constraint",
      "title": "print method for constraint objects",
      "topics": [
        "print.constraint"
      ]
    },
    {
      "page": "print.efficient.frontier",
      "title": "Print an efficient frontier object",
      "topics": [
        "print.efficient.frontier"
      ]
    },
    {
      "page": "print.optimize.portfolio.rebalancing",
      "title": "Printing output of optimize.portfolio.rebalancing",
      "topics": [
        "print.optimize.portfolio.rebalancing"
      ]
    },
    {
      "page": "print.optimize.portfolio",
      "title": "Printing output of optimize.portfolio",
      "topics": [
        "print.optimize.portfolio.CVXR",
        "print.optimize.portfolio.DEoptim",
        "print.optimize.portfolio.GenSA",
        "print.optimize.portfolio.pso",
        "print.optimize.portfolio.random",
        "print.optimize.portfolio.ROI"
      ]
    },
    {
      "page": "print.portfolio",
      "title": "Printing Portfolio Specification Objects",
      "topics": [
        "print.portfolio"
      ]
    },
    {
      "page": "print.summary.optimize.portfolio",
      "title": "Printing summary output of optimize.portfolio",
      "topics": [
        "print.summary.optimize.portfolio"
      ]
    },
    {
      "page": "print.summary.optimize.portfolio.rebalancing",
      "title": "Printing summary output of optimize.portfolio.rebalancing",
      "topics": [
        "print.summary.optimize.portfolio.rebalancing"
      ]
    },
    {
      "page": "quadratic_utility_objective",
      "title": "constructor for quadratic utility objective",
      "topics": [
        "quadratic_utility_objective"
      ]
    },
    {
      "page": "random_portfolios",
      "title": "version 2 generate an arbitary number of constrained random portfolios",
      "topics": [
        "random_portfolios",
        "random_portfolios_v2"
      ]
    },
    {
      "page": "random_portfolios_v1",
      "title": "generate an arbitary number of constrained random portfolios",
      "topics": [
        "random_portfolios_v1"
      ]
    },
    {
      "page": "random_walk_portfolios",
      "title": "deprecated random portfolios wrapper until we write a random trades function",
      "topics": [
        "random_walk_portfolios"
      ]
    },
    {
      "page": "randomize_portfolio",
      "title": "version 2 generate random permutations of a portfolio seed meeting your constraints on the weights of each asset",
      "topics": [
        "randomize_portfolio",
        "randomize_portfolio_v2"
      ]
    },
    {
      "page": "randomize_portfolio_v1",
      "title": "Random portfolio sample method",
      "topics": [
        "randomize_portfolio_v1"
      ]
    },
    {
      "page": "regime.portfolios",
      "title": "Regime Portfolios",
      "topics": [
        "regime.portfolios"
      ]
    },
    {
      "page": "return_constraint",
      "title": "constructor for return_constraint",
      "topics": [
        "return_constraint"
      ]
    },
    {
      "page": "return_objective",
      "title": "constructor for class return_objective",
      "topics": [
        "return_objective"
      ]
    },
    {
      "page": "risk_budget_objective",
      "title": "constructor for class risk_budget_objective",
      "topics": [
        "risk_budget_objective"
      ]
    },
    {
      "page": "rp_grid",
      "title": "Generate random portfolios based on grid search method",
      "topics": [
        "rp_grid"
      ]
    },
    {
      "page": "rp_sample",
      "title": "Generate random portfolios using the sample method",
      "topics": [
        "rp_sample"
      ]
    },
    {
      "page": "rp_simplex",
      "title": "Generate random portfolios using the simplex method",
      "topics": [
        "rp_simplex"
      ]
    },
    {
      "page": "rp_transform",
      "title": "Transform a weights vector to satisfy constraints",
      "topics": [
        "rp_transform"
      ]
    },
    {
      "page": "scatterFUN",
      "title": "Apply a risk or return function to asset returns",
      "topics": [
        "scatterFUN"
      ]
    },
    {
      "page": "set.portfolio.moments",
      "title": "Portfolio Moments",
      "topics": [
        "set.portfolio.moments",
        "set.portfolio.moments_v2"
      ]
    },
    {
      "page": "set.portfolio.moments_v1",
      "title": "set portfolio moments for use by lower level optimization functions",
      "topics": [
        "set.portfolio.moments_v1"
      ]
    },
    {
      "page": "statistical.factor.model",
      "title": "Statistical Factor Model",
      "topics": [
        "statistical.factor.model"
      ]
    },
    {
      "page": "summary.efficient.frontier",
      "title": "Summarize an efficient frontier object",
      "topics": [
        "summary.efficient.frontier"
      ]
    },
    {
      "page": "summary.optimize.portfolio",
      "title": "Summarizing output of optimize.portfolio",
      "topics": [
        "summary.optimize.portfolio"
      ]
    },
    {
      "page": "summary.optimize.portfolio.rebalancing",
      "title": "summary method for optimize.portfolio.rebalancing",
      "topics": [
        "summary.optimize.portfolio.rebalancing"
      ]
    },
    {
      "page": "summary.portfolio",
      "title": "Summarize Portfolio Specification Objects",
      "topics": [
        "summary.portfolio"
      ]
    },
    {
      "page": "trailingFUN",
      "title": "apply a function over a configurable trailing period",
      "topics": [
        "trailingFUN"
      ]
    },
    {
      "page": "transaction_cost_constraint",
      "title": "constructor for transaction_cost_constraint",
      "topics": [
        "transaction_cost_constraint"
      ]
    },
    {
      "page": "turnover",
      "title": "Calculates turnover given two vectors of weights. This is used as an objective function and is called when the user adds an objective of type turnover with 'add.objective'",
      "topics": [
        "turnover"
      ]
    },
    {
      "page": "turnover_constraint",
      "title": "constructor for turnover_constraint",
      "topics": [
        "turnover_constraint"
      ]
    },
    {
      "page": "turnover_objective",
      "title": "constructor for class turnover_objective",
      "topics": [
        "turnover_objective"
      ]
    },
    {
      "page": "update_constraint_v1tov2",
      "title": "Helper function to update v1_constraint objects to v2 specification in the portfolio object",
      "topics": [
        "update_constraint_v1tov2"
      ]
    },
    {
      "page": "update.constraint",
      "title": "function for updating constrints, not well tested, may be broken",
      "topics": [
        "update.constraint"
      ]
    },
    {
      "page": "var.portfolio",
      "title": "Calculate portfolio variance",
      "topics": [
        "var.portfolio"
      ]
    },
    {
      "page": "weight_concentration_objective",
      "title": "Constructor for weight concentration objective",
      "topics": [
        "weight_concentration_objective"
      ]
    },
    {
      "page": "weight_sum_constraint",
      "title": "constructor for weight_sum_constraint",
      "topics": [
        "weight_sum_constraint"
      ]
    }
  ],
  "_readme": "https://github.com/braverock/portfolioanalytics/raw/HEAD/README.md",
  "_rundeps": [
    "backports",
    "checkmate",
    "codetools",
    "foreach",
    "GenSA",
    "iterators",
    "lattice",
    "mco",
    "PerformanceAnalytics",
    "pso",
    "quadprog",
    "registry",
    "ROI",
    "ROI.plugin.symphony",
    "Rsymphony",
    "slam",
    "xts",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "portfolio_vignette.Rnw",
      "filename": "portfolio_vignette.pdf",
      "title": "An Introduction to Portfolio Optimization with PortfolioAnalytics",
      "engine": "utils::Sweave",
      "headings": [],
      "created": "2013-08-16 16:31:25",
      "modified": "2026-02-03 04:30:46",
      "commits": 18
    },
    {
      "source": "custom_moments_objectives.Rnw",
      "filename": "custom_moments_objectives.pdf",
      "title": "Custom Moment and Objective Functions",
      "engine": "utils::Sweave",
      "headings": [],
      "created": "2014-08-04 02:01:26",
      "modified": "2024-08-21 04:56:33",
      "commits": 10
    },
    {
      "source": "cvxrPortfolioAnalytics.pdf.asis",
      "filename": "cvxrPortfolioAnalytics.pdf",
      "title": "CVXR for PortfolioAnalytics",
      "engine": "R.rsp::asis",
      "headings": [],
      "created": "2024-04-14 10:42:25",
      "modified": "2024-04-14 10:42:25",
      "commits": 1
    },
    {
      "source": "optimization_solvers.qmd",
      "filename": "optimization_solvers.html",
      "title": "Optimization Solvers in PortfolioAnalytics",
      "engine": "quarto::html",
      "headings": [],
      "created": "2026-04-12 14:32:32",
      "modified": "2026-04-29 10:03:52",
      "commits": 4
    },
    {
      "source": "risk_budget_optimization.Rnw",
      "filename": "risk_budget_optimization.pdf",
      "title": "Portfolio Optimization with CVaR budgets in PortfolioAnalytics",
      "engine": "utils::Sweave",
      "headings": [],
      "created": "2013-08-25 11:40:17",
      "modified": "2024-08-21 04:56:33",
      "commits": 10
    },
    {
      "source": "ROI_vignette.Rnw",
      "filename": "ROI_vignette.pdf",
      "title": "Portfolio Optimization with ROI in PortfolioAnalytics",
      "engine": "utils::Sweave",
      "headings": [],
      "created": "2013-08-16 16:45:23",
      "modified": "2024-08-21 04:56:33",
      "commits": 10
    },
    {
      "source": "robustCovMatForPA.pdf.asis",
      "filename": "robustCovMatForPA.pdf",
      "title": "Using Robust Covariance Matrix Estimators in PortfolioAnalytics",
      "engine": "R.rsp::asis",
      "headings": [],
      "created": "2024-04-14 10:42:25",
      "modified": "2024-04-14 10:42:25",
      "commits": 1
    }
  ],
  "_score": 11.387363955827768,
  "_indexed": true,
  "_nocasepkg": "portfolioanalytics",
  "_universes": [
    "braverock"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.1.2",
      "date": "2026-05-29T09:20:30.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
      "fileid": "e4414d0a960998af7026898267aed22222b802bf7f9fb8b04942695b4d6da82b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.1.2",
      "date": "2026-05-29T09:20:46.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
      "fileid": "b15a052e248af5b01c73e06cb19762367f09cbf561378fe6c8a60f67ff06aacf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "2.1.2",
      "date": "2026-05-29T09:20:46.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
      "fileid": "04eebff9715d1d4ba38532fe5d4d4fe929ddd80be953963ba8cba65e50eb13e1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "2.1.2",
      "date": "2026-05-29T09:20:42.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
      "fileid": "c0190d1a0c019ffdfc8975048deceda68760ee891651ae3b02553756d2f34ba4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.1.2",
      "date": "2026-05-29T10:58:44.000Z",
      "arch": "aarch64",
      "commit": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
      "fileid": "3fee06cf15f756a22a5fc5fc415cf8caf3210f217d6e27b72ba97b93c54f2d53",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.1.2",
      "date": "2026-05-29T09:44:04.000Z",
      "arch": "x86_64",
      "commit": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
      "fileid": "b1e473b266dcd66a1ed1150261ec197bc9710166c03569df6e5d34f3476e5110",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "2.1.2",
      "date": "2026-05-29T10:59:13.000Z",
      "arch": "aarch64",
      "commit": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
      "fileid": "7b78326e2dcbaedf3e9f17fa0c5f7cba6218f77318de893bce3e9075c678f820",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "2.1.2",
      "date": "2026-05-29T09:46:04.000Z",
      "arch": "x86_64",
      "commit": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
      "fileid": "55d7f79147e2d1f39d1584e0eb1b696d3d419c21fc1331ef54af41d8050f3ca3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2.1.2",
      "date": "2026-05-29T09:20:37.000Z",
      "arch": "emscripten",
      "commit": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
      "fileid": "07c4d3a3cf77e9cac72a478fafcc7f3c6827a24b742631605fc5b3ceac0888b8",
      "status": "success",
      "buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2.1.2",
      "date": "2026-05-29T09:20:10.000Z",
      "arch": "x86_64",
      "commit": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
      "fileid": "015af4f6841bb5d2e61bf68a127bf7316c233914eff1860410820d4f34de0b48",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "2.1.2",
      "date": "2026-05-29T09:19:50.000Z",
      "arch": "x86_64",
      "commit": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
      "fileid": "c3351be0685ec30ff24b00b8510db3d883ad9006daef5ffadd9ff96b57a06c7f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "2.1.2",
      "date": "2026-05-29T09:20:09.000Z",
      "arch": "x86_64",
      "commit": "e0a7f3f7fb090fd9be3613541cf21791b3b8a27e",
      "fileid": "a0e91a75a74382f8d797909225b7b95c952abb11233aaf60c76141b85058a778",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/braverock/actions/runs/26628563153"
    }
  ]
}