
    5j                     t    S SK JrJrJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr   " S	 S
\5      r " S S\5      rg)    )UnionDictList   )!PreTradeForecastInputSizeMismatch   )ContentProviderLayer   )ContentType)are_lists_same_sizec                      ^  \ rS rSrSr  SS\\\\   4   S\\\	\\   \\	   4   S\\\\   4   S\\\\   S4   S\\\\   S4   4
U 4S	 jjjr
S
rU =r$ )PreTradeForecastDefinition	   a7  
Fetches pre-trade forecast for given parameters.

Parameters
----------
universe: str | List[str]
    Instrument(s) to request.
order_quantity_usd: float | int | List[int] | List[float]
    List of order quantities in USD.
arrival_time: str | List[str]
    Arrival time(s).
    String format is: '%Y-%m-%dT%H:%M:%S'. e.g. '2024-01-20T15:04:05'.
fields: str | List[str], optional
    Field(s) to request.
forecast_model: str | List[str], optional
    Forecast model(s). Possible values are "tradefeedr/Global", "tradefeedr/Fast", "tradefeedr/Slow".

Returns
-------
Response

Examples
--------
>>> import lseg.data as ld
>>> ld.content.tradefeedr.PreTradeForecastDefinition(
...     universe=["EURUSD", "USDJPY"],
...     order_quantity_usd=[50e6, 30e6],
...     arrival_time=["2023-08-10 11:52", "2023-08-10 12:30"]
... )
Nuniverseorder_quantity_usdarrival_timefieldsforecast_modelc           	      z   > [        XU5      (       d	  [        SS9e[        TU ]  [        R
                  UUUUUS9  g )Nz^The the number of items under universe, order_quantity_usd, and arrival_time must be the same.)message)r   r   r   r   r   )r   r   super__init__r   TRADEFEEDR_PRE_TRADE_FORECAST)selfr   r   r   r   r   	__class__s         g/root/lseg-credit/backend/venv/lib/python3.13/site-packages/lseg/data/content/tradefeedr/_definition.pyr   #PreTradeForecastDefinition.__init__)   sN     #8NN3x  	551%) 	 	
     NN)__name__
__module____qualname____firstlineno____doc__r   strr   floatintr   __static_attributes____classcell__r   s   @r   r   r   	   s    H /36:
T#Y'
 "%d5k49"DE
 CcN+	

 c49d*+
 c49d23
 
r   r   c                   d   ^  \ rS rSrSr  S
S\S\S\\\\   S4   S\S\4   4U 4S jjjr	S	r
U =r$ )ParentOrderDefinition@   a  
Fetches parent orders for given parameters.

Parameters
----------
start: str
    Start of the period to get data for
end: str
    End of the period to get data for
fields: str | List[str], optional
    Field(s) to request, if no fields are passed a default is used
extended_params:
    extra paremeters for the backend request

Returns
-------
Response

Examples
--------
>>> import lseg.data as ld
>>> ld.content.tradefeedr.ParentOrderDefinition(
...     start='2020-01-01',
...     end='2024-01-01'
... )
Nstartendr   extended_paramsc                 @   > [         TU ]  [        R                  XX4S9  g )N)r/   r0   r   r1   )r   r   r   TRADEFEEDR_PARENT_ORDERS)r   r/   r0   r   r1   r   s        r   r   ParentOrderDefinition.__init__\   s$     	00v 	 	
r   r   r    )r!   r"   r#   r$   r%   r&   r   r   r   r   r)   r*   r+   s   @r   r-   r-   @   sY    > /3-1	
	
 	
 c49d*+		

 tTz*	
 	
r   r-   N)typingr   r   r   _errorsr   _content_provider_layerr	   _content_typer   _tools._commonr   r   r-   r   r   r   <module>r:      s2    $ $ 6 : ( 14
!5 4
n%
0 %
r   