Quantpedia Public Strategy API

Read-only API reference for retrieving Quantpedia strategy metadata, including list and detail endpoints, auth requirements, response schema, enum values, and error handling behavior.

Overview

This document describes the Quantpedia Public API.

The API exposes the following endpoints:

  • GET /api/v1/strategy
  • GET /api/v1/strategy/{id}
  • GET /api/v1/strategy/{id}/performance
  • GET /api/v1/strategy/{id}/source-code

These endpoints return Quantpedia strategy metadata. The list endpoint returns a lightweight catalog of strategies. The detail endpoint returns the full strategy metadata for a single strategy.

Authentication

The API uses HTTP Basic Authentication.

  • Username: your Quantpedia username
  • Password: your generated API key (available in your account settings)

Example Header

Authorization: Basic <base64(username:apikey)>

Example using curl

curl -u "your_username:your_api_key" https://quantpedia.com/api/v1/strategy
curl -u "your_username:your_api_key" https://quantpedia.com/api/v1/strategy/STRATEGY_ID

How auth works

When you provide valid credentials, the API verifies your API key and returns only the strategies your account is authorized to access.

Without valid credentials, you may receive limited or no strategy data.

Base URL

All endpoints use the following base URL:

https://quantpedia.com

Common Response Rules

  • Responses are JSON.
  • Enum values are serialized as strings.
  • Dates are serialized in ISO format, for example 2025-12-31.
  • Optional fields with no value may be omitted from the response rather than returned as null.
  • Not all strategy detail fields are available for all subscription levels, so returned fields may differ by account.

Endpoint 1: List Strategies

Request

GET /api/v1/strategy

Description

Returns all Quantpedia strategies visible to you.

Example

curl -u "your_username:your_api_key" https://quantpedia.com/api/v1/strategy

Example Response

[
  {
    "id": "abc123",
    "name": "Trend Following Across Asset Classes",
    "path": "api/v1/strategy/abc123"
  },
  {
    "id": "def456",
    "name": "Short-Term Reversal in Equities",
    "path": "api/v1/strategy/def456"
  }
]

Response Fields

Field Type Description
id string Internal strategy identifier
name string Human-readable strategy name
path string Relative API path for the strategy detail endpoint

Endpoint 2: Get Strategy Detail

Request

GET /api/v1/strategy/{id}

Path Parameter

Name Type Description
id string Strategy identifier

Description

Returns the full metadata for a single strategy. Not all detail fields are available for all subscription levels, so the response can differ based on your subscription.

Example

curl -u "your_username:your_api_key" https://quantpedia.com/api/v1/strategy/abc123

Example Response

{
  "id": "abc123",
  "name": "Trend Following Across Asset Classes",
  "description": "A systematic strategy that takes long and short positions based on medium-term price trends across global futures markets.",
  "paperMetrics": {
    "backtestStartYear": 1985,
    "backtestEndYear": 2020,
    "performance": 12.4,
    "performanceNotes": "Annualized return reported in the source paper.",
    "volatility": 10.1,
    "volatilityNotes": "Annualized volatility from the paper.",
    "drawdownMax": -18.6,
    "drawdownMaxNotes": "Maximum drawdown reported in the paper.",
    "sharpeRatio": 1.05
  },
  "calculatedMetrics": {
    "start": "2000-01-01",
    "end": "2025-12-31",
    "perf1M": 0.8,
    "perf1Y": 9.4,
    "perf3Y": 28.2,
    "perf5Y": 51.3,
    "perfYTD": 3.1,
    "perfPreviousYear": 7.6,
    "perfInception": 184.7,
    "perfToDrawdownMax": 2.3,
    "perfToDrawdown95": 2.8,
    "volatility1Y": 9.9,
    "volatility5Y": 10.4,
    "volatilityInception": 10.8,
    "drawdown95": -12.1,
    "drawdownMax": -22.3,
    "sharpeRatio5Y": 0.91,
    "sharpeRatioInception": 0.88,
    "correlation": 0.12
  },
  "keywords": ["trend-following", "diversification", "futures"],
  "instruments": ["Futures"],
  "marketFactors": ["Equities", "Bonds", "Currencies", "Commodities"],
  "regions": ["Global"],
  "complexity": "Moderate",
  "complexityNotes": "Requires multi-market data and periodic rebalancing.",
  "confidence": "Strong",
  "confidenceNotes": "Supported by a long backtest and multiple related studies.",
  "crisisHedge": "Probably",
  "crisisHedgeNotes": "Tends to perform well during persistent market stress but not in every short drawdown.",
  "instrumentsCount": 20,
  "instrumentsCountNotes": "The exact number depends on the implementation universe.",
  "rebalancingPeriod": "Monthly",
  "rebalancingPeriodNotes": "Signal evaluation and portfolio refresh are typically done once per month.",
  "simpleTradingStrategy": "Go long assets with positive trailing trend and short assets with negative trailing trend.",
  "fundamentalReason": "Behavioral underreaction and slow-moving information diffusion can create persistent trends.",
  "relatedDataset": "Continuous futures prices",
  "sourcePaper": {
    "name": "A Century of Evidence on Trend-Following Investing",
    "abstract": "The paper documents persistent return premia from time-series momentum across asset classes.",
    "sources": [
      "https://example.org/paper"
    ]
  },
  "otherPapers": [
    {
      "name": "Time Series Momentum",
      "abstract": "Additional evidence on momentum effects across liquid futures markets.",
      "sources": [
        "https://example.org/related-paper"
      ]
    }
  ]
}

Endpoint 3: Strategy Performance

Request

GET /api/v1/strategy/{id}/performance?orient=split

Path Parameter

Name Type Description
id string Strategy identifier

Query Parameters

Name Type Description
orient string Optional. Output JSON orientation: split (default) or records

Description

Returns the strategy's performance time series (date-indexed). Dates are serialized as YYYY-MM-DD. Access to performance curves is restricted: a strategy must be visible to your account and your account must have portfolio access to use the performance data.

Example

curl -u "your_username:your_api_key" "https://quantpedia.com/api/v1/strategy/abc123/performance"
curl -u "your_username:your_api_key" "https://quantpedia.com/api/v1/strategy/abc123/performance?orient=split"
curl -u "your_username:your_api_key" "https://quantpedia.com/api/v1/strategy/abc123/performance?orient=records"

Example Responses

records (array of objects)

[
  {"date":"2025-01-01","performance":0.0023},
  {"date":"2025-01-02","performance":-0.0011}
]

split (columns / data)

{
  "columns":["date","performance"],
  "data":[["2025-01-01",0.0023],["2025-01-02",-0.0011]]
}

Endpoint 4: Strategy Source Code

Request

GET /api/v1/strategy/{id}/source-code

Path Parameter

Name Type Description
id string Strategy identifier

Description

Returns backtest source files for the strategy. Each item includes the file name, last modified timestamp, and the file content. The endpoint requires that the strategy has an associated backtest and that your account is authorized to view the strategy.

Example

curl -u "your_username:your_api_key" https://quantpedia.com/api/v1/strategy/abc123/source-code

Example Response

[
  {
    "file_name": "main.py",
    "modified_at": "2025-01-02T14:23:00.000",
    "content": "..."
  },
  {
    "file_name": "research.ipynb",
    "modified_at": "2025-01-02T14:23:00.000",
    "content": "..."
  }
]

If the strategy has no backtest or your account is not authorized to access the backtest files, the endpoint returns a 404 response.

Strategy Detail Field Reference

Field Type Description
idstringInternal strategy identifier
namestringStrategy name
descriptionstringHuman-readable summary of the strategy
paperMetricsobjectMetrics sourced from the academic paper
calculatedMetricsobjectCalculated performance metrics
keywordsarray of stringStrategy keywords
instrumentsarray of stringInstrument types used by the strategy
marketFactorsarray of stringAsset classes or market groups
regionsarray of stringGeographic coverage
complexitystringComplexity classification
complexityNotesstringAdditional notes for complexity
confidencestringConfidence classification
confidenceNotesstringAdditional notes for confidence
crisisHedgestringCrisis hedge assessment
crisisHedgeNotesstringAdditional notes for crisis hedge assessment
instrumentsCountintegerNumber of instruments used
instrumentsCountNotesstringAdditional notes for instrument count
rebalancingPeriodstringRebalancing frequency
rebalancingPeriodNotesstringAdditional notes for rebalancing
simpleTradingStrategystringPlain-language summary of the trading rules
fundamentalReasonstringEconomic or behavioral rationale
relatedDatasetstringRelated dataset reference
sourcePaperobjectPrimary source paper
otherPapersarray of objectRelated papers

Nested Objects

paperMetrics

Field Type Description
backtestStartYearintegerStart year of the paper backtest
backtestEndYearintegerEnd year of the paper backtest
performancenumberReported paper performance
performanceNotesstringNotes about performance
volatilitynumberReported paper volatility
volatilityNotesstringNotes about volatility
drawdownMaxnumberReported paper maximum drawdown
drawdownMaxNotesstringNotes about maximum drawdown
sharpeRationumberReported paper Sharpe ratio

calculatedMetrics

Field Type
startdate string
enddate string
perf1Mnumber
perf1Ynumber
perf3Ynumber
perf5Ynumber
perfYTDnumber
perfPreviousYearnumber
perfInceptionnumber
perfToDrawdownMaxnumber
perfToDrawdown95number
volatility1Ynumber
volatility5Ynumber
volatilityInceptionnumber
drawdown95number
drawdownMaxnumber
sharpeRatio5Ynumber
sharpeRatioInceptionnumber
correlationnumber

sourcePaper and otherPapers items

Field Type Description
namestringPaper title
abstractstringPaper abstract or summary
sourcesarray of stringRelated source URLs

Enum Values

complexity

  • Simple
  • Moderate
  • Complex
  • Very Complex

confidence

  • Strong
  • Moderate
  • Weak

crisisHedge

  • Yes
  • No
  • Probably
  • Unlikely
  • Partially
  • Unknown

rebalancingPeriod

  • Intraday
  • Daily
  • Weekly
  • Monthly
  • Quarterly
  • 6 Months
  • Yearly
  • 3 Years

instruments

  • CDS
  • Stocks
  • Futures
  • ETFs
  • Funds
  • CFDs
  • Swaps
  • Options
  • Forwards
  • Bonds
  • Crypto

marketFactors

  • Equities
  • Commodities
  • Bonds
  • Currencies
  • REITs
  • Crypto

regions

  • United States
  • Europe
  • China
  • India
  • Japan
  • Global
  • Emerging Markets
  • N/A

Error Handling

If a strategy is not found or you do not have access to it, the API returns an error response.

Clients should handle non-2xx responses, including:

404If the strategy id does not exist
403If you do not have access to the strategy
500If an unexpected server error occurs

Quantpedia Public Strategy API documentation page.