menu
Data

Entitites

An Entityis an object which stores information representing a real world object in the Marquee universe. These objects are representative of common resources such as an Asset or Country. Entities are associated with many datasets in Marquee, such as our Equity Implied Volatility dataset that is keyed off an Asset. Entities can be used in conjunction with a DataCoordinate to obtain a data series associated with that entity.

Entity Types

Below is an overview of the various Entity sub-classes used in GS Quant.

Entity TypeDescriptionPrimary ID
AssetSecurity or observable instrumentMarquee Asset ID
CountryISO 3166 countriesISO 3166-2
SubdivisionISO 3166 subdivsions of countriesISO 3166-2

Fetching Entities

Each Entity sub-class can be used to fetch their respective sub-class using various identifiers.

info

Note

Examples require an initialized GsSession and relevant identifier licenses. Please refer to Sessions for details.

from gs_quant.entities.entity import Country, Subdivision
from gs_quant.markets.securities import Asset, AssetIdentifier


us: Country = Country.get('US', Country.Identifier.MARQUEE_ID)
gb: Country = Country.get('United Kingdom', Country.Identifier.NAME)
spx: Asset = Asset.get('SPX', AssetIdentifier.BLOOMBERG_ID)
new_york: Subdivision = Subdivision.get('US-NY', Subdivision.Identifier.MARQUEE_ID)

Output:

<gs_quant.entities.entity.Country object at 0x000001D413790448>
<gs_quant.entities.entity.Country object at 0x000001D4137972C8>
<gs_quant.markets.securities.Index object at 0x000001D413614508>
<gs_quant.entities.entity.Subdivision object at 0x000001D4137902C8>

Each sub-class has additional information about the Entity which can be retrieved. In this case, the Country and Subdivision entities referencing the United Kingdom and New York State respectively.

print(f'GB - Region: {gb.get_region()}')
print(f'GB - ISO 3166 Alpha-3: {gb.get_alpha3()}')
print(f'GB - ISO 3166 Country Code: {gb.get_country_code()}\n')

print(f'New York - Name: {new_york.get_name()}')

Output:

GB - Region: Europe
GB - ISO 3166 Alpha-3: GBR
GB - ISO 3166 Country Code: 826

New York - Name: New York

Using Entities to Resolve a DataCoordinate

Entity objects can be utlized to resolve a DataCoordinate to fetch a unique series in the Marquee Data Platform without having to specify a Dataset ID.

import datetime as dt

from gs_quant.data import DataDimension, DataCoordinate, DataMeasure

dimensions = {
    DataDimension.TENOR: '1m',
    DataDimension.STRIKE_REFERENCE: 'spot',
    DataDimension.RELATIVE_STRIKE: .8
}

coordinate: DataCoordinate = spx.get_data_coordinate(measure=DataMeasure.IMPLIED_VOLATILITY,
                                                     dimensions=dimensions,
                                                     frequency=DataFrequency.DAILY)

coordinate.get_series(start=dt.date(2020, 1, 1), end=dt.date(2020, 1, 8))

Output:

2020-01-02    0.300644
2020-01-03    0.315498
2020-01-06    0.311003
2020-01-07    0.306926
2020-01-08    0.308256
dtype: float64

Related Content