{
  "_id": "6a5d53b99baadeef8ab53053",
  "Package": "PeerPerformance",
  "Version": "2.4.0",
  "Title": "Luck-Corrected Peer Performance Analysis in R",
  "Authors@R": "c(person(\"David\", \"Ardia\", role = c(\"aut\", \"cre\", \"cph\", \"fnd\"),\nemail = \"david.ardia.ch@gmail.com\",\ncomment = c(ORCID = \"0000-0003-2823-782X\")),\nperson(\"Nabil\", \"Bouamara\", role = \"ctb\"),\nperson(\"Kris\", \"Boudt\", role = \"aut\",\ncomment = c(ORCID = \"0000-0002-1000-5142\")),\nperson(\"Sebastien\", \"Legros\", role = \"ctb\"),\nperson(\"Murilo Andre\", \"Peres Pereira\", role = \"ctb\",\ncomment = c(ORCID = \"0009-0007-0086-4801\")),\nperson(\"Benjamin\", \"Seguin\", role = \"ctb\"))",
  "VignetteBuilder": "knitr",
  "Description": "Provides functions to perform the peer performance\nanalysis of funds' returns as described in Ardia and Boudt\n(2018) <doi:10.1016/j.jbankfin.2017.10.014>.",
  "BugReports": "https://github.com/ArdiaD/PeerPerformance/issues",
  "URL": "https://github.com/ArdiaD/PeerPerformance",
  "License": "GPL (>= 2)",
  "LazyData": "true",
  "Encoding": "UTF-8",
  "Config/roxygen2/version": "8.0.0",
  "Repository": "https://ardiad.r-universe.dev",
  "Date/Publication": "2026-07-19 21:50:10 UTC",
  "RemoteUrl": "https://github.com/ardiad/peerperformance",
  "RemoteRef": "HEAD",
  "RemoteSha": "86a8117c739d38ae9c14e9fdd41a30210cb88c8f",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-19 22:39:07 UTC",
    "User": "root"
  },
  "Author": "David Ardia [aut, cre, cph, fnd] (ORCID:\n<https://orcid.org/0000-0003-2823-782X>),\nNabil Bouamara [ctb],\nKris Boudt [aut] (ORCID: <https://orcid.org/0000-0002-1000-5142>),\nSebastien Legros [ctb],\nMurilo Andre Peres Pereira [ctb] (ORCID:\n<https://orcid.org/0009-0007-0086-4801>),\nBenjamin Seguin [ctb]",
  "Maintainer": "David Ardia <david.ardia.ch@gmail.com>",
  "_user": "ardiad",
  "_type": "src",
  "_file": "PeerPerformance_2.4.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/ee1730ef51a5643dd220a5ea85b7b75768e1762b651e7079cc642125e121bc35",
  "_filesize": 450974,
  "_sha256": "ee1730ef51a5643dd220a5ea85b7b75768e1762b651e7079cc642125e121bc35",
  "_expires": "2026-10-27T22:46:15.000Z",
  "_created": "2026-07-19T22:39:07.000Z",
  "_published": "2026-07-19T22:46:17.026Z",
  "_jobs": [
    {
      "job": 88244413791,
      "time": 351,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8448126441"
    },
    {
      "job": 88244413785,
      "time": 357,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8448127272"
    },
    {
      "job": 88244413813,
      "time": 187,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8448102183"
    },
    {
      "job": 88244413799,
      "time": 205,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8448104644"
    },
    {
      "job": 88244129351,
      "time": 221,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8448074469"
    },
    {
      "job": 88244413795,
      "time": 101,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8448089620"
    },
    {
      "job": 88244413793,
      "time": 375,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8448129920"
    },
    {
      "job": 88244413812,
      "time": 350,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8448126625"
    },
    {
      "job": 88244413798,
      "time": 282,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8448116363"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/ardiad/actions/runs/29706422860",
  "_status": "success",
  "_upstream": "https://github.com/ardiad/peerperformance",
  "_commit": {
    "id": "86a8117c739d38ae9c14e9fdd41a30210cb88c8f",
    "author": "David Ardia <ArdiaD@users.noreply.github.com>",
    "committer": "David Ardia <ArdiaD@users.noreply.github.com>",
    "message": "Address the independent Codex validation of the recent changes\n\n- Build the per-length bootstrap indices only for the bootstrap test\n  (type = 2) and only for pairs passing minObs. They were built\n  unconditionally, so asymptotic screening (the default) paid the memory cost\n  and could warn or error purely because bBoot exceeded some pair length,\n  although bBoot is irrelevant there. This also bounds the index-list size.\n- adjustPi(fast = TRUE) now handles NA/NaN like the default path: uniroot\n  fails on such targets and the scalar path falls back to the input, whereas\n  the vectorised path raised \"NAs are not allowed in subscripted assignments\".\n  NaN does reach adjustPi (an all-NA p-value row makes computePizero NaN).\n  Inversion is restricted to finite, bracketed elements; clamping is NA-safe.\n- Correct an overstated accuracy claim in NEWS, the three help pages and the\n  code comment: the bisection locates the root to about 1e-12, but agreement\n  with the default path is capped by uniroot's own tolerance (about 1.2e-4),\n  so the two typically differ by a few 1e-5, the fast path being the more\n  accurate one.\n- Correct the justification for the Sharpe '>=' bootstrap p-value: the\n  resample space is finite, so ties are possible; '>=' is a deliberate\n  conservative convention matching the modified Sharpe test, not a\n  probability-zero argument.\n- Tests: round-trip check that the fast path actually solves the inversion\n  (1e-9 on bracketed entries, and asserts some entries are inverted so it\n  cannot pass vacuously); NA/out-of-bracket parity between the two paths;\n  asymptotic screening is unaffected by bBoot. The pre-existing bBoot test now\n  uses type = 2, since the asymptotic path no longer consults it.\n\n233 tests pass; R CMD check --as-cran: 0 ERROR / 0 WARNING / 1 NOTE.\n",
    "time": 1784497810
  },
  "_maintainer": {
    "name": "David Ardia",
    "email": "david.ardia.ch@gmail.com",
    "login": "ardiad",
    "orcid": "0000-0003-2823-782X",
    "description": "Professor in Quantitative Finance",
    "uuid": 11246455
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5.0",
      "role": "Depends"
    },
    {
      "package": "compiler",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "lmtest",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "sandwich",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    }
  ],
  "_owner": "ardiad",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-31",
      "n": 3
    },
    {
      "week": "2025-33",
      "n": 6
    },
    {
      "week": "2025-34",
      "n": 2
    },
    {
      "week": "2026-26",
      "n": 16
    },
    {
      "week": "2026-28",
      "n": 1
    },
    {
      "week": "2026-29",
      "n": 2
    }
  ],
  "_tags": [
    {
      "name": "2.3.2",
      "date": "2025-08-18"
    }
  ],
  "_topics": [
    "alpha",
    "finance",
    "funds",
    "performance-analysis",
    "performance-metrics",
    "screening",
    "sharpe"
  ],
  "_stars": 13,
  "_contributors": [
    {
      "user": "ardiad",
      "count": 91,
      "uuid": 11246455
    },
    {
      "user": "nabilbouamara",
      "count": 5,
      "uuid": 7300281
    },
    {
      "user": "benjaminseguin",
      "count": 2,
      "uuid": 156557319
    }
  ],
  "_userbio": {
    "uuid": 11246455,
    "type": "user",
    "name": "David Ardia",
    "followers": 155,
    "description": "Professor in Quantitative Finance"
  },
  "_downloads": {
    "count": 321,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/PeerPerformance"
  },
  "_devurl": "https://github.com/ardiad/peerperformance",
  "_searchresults": 24,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/PeerPerformance.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/ardiad/peerperformance",
  "_realowner": "ardiad",
  "_cranurl": true,
  "_releases": [
    {
      "version": "2.1.1",
      "date": "2017-01-29"
    },
    {
      "version": "2.1.2",
      "date": "2017-02-04"
    },
    {
      "version": "2.2.1",
      "date": "2018-08-30"
    },
    {
      "version": "2.2.2",
      "date": "2020-04-21"
    },
    {
      "version": "2.2.3",
      "date": "2021-04-21"
    },
    {
      "version": "2.2.5",
      "date": "2021-05-16"
    },
    {
      "version": "2.3.1",
      "date": "2024-11-14"
    },
    {
      "version": "2.3.2",
      "date": "2025-08-18"
    }
  ],
  "_exports": [
    "alphaScreening",
    "alphaTesting",
    "exposureHeterogeneity",
    "msharpe",
    "msharpeScreening",
    "msharpeTesting",
    "rollScreening",
    "sharpe",
    "sharpeScreening",
    "sharpeTesting",
    "targetPeerPerformance"
  ],
  "_datasets": [
    {
      "name": "hfdata",
      "title": "Hedge fund data",
      "object": "hfdata",
      "class": [
        "matrix",
        "array"
      ],
      "fields": [
        "Fund 1",
        "Fund 2",
        "Fund 3",
        "Fund 4",
        "Fund 5",
        "Fund 6",
        "Fund 7",
        "Fund 8",
        "Fund 9",
        "Fund 10",
        "Fund 11",
        "Fund 12",
        "Fund 13",
        "Fund 14",
        "Fund 15",
        "Fund 16",
        "Fund 17",
        "Fund 18",
        "Fund 19",
        "Fund 20",
        "Fund 21",
        "Fund 22",
        "Fund 23",
        "Fund 24",
        "Fund 25",
        "Fund 26",
        "Fund 27",
        "Fund 28",
        "Fund 29",
        "Fund 30",
        "Fund 31",
        "Fund 32",
        "Fund 33",
        "Fund 34",
        "Fund 35",
        "Fund 36",
        "Fund 37",
        "Fund 38",
        "Fund 39",
        "Fund 40",
        "Fund 41",
        "Fund 42",
        "Fund 43",
        "Fund 44",
        "Fund 45",
        "Fund 46",
        "Fund 47",
        "Fund 48",
        "Fund 49",
        "Fund 50",
        "Fund 51",
        "Fund 52",
        "Fund 53",
        "Fund 54",
        "Fund 55",
        "Fund 56",
        "Fund 57",
        "Fund 58",
        "Fund 59",
        "Fund 60",
        "Fund 61",
        "Fund 62",
        "Fund 63",
        "Fund 64",
        "Fund 65",
        "Fund 66",
        "Fund 67",
        "Fund 68",
        "Fund 69",
        "Fund 70",
        "Fund 71",
        "Fund 72",
        "Fund 73",
        "Fund 74",
        "Fund 75",
        "Fund 76",
        "Fund 77",
        "Fund 78",
        "Fund 79",
        "Fund 80",
        "Fund 81",
        "Fund 82",
        "Fund 83",
        "Fund 84",
        "Fund 85",
        "Fund 86",
        "Fund 87",
        "Fund 88",
        "Fund 89",
        "Fund 90",
        "Fund 91",
        "Fund 92",
        "Fund 93",
        "Fund 94",
        "Fund 95",
        "Fund 96",
        "Fund 97",
        "Fund 98",
        "Fund 99",
        "Fund 100"
      ],
      "rows": 60,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "alphaScreening",
      "title": "Screening using the alpha outperformance ratio",
      "topics": [
        "alphaScreening"
      ]
    },
    {
      "page": "alphaTesting",
      "title": "Testing the difference of alpha outperformance ratios",
      "topics": [
        "alphaTesting"
      ]
    },
    {
      "page": "as.data.frame.SCREENING",
      "title": "Coerce a 'SCREENING' object to a data frame",
      "topics": [
        "as.data.frame.SCREENING"
      ]
    },
    {
      "page": "confint.SCREENING",
      "title": "Bootstrap confidence intervals for the peer performance ratios",
      "topics": [
        "confint.SCREENING"
      ]
    },
    {
      "page": "exposureHeterogeneity",
      "title": "Factor exposure heterogeneity from a beta screening",
      "topics": [
        "exposureHeterogeneity"
      ]
    },
    {
      "page": "hfdata",
      "title": "Hedge fund data",
      "topics": [
        "hfdata"
      ]
    },
    {
      "page": "msharpe",
      "title": "Compute modified Sharpe ratio",
      "topics": [
        "msharpe"
      ]
    },
    {
      "page": "msharpeScreening",
      "title": "Screening using the modified Sharpe outperformance ratio",
      "topics": [
        "msharpeScreening"
      ]
    },
    {
      "page": "msharpeTesting",
      "title": "Testing the difference of modified Sharpe ratios",
      "topics": [
        "msharpeTesting"
      ]
    },
    {
      "page": "PeerPerformance",
      "title": "PeerPerformance: Luck-corrected peer performance analysis in R",
      "topics": [
        "PeerPerformance-package",
        "PeerPerformance"
      ]
    },
    {
      "page": "plot.exposureHeterogeneity",
      "title": "Plot factor exposure heterogeneity",
      "topics": [
        "plot.exposureHeterogeneity"
      ]
    },
    {
      "page": "plot.rollScreening",
      "title": "Plot a rolling peer performance screening",
      "topics": [
        "plot.rollScreening"
      ]
    },
    {
      "page": "plot.SCREENING",
      "title": "Peer performance screening plot",
      "topics": [
        "plot.SCREENING"
      ]
    },
    {
      "page": "print.SCREENING",
      "title": "Print method for the 'SCREENING' object",
      "topics": [
        "print.SCREENING"
      ]
    },
    {
      "page": "print.summary.SCREENING",
      "title": "Print method for the 'summary.SCREENING' object",
      "topics": [
        "print.summary.SCREENING"
      ]
    },
    {
      "page": "print.TESTING",
      "title": "Print method for the 'TESTING' object",
      "topics": [
        "print.TESTING"
      ]
    },
    {
      "page": "rollScreening",
      "title": "Rolling-window peer performance screening",
      "topics": [
        "rollScreening"
      ]
    },
    {
      "page": "sharpe",
      "title": "Compute Sharpe ratio",
      "topics": [
        "sharpe"
      ]
    },
    {
      "page": "sharpeScreening",
      "title": "Screening using the Sharpe outperformance ratio",
      "topics": [
        "sharpeScreening"
      ]
    },
    {
      "page": "sharpeTesting",
      "title": "Testing the difference of Sharpe ratios",
      "topics": [
        "sharpeTesting"
      ]
    },
    {
      "page": "summary.SCREENING",
      "title": "Summary method for the 'SCREENING' object",
      "topics": [
        "summary.SCREENING"
      ]
    },
    {
      "page": "targetPeerPerformance",
      "title": "Targeted peer-performance screening for selected funds",
      "topics": [
        "targetPeerPerformance"
      ]
    }
  ],
  "_readme": "https://github.com/ardiad/peerperformance/raw/HEAD/README.md",
  "_rundeps": [
    "lattice",
    "lmtest",
    "sandwich",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "PeerPerformance.Rmd",
      "filename": "PeerPerformance.html",
      "title": "Luck-Corrected Peer Performance Analysis with PeerPerformance",
      "author": "David Ardia, Murilo Andre Peres Pereira, Benjamin Seguin",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Alpha peer performance screening",
        "Sharpe and modified Sharpe ratios",
        "Comparing a fund (or group) against a separate peer group",
        "Control parameters",
        "References"
      ],
      "created": "2026-06-24 18:52:00",
      "modified": "2026-06-24 20:09:53",
      "commits": 2
    }
  ],
  "_score": 6.272305844402086,
  "_indexed": true,
  "_nocasepkg": "peerperformance",
  "_universes": [
    "ardiad"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.4.0",
      "date": "2026-07-19T22:41:16.000Z",
      "distro": "resolute",
      "commit": "86a8117c739d38ae9c14e9fdd41a30210cb88c8f",
      "fileid": "https://r2.ropensci.org/2ee429b8bdd83be744eb51d84b0483174c9f39afdba8ee283d954ba2b2ba54f2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ardiad/actions/runs/29706422860"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "2.4.0",
      "date": "2026-07-19T22:41:16.000Z",
      "distro": "resolute",
      "commit": "86a8117c739d38ae9c14e9fdd41a30210cb88c8f",
      "fileid": "https://r2.ropensci.org/4afbb05cb198f65e8a6ce5d38abc67369442cea6796415820daa10f7488af26c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ardiad/actions/runs/29706422860"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.4.0",
      "date": "2026-07-19T22:40:36.000Z",
      "commit": "86a8117c739d38ae9c14e9fdd41a30210cb88c8f",
      "fileid": "https://r2.ropensci.org/c78aeac3bfc637cf63aa5a4b549d7f563d0bf9deeb663c9e7b3b860ab3d9584b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ardiad/actions/runs/29706422860"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "2.4.0",
      "date": "2026-07-19T22:40:42.000Z",
      "commit": "86a8117c739d38ae9c14e9fdd41a30210cb88c8f",
      "fileid": "https://r2.ropensci.org/bd9e70d9d0a4c9c820c2005ef1591dbe9ce67903abfcea9bba7f4559c9394ca5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ardiad/actions/runs/29706422860"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2.4.0",
      "date": "2026-07-19T22:41:06.000Z",
      "commit": "86a8117c739d38ae9c14e9fdd41a30210cb88c8f",
      "fileid": "https://r2.ropensci.org/ae80d6e13b234e99795fb079325aa77fb8141b94962e89d903b3c92d94a4db69",
      "status": "success",
      "buildurl": "https://github.com/r-universe/ardiad/actions/runs/29706422860"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2.4.0",
      "date": "2026-07-19T22:40:30.000Z",
      "commit": "86a8117c739d38ae9c14e9fdd41a30210cb88c8f",
      "fileid": "https://r2.ropensci.org/9d3e958e6c28b50729a8d1499c3fc99b02e9fdeff4b5f82f7f4ae9ab46dd44d0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ardiad/actions/runs/29706422860"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "2.4.0",
      "date": "2026-07-19T22:40:37.000Z",
      "commit": "86a8117c739d38ae9c14e9fdd41a30210cb88c8f",
      "fileid": "https://r2.ropensci.org/39e1163a3195dc54d2b262dc1388ffd8837b4ff3ff6702970b5c186e3c84a6ba",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ardiad/actions/runs/29706422860"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "2.4.0",
      "date": "2026-07-19T22:40:23.000Z",
      "commit": "86a8117c739d38ae9c14e9fdd41a30210cb88c8f",
      "fileid": "https://r2.ropensci.org/48ac7cfd8fd73580d21715f44bfd45598eb7e7cfc38c37460221d19508c8705d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ardiad/actions/runs/29706422860"
    }
  ]
}