Metadata-Version: 2.4
Name: lseg-analytics-pricing
Version: 3.0.0b1
Summary: LSEG Analytics pricing SDK for Python
Author-email: analyticssdk <analyticssdk@lseg.com>
Maintainer-email: analyticssdk <analyticssdk@lseg.com>
License-Expression: Apache-2.0
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: corehttp==1.0.0b5
Requires-Dist: python-dotenv
Requires-Dist: requests
Requires-Dist: isodate<1.0.0,>=0.6.1
Requires-Dist: lseg-analytics-core<3.0.0,>=2.0.0
Requires-Dist: pandas
Requires-Dist: plotly
Dynamic: license-file

# LSEG Analytics SDK for Python

The LSEG Analytics SDK for Python provides access to LSEG Financials Analytics Services.

## Getting Started

```shell
$ pip install lseg-analytics-pricing
```

## Usage Examples

An example to create a FX Forward Curve.

```python
from lseg_analytics.pricing.common import (
    TenorType
)

from lseg_analytics.pricing.market_data.fx_forward_curves import (
    create_from_fx_forwards,
    IndirectSourcesSwaps
)

create_from_fx_forwards(
            cross_currency="EURGBP",
            reference_currency="USD",
            sources=IndirectSourcesSwaps(base_fx_forwards="RFB"),
            additional_tenor_types=[TenorType.LONG, TenorType.END_OF_MONTH],
)
```

## Modules Structure

- `async_handler` - contains models for asynchronous handling
- `common` - contains models that can be used in different API modules
- `helpers` - utility functions
- API modules
  - `reference_data`
    - `calendars`
    - `floating_rate_indices`
  - `market_data`
    - `fx_forward_curves`
    - `commodities_curves`
    - `credit_curves`
    - `eq_volatility`
    - `fx_volatility`
    - `inflation_curves`
    - `interest_rate_curves`
    - `ipa_interest_rate_curves`
    - `ircaplet_volatility`
    - `irswaption_volatility`
  - `instruments`
    - `fx_spots`
    - `fx_forwards`
    - `bond`
    - `bond_future`
    - `cap_floor`
    - `cds`
    - `forward_rate_agreement`
    - `ir_swaps`
    - `loans`
    - `options`
    - `repo`
    - `structured_notes`
    - `structured_products`
    - `swaption`
    - `term_deposit`
  - `job_manager`
  - `templates`
    - `instrument_templates`
  - `yield_book_rest`

# Changelog

## 3.0.0b1

-   \[BREAKING CHANGE\] Function `yb_calc_scenarioror` renamed to
    `yb_calc_scenario` in module `yield_book_rest`
-   \[BREAKING CHANGE\] Removed `job-manager` module
-   \[BREAKING CHANGE\]
    `value(payload=..., request_pattern="asyncPolling")` now returns an
    `AsyncOperation` instead of `AsyncRequestResponse`
-   \[BREAKING CHANGE\] Property `body` of class `BulkJsonInputItem`
    changed type from `Optional[str]` to `Optional[dict[str, Any]]`
-   `AsyncOperation` provides instance methods `.polling()` and
    `.result()` to poll job status and retrieve the final result
-   Added 26 new functions in module `yield_book_rest`:
    -   `yb_bond_search`
    -   `yb_bulk_composite`
    -   `yb_bulk_results`
    -   `yb_bulk_template`
    -   `yb_bulk_user_defined_instrument`
    -   `yb_bulk_zip`
    -   `yb_calc_act_vs_proj`
    -   `yb_calc_actual_ror`
    -   `yb_calc_cashflows`
    -   `yb_calc_wal_sensitivity`
    -   `yb_job_abort`
    -   `yb_job_close`
    -   `yb_job_create`
    -   `yb_job_resubmit`
    -   `yb_job_status`
    -   `yb_job_store_csv`
    -   `yb_job_store_json`
    -   `yb_job_store_text`
    -   `yb_retrieve_collateral_details`
    -   `yb_retrieve_curve`
    -   `yb_retrieve_hist_data`
    -   `yb_retrieve_mbs_history`
    -   `yb_retrieve_mortgage_model_info`
    -   `yb_retrieve_result`
    -   `yb_retrieve_tba_pricing`
    -   `yb_retrieve_vol_surface`
-   Added optional parameter `custom_extractors` for functions
    `description_to_df` and `templates_to_df` in module `helpers`
-   Updated docstring for some Calendar, FxSpot and FxForward classes
    and functions
-   Integrate with PriceIt v1.0.0

## 2.2.0b4

-   Added following two helper functions in module `helpers` for
    plotting line/bar chart and updated samples to use them:
    -   `plot_line_chart`
    -   `plot_bar_chart`

## 2.2.0b3

-   Added 3 new functions in module `yield_book_rest`:
    -   `yb_retrieve_indic`
    -   `yb_calc_py`
    -   `yb_calc_scenarioror`
-   Integrate with following new versions of QPS APIs:
    -   FxForwardCurve 2.0.11112
    -   FxForward 2.0.11453
    -   FxSpot 2.0.11453
    -   Option 1.0.11441
    -   Structured Note 1.0.12193
    -   IrSwap 1.0.11926
    -   Loan 1.0.11926
-   Added following two helper functions in module `helpers` for
    plotting volatility surface and smiles and updated samples to use
    them:
    -   `plot_volatility_surface_3d`
    -   `plot_volatility_smiles`
-   Integrate with PriceIt v0.4.0
-   Added new LFA AI Assistant samples

## 2.2.0b2

-   Added more workflow samples for Structured Products.
-   Added/updated below helper functions for Pandas DataFrame conversion
    in module `helpers`. Updated the samples to use the helper
    functions.
    -   `valuation_to_df`
    -   `risk_to_df`
    -   `cashflows_to_df`
    -   `get_nested_attr`
    -   `sort_by_tenor`
    -   `surface_to_df`
    -   `templates_to_df`
-   Integrate with PriceIt v0.2.1
-   Added `x-ap-sdk-operation` and changed User Agent in request headers
    to support Telemetry

## 2.2.0b1

-   Support Telemetry in request headers.
-   Added new module `priceit` for structured product payoff
    definitions.

## 2.1.0

-   Added samples `Inflation Swaps Valuation` and
    `Capped Floored Swaps Valuation` for `instruments.ir_swaps`.
-   Added sample `Structured Notes` for `instruments.structured_notes`.

## 2.0.0

-   \[Breaking Change\] Removed Python 3.8 support.
-   \[BREAKING CHANGE\] Integrate with QPS API IrSwap and Loan 1.0.11810
    with following changes:
    -   Removed functions `solve_polling` and `value_polling` from
        module `instruments.ir_swaps` and class `IrSwap`, added new
        functions `solve_result` and `value_result`
    -   Removed functions `price_polling` and `value_polling` from
        module `instruments.loans` and class `Loan`, added new functions
        `price_result` and `value_result`
-   Added new module `async_handler` with the new async classes
    `AsyncRequestResponse` and `AsyncPollingResponse` that originally in
    the `lseg-analytics-core` package
-   Integrate with QPS API Job Manager 1.0.11816, added new module
    `job_manager` for polling async request status
-   Integrate with QPS API Floating Rate Index 1.0.11469
-   Integrate with QPS API Structured Note 1.0.11162, added new module
    `instruments.structured_notes`

## 1.1.0

-   \[BREAKING CHANGE\] Integrate with QPS API Instrument Templates
    1.0.11376 with following breaking changes:
    -   Added new mandatory property `underlying_spot_date` to class
        `StirFutureDefinition` in module `instrument_templates`
-   Integrate with QPS API IrSwap and Loan 1.0.11406 to support async.
    The async return model will change in next release
-   Added authentication examples in HTML documentation for service
    account, user account, user provided token and proxy server
-   Added more API fundamental and workflows examples
-   Added helper functions for Pandas DataFrame conversion in module
    `helpers`
    -   `description_to_df`
    -   `valuation_to_df`
    -   `risk_to_df`
    -   `cashflows_to_df`
-   Fixed duplicated structured products examples in HTML documentation
-   Removed unnecessary libraries from dependencies

## 1.0.0

-   Added 4 new functions `request_bond_search_async_get`,
    `request_bond_search_async_post`, `request_bond_search_sync_get` and
    `request_bond_search_sync_post` in module `yield_book_rest` for
    Yield Book Rest APIs
-   Supported sorted samples categories and sorted samples of each
    category for samples meta json file
-   Integrated with QPS API FinancialContract 1.0.11382
-   Added more fundamental and workflows samples and updated existing
    samples
-   Package created to support QPS and Yield Book Rest only APIs based
    on Python SDK 2.1.0b5
