
    FZj                    <   d Z ddlmZ ddlZddlZddlmZ ddlZ ee	      j                         j                  d   Z ee      ej                  vr"ej                  j                  d ee             ddlmZmZmZmZ  ed      ZddZdd	Zed
k(  r e        yy)zEPrint causal adaptive-lag diagnostics for the archived M2/BTC export.    )annotationsN)Path   )AdaptiveLagCorrelationEngineLagCorrelationConfig	Transformalign_to_regular_gridz8data/COINBASE_BTCUSD, 360-IndicatorM2LI_DebugArchive.csvc                    t        j                  t              } | j                  dt        t
               | j                  dt        d       | j                  dt        d       | j                  dt        d	       | j                  d
t        d       | j                  dt        D cg c]  }|j                   c}t        j                  j                         | j                  dt        d       | j                         S c c}w )N)descriptionz--csv)typedefaultz	--min-lag   z	--max-lagx   z--window   z--min-observationsz--transform)choicesr   z--top   )argparseArgumentParser__doc__add_argumentr   DEFAULT_CSVintr   valueLEVELS
parse_args)parseritems     tools/diagnose_adaptive_lag.pyr   r      s    $$9F
dK@
#r:
#s;

c:
,3D
y/Qyt

y/Q[d[k[k[q[qr
c15 0Rs   +D
c                 4   t               } t        j                  | j                        }t        j                  |d   dd      }t        j
                  |d   j                         |d      }t        j
                  |d   j                         |d	      }t        ||d
      \  }}t        t        | j                  | j                  | j                  | j                  t        | j                                    }t!        |      dz  dt!        |      z  dz  t!        |      dz
  g}t#        d| j                          t#        d| j                   d| j                   d| j                   d| j                          |D ]  }|j%                  |||j&                  |         }t#        d|j(                  j+                          d|j,                   d|j.                   d|j0                          t#        d|j2                  j4                   d|j2                  j6                   d|j2                  j8                          |j;                  | j<                        D ]6  }	t#        d|	j>                  dd|	j@                  dd|	j0                          8  y ) NtimesT)unitutczM2 US EU CN	global_m2)indexnameclose	btc_close1D)	frequency)min_lagmax_lagwindowmin_observations	transform         r   z2grid=1D source=M2 US EU CN target=close transform=zlags=z..z window=z min_observations=
z
 best_lag=z correlation=z observations=z"quality: relative_peak_separation=z margin=z runner_up_lag=z  lag=3dz+.6f)!r   pdread_csvcsvto_datetimeSeriesto_numpyr	   r   r   r+   r,   r-   r.   r   r/   lenprintestimate_atr%   evaluated_atdatebest_lagbest_correlationobservations
confidencerelative_peak_separationmarginrunner_up_lagtop_candidatestoplagcorrelation)
argsframe
timestampssourcetargetengineevaluation_positionspositionestimate	candidates
             r   mainrU   '   s   <DKK!EfCTBJYYu]+446j{[FYYuW~..0
UF*66TJNFF)LLLL;;!22/	
F  K1,q3v;1.Dc&kTUoV	>t~~>N
OP	E$,,r$,,x}DVW[WlWlVm
no(%%fffll86LM8((--/0
8;L;L:M][c[t[tZu  vD  EM  EZ  EZ  D[  \  	]283F3F3_3_2``hiqi|i|  jD  jD  iE  ET  U]  Uh  Uh  Uv  Uv  Tw  x  	y!00:IF9==,M):O:OPT9UUcdmdzdzc{|} ;	 )    __main__)returnzargparse.Namespace)rX   None)r   
__future__r   r   syspathlibr   pandasr5   __file__resolveparents	REPO_ROOTstrpathinsert#strategies.adaptive_lag_correlationr   r   r   r	   r   r   rU   __name__ rV   r   <module>rh      s    K "  
  N""$,,Q/	y>!HHOOAs9~&  MN	~6 zF rV   