
    M/Ph                     @   d Z ddlZddZeZedk    rej                            dd          Z ee          Z	 e
e	           d	  e ee                    D             Z e
e	ddd
f         edd         z
              eedg          Z e
e           dS dS )z5
Created on Wed May 04 06:09:18 2011

@author: josef
    N皙?c                    d}t          j        |           } | j        |         }t          j        | |          }||}n5|t          j        ||z                                t                             }t          j        ||d          }g }t          t          |          dz
            D ]{}	||	         }
| |
d         
                                }| |
d                                         }|t          j        ||
z
            z  }|                    |
||	         ||f           |t          j        |          }d}|ddddf         ||ddd	df         z  t          j        d	dgg          z  z   }t          j        ||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)side   g\(\?   )npasarrayshapesortfloorastypeintsearchsortedrangelenmeanstdsqrtappendarraycolumn_stack)xfracalphar   nobsxsorted
xthresholdxlargerindexresultik_indrmeanrstdrmstdrescritconfints                    i/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/sandbox/distributions/try_pot.pymean_residual_lifer,   	   s   & D

1A74=Dgad###G|

RXdTk2299#>>?
?7JWEEEL F3z??1$%% < <Q%&&	  y}}RWT%Z(((ujmUE:;;;;
(6

CD!!!QqS&kD3qqq"##v;.B7)1D1DDDG?C>***    __main__   
   )sizec                 P    g | ]#}t           |d                                          $S )N)rvsr   ).0r#   s     r+   
<listcomp>r5   >   s(    555SW\\^^555r-   r	   r   g      ?)r   )Nr   )__doc__numpyr   r,   expected_shortfall__name__random
standard_tr3   r(   printr   r   r%   res_frac r-   r+   <module>r?      s    
    ++ ++ ++ ++\ (  z
)

qr

*
*C

S
!
!C	E#JJJ55UU33s88__555E	E#aaad)eABBi
   !!#SE222H	E(OOOOO r-   