+
    Oi                        ^ RI t^ RIHt ]! ]4      P                  4       P                  ^,          t]R,          R,          R,          tR R lt	R t
]R	8X  d   ]
! 4       t]! ]P                  4       4       ]! ]P                  4       4       ]! R
]R,          P!                  4       R]R,          P#                  4       4       ]! R]! ]4      4       ]! R4       ]! ]P&                  P)                  4       4       R# R# )    N)Pathdatarawratesc                P    V ^8  d   QhR\         R\        R\        P                  /# )   	file_path
value_namereturn)r   strpd	DataFrame)formats   "GC:\Users\paul_\OneDrive\fx_macro_intraday\src\ingestion\rates_loader.py__annotate__r      s%       3 2<<     c                 x   \         P                  ! V 4      pVP                   Uu. uF   q3P                  4       P	                  4       NK"  	  upVn        \        VP                  4      ^8  d   \        V P                   R24      hVP                  R,          P                  4       pRV.Vn        \         P                  ! VR,          RR7      VR&   \         P                  ! W!,          RR7      W!&   VP                  RV.R7      P                  R.R7      P                  R4      P                  RR7      pV# u upi )	r   z" does not have at least 2 columns.datecoerce)errors)subsetTdrop):NNN:Nr   N)r   read_csvcolumnsstriplowerlen
ValueErrornameiloccopyto_datetime
to_numericdropnadrop_duplicatessort_valuesreset_index)r	   r
   dfcs   &&  r   _load_two_col_csvr+      s    	Y	B-/ZZ8Z'')//#Z8BJ
2::INN++MNOO				B*%BJ6
8<BvJ]]2>(CBN 			&*-	.?6(?+;v;D;!	  I% 9s   &D7c                     \        \        R ,          R4      p \        \        R,          R4      p\        \        R,          R4      p\        \        R,          R4      pV P                  VRR	R
7      pVP                  VRRR
7      pVP                  VRRR
7      pVR,          VR,          ,
          VR&   VR,          VR,          ,
          VR&   VP                  R4      P	                  RR7      pV# )zus2y.csvus2yzde2y.csvde2yz	us10y.csvus10yz	de10y.csvde10yr   inner)onhowleft	spread_2y
spread_10yTr   )r+   
RATES_PATHmerger'   r(   )r-   r.   r/   r0   r)   s        r   
load_ratesr9      s    Z*4f=DZ*4f=Dj;6@Ej;6@E	DV	1B	%F	/B	%F	/Bj2f:-B{O'{R[0B|			+	+	+	6BIr   __main__z
Date range:r   tozRows:z	
Columns:)pandasr   pathlibr   __file__resolveparents	BASE_PATHr7   r+   r9   __name__r   printheadtailminmaxr   r   tolist r   r   <module>rJ      s     N""$,,Q/	%''1
.$ zLE	%**,	%**,	/5=,,.eFm6G6G6IJ	'3u:	,	%--


 ! r   