The Omega Point Security Search API powers your ability to find specific securities based off various characteristics and values. This search helps facilitate screening securities based on various dimensions:

  • Universe membership
    Include or exclude securities if they belong to a portfolio, ETF, or watchlist
  • Security metadata
    Market cap value & average daily volume (ADV)
    Asset class (equity, currency, basket, etc) & sub-class (ETF, depository receipt, stock)
    Sector, country, currency
  • Total risk & risk decomposition
  • Exposure value to any factor in the risk model

Search parameters

The securitySearch node is built on top of Omega Point’s graphQL implementation. Please read Developer: Getting Started before continuing with this walkthrough.

The securitySearch node requires two inputs:

  • filter - configure the search to return results that match your criteria. This can take in a list that effectively functions as an 'or' operator, returning the union of securities for each separate query in the list
  • on - a security search takes place on one date and returns values for a current or historical date.

And offers three additional parameters:

  • sort - results are returned in ascending or descending order on a particular metric (factor exposure, risk, or descriptor values).
  • take - limit the number of securities searched for to this number. limit: 200
  • skip - paginate through other the results by skipping forward this number of results.

The security search query comes with common operators that can help you specify target values. The operators include the following:

Numeric Operators

  • gt / gte: greater than / greater than or equal to
  • lt / lte: less than / less than or equal to
  • between: between a [min, max] range
  • notBetween: outside a [min, max] range

Text Operators

  • eq: equal to
  • neq: not equal to
  • in: is a member of a provided list
  • notIn: is not a member of a provided list

The combination of filter with operator provides a flexible way to create custom queries to find securities.

Example Query

This query uses the universe filter to limit the search results to names that are not in SPY but are in your portfolio — filtered by securities that have an exposure to size that is less than 1, in the technology sector, and has a market cap greater than 4000,000,000 — and asks to return security risk information. The filter includes a second query, that searches for baskets that have exposure to the volatility factor greater than or equal to 0.2. The first and the second query statements act are treated as "or" queries, taking the union of securities from each query.

{
  model(id:"AXWW4-MH"){
    securitySearch(
      on:"2019-06-03"
      filter:[{
        universe:[{
          type: ETF
          notIn: "SPY.ARCX"
        },{
          type: PORTFOLIO
          in: "portfolio_id"
        },{
        factorExposure:[{
          id: "size"
          lt: 1
        }]
        sector: {
          in: ["Technology Hardware, Storage & Peripherals"]
        }
        marketCapitalization: {
          gte: 4000000000
        }
      }, {
assetClass: { eq: "swap" },
factorExposure:[{ id:"Volatility" gte:0.2 }]
}]
    ){
      count
      securities{
        ticker
        risk{
          standardDeviation{
            total
          }
          varianceDecomposition{
            summary{
              specific
              factors
            }
          }
        }
      }
    }
  }
}

Sample Response

{
  "data": {
    "model": {
      "securitySearch": {
        "count": 7,
        "securities": [
          {
            "ticker": "HPQ",
            "risk": {
              "standardDeviation": {
                "total": 24.768644
              },
              "varianceDecomposition": {
                "summary": {
                  "specific": 47.363323,
                  "factors": 52.636677
                }
              }
            }
          }, {...}
        ]
      }
    }
  }
}  


Note: the "count" corresponds to the number of total securities that match the security search, regardless of the skip value used.

Did this answer your question?