U
    Ãmœd—  ã                   @   s’   d Z ddlZddd„ZeZedkrŽejjddd	�ZeeƒZ	e
e	ƒ d
d„ eeeƒƒD ƒZe
e	dd…df edd…  ƒ eedgd�Ze
eƒ dS )z5
Created on Wed May 04 06:09:18 2011

@author: josef
é    Nçš™™™™™©?c                 C   s  d}t  | ¡} | j| }t j| |d�}|dkr4|}n|t  || ¡ t¡ }t j||dd�}g }tt	|ƒd ƒD ]T}	||	 }
| |
d…  
¡ }| |
d…  ¡ }|t  ||
 ¡ }| |
||	 ||f¡ qpt  |¡}d}|dd…dd…f ||dd…d	d…f  t  d	dgg¡  }t  ||f¡S )
aÓ  empirical mean residual life or expected shortfall

    Parameters
    ----------
    x : 1-dimensional array_like
    frac : list[float], optional
        All entries must be between 0 and 1
    alpha : float, default 0.05
        FIXME: not actually used.

    TODO:
        check formula for std of mean
        does not include case for all observations
        last observations std is zero
        vectorize loop using cumsum
        frac does not work yet
    r   )ÚaxisNÚright)Zsideé   g\�Âõ(\ÿ?é   éÿÿÿÿ)ÚnpZasarrayÚshapeÚsortÚfloorZastypeÚintZsearchsortedÚrangeÚlenÚmeanZstdÚsqrtÚappendÚarrayZcolumn_stack)ÚxÚfracÚalphar   ZnobsZxsortedZ
xthresholdZxlargerindexÚresultÚiZk_indÚrmeanZrstdZrmstdÚresÚcritZconfint© r   úb/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/sandbox/distributions/try_pot.pyÚmean_residual_life
   s&    


<r   Ú__main__é   é
   )Úsizec                 C   s   g | ]}t |d …  ¡ ‘qS )N)Úrvsr   )Ú.0r   r   r   r   Ú
<listcomp>?   s     r$   r   r   g      à?)r   )Nr   )Ú__doc__Únumpyr   r   Zexpected_shortfallÚ__name__ÚrandomZ
standard_tr"   r   Úprintr   r   r   Zres_fracr   r   r   r   Ú<module>   s   
. 