a
    b£ja  ã                   @   sÀ  d Z ddlZddlmZ e edƒ ¡ ¡Zg ZeD ]@Ze 	d¡r2e 	d¡sLq2e 	d¡du r\q2e 	d¡shq2e 
e¡ q2d	ZeeƒZed
d„ eD ƒƒZedd„ eD ƒƒZdZdZeD ],Zed r¾q°ed dkrÔed7 Zq°ed7 Zq°dZdZdZeD ]”Zed Zde ¡ v Zed Zed Zed Zee Zedk�r:ed7 Zqîe�rJedkZnedkZe�rzed7 Zede  e Zee7 Zqîee8 Zqîedƒ ede› d�ƒ edƒ edƒ ede› de› dee d d›d�ƒ eded ›�ƒ ed!ƒ ed"e› dee d d›d#�ƒ ed$e› dee d d›d#�ƒ ed%eee  d d›d&�ƒ ed'ed d(›d)�ƒ ed*e› dee › deee  d d›d�ƒ eded ›�ƒ ed+e› �ƒ ed,ee d ›�ƒ ed-ƒ ed.ƒ ed/ƒ d0D ]àZ dZ!dZ"dZ#eD ]�Zed Zde ¡ v Zed e  Zedk�r �qîe#d7 Z#ed Ze�rDed dkZ$ned dkZ$e$�rte"d7 Z"e!ede  e 7 Z!ne!e8 Z!�qîed1e d d2›d3e!d4›d5e"e# d d6›d7e!e d4›�ƒ �qÚdS )8z¾
Hypothetical: instead of betting YES on the underdog, bet NO on the favorite.
NO on opposite side wins on (target wins) OR (draw). Tests user's hypothesis
that many losing bets were draws.
é    N)ÚPathzE:/soccer/bet_history.jsonÚ
kalshi_askZkalshi_stakeÚwonÚftrç      Ð?c                 c   s   | ]}|d  rdV  qdS )r   é   N© ©Ú.0Úbr   r   ú*E:\soccer\misc\archive\no_side_backtest.pyÚ	<genexpr>   ó    r   c                 c   s   | ]}|  d d¡V  qdS )Z
kalshi_pnlr   N)Úgetr	   r   r   r   r      r   ÚDr   g        ZbetZHOMEg®Gáz®ï?ÚAÚHzF======================================================================zSample: z resolved Kalshi betsz
ORIGINAL (YES on underdog):z  Wins: z / z  (éd   z.1fz% WR)z	  P&L:  $z+.2fz  Losses breakdown:z    Lost to DRAW:        z% of total)z    Lost to OTHER team:  z  -> z% of losses are drawsz7
HYPOTHETICAL (NO on favorite, assuming DRAW priced at z.0fzc):z  Hit rate: z%  Skipped (NO price would be > 99c): z
DIFFERENCE: $z&
Sensitivity to DRAW price assumption:z3  Draw price | Alt P&L | Alt WR | Delta vs originalz3  -----------+---------+--------+------------------)g
×£p=
Ç?g)\�Âõ(Ì?r   gìQ¸…ëÑ?g{®GázÔ?z  z>6.0fzc    | $z>+6.2fz | z>5.1fz% | $)%Ú__doc__ZjsonÚpathlibr   ÚloadsÚ	read_textÚhZks_betsr   r   ÚappendZDRAW_PRICE_ASSUMEDÚlenÚnÚsumZ	orig_winsZorig_pnlZlost_to_drawZlost_to_otherZalt_winsZalt_pnl_totalZno_too_expensiveZsideÚupperZis_homer   Zstaker   Zno_priceZalt_wins_thisZ
win_profitÚprintZdpZ	alt_pnl_sZ
alt_wins_sZn_incZwinsr   r   r   r   Ú<module>   sž   






&  .