a
    ³¨Ûiæ  ã                   @   sØ  d dl Zg d¢Zddddddd	œZd
d„ Zdd„ Zi Ze ¡ D �]V\ZZ	g Z
eD ]vZz2ejde› de› d�dd�Zeed< e
 e¡ W qP eyÄ Z z&ede› de› de› �ƒ W Y dZ[qPdZ[0 0 qPe
sÎq>eje
dd�Zejg d¢d�Zeeƒd k�r
ee	› d�ƒ q>e ¡ Zeejdd„ dd�Ž \ZZZdejeejd � ed!< dejeejd � ed"< dejeejd � ed#< eee	< ee	› deeƒ› d$�ƒ q>ed%ƒ ed&ƒ ed'ƒ ed(d)›dd*d+›dd,d-›dd.d/›dd0d1›dd2d+›�ƒ ed3ƒ e ¡ D ]Â\Z	Zd4D ]¬Zeed5 ed# de  k Zd6d7„ e  ¡ D ƒZ!ee!ƒ\Z"Z#Z$Z%e"d8k�re$d9k�r\d:ne$d k�rjd;nd<Z&ee	d)›d=ed> d?›d@e"d-›de#dA›de$dB›de%dC›e&› �ƒ �qeƒ  �qöed'ƒ edDƒ ed'ƒ ed(d)›dd*d+›dd,d-›dd.d/›dd0d1›dd2d+›�ƒ ed3ƒ e ¡ D ]Â\Z	Zd4D ]¬ZeedE ed! de  k ZdFd7„ e  ¡ D ƒZ!ee!ƒ\Z"Z#Z$Z%e"d8k�r$e$d9k�r~d:ne$d k�rŒd;nd<Z&ee	d)›d=ed> d?›d@e"d-›de#dA›de$dB›de%dC›e&› �ƒ �q$eƒ  �qed'ƒ edGƒ ed'ƒ ed(d)›dd*d+›dd,d-›dd.d/›dd0d1›dd2d+›�ƒ ed3ƒ e ¡ D ]Â\Z	Zd4D ]¬ZeedH ed" de  k ZdId7„ e  ¡ D ƒZ!ee!ƒ\Z"Z#Z$Z%e"d8k�rFe$d9k�r d:ne$d k�r®d;nd<Z&ee	d)›d=ed> d?›d@e"d-›de#dA›de$dB›de%dC›e&› �ƒ �qFeƒ  �q:ed'ƒ edJƒ ed'ƒ ed(d)›d<dK� eD ]ZededL›�d<dK� �q*eƒ  ed3ƒ e ¡ D ]¨\Z	Zee	d)›d<dK� eD ]‚Zeed eked5 ed# dM k@  ZdNd7„ e  ¡ D ƒZ!ee!ƒ\Z"Z#Z$Z%e"d9k�räede$dO›dP�d<dK� neddQdL›�d<dK� �qxeƒ  �q\ed%ƒ edRƒ ed'ƒ eje '¡ dd�Z(dSD ]žZe(e(d5 e(d# de  k ZdTd7„ e  ¡ D ƒZ!ee!ƒ\Z"Z#Z$Z%e$d9k�r„d:ne$d k�r’d;nd<Z&edUed> d?›dVe"d-›dWe#dX›dYe$dZ›d[e%d\›dPe&› �ƒ �q4dS )]é    N)Z1920Z2021Z2122Z2223Z2324Z2425Z2526ZEPLZChampionshipzLigue 1zLa LigaZ
BundesligazSerie A)ZE0ZE1ZF1ZS1ZD1ZI1c                 C   sb   | sdS dd„ | D ƒ}t |ƒ}t|ƒ}|t|dƒt|| d dƒttdd„ | D ƒƒ| d dƒfS )	N)r   ç        r   r   c                 S   s    g | ]\}}|r|d  nd‘qS )é   éÿÿÿÿ© )Ú.0ÚoÚwr   r   ú+E:\soccer\misc\archive\clv_international.pyÚ
<listcomp>   ó    zsimulate.<locals>.<listcomp>é   éd   c                 s   s   | ]\}}|V  qd S )Nr   )r   Ú_r   r   r   r	   Ú	<genexpr>   r   zsimulate.<locals>.<genexpr>r   )ÚlenÚsumÚround)ÚbetsZprofitsÚnÚtotalr   r   r	   Úsimulate   s
    r   c                 C   s:   d|  d|  d|  }d|  | d| | d| | fS )Nr   r   )ÚhÚdÚaZoverr   r   r	   Úremove_margin   s    r   zE:/soccer/league_data/r   z.csvz	utf-8-sig)ÚencodingZSeasonz  ú z: T)Zignore_index)ÚFTRÚB365AÚPSCHÚPSCDÚPSCA)Zsubsetz: no data with full oddsc                 C   s   t | d | d | d ƒS )Nr   r    r!   )r   )Úrr   r   r	   Ú<lambda>+   r   r#   r   )Zaxis)ÚindexZ
PSC_fair_HZ
PSC_fair_DZ
PSC_fair_Az matcheszV
=====================================================================================uO   AWAY CLV: B365 opening > Pinnacle closing fair â€” by league and edge thresholdzU=====================================================================================ZLeaguez<16ZEdgez>6ÚNz>5zP&Lz>8zROI%z>7zWR%zU-------------------------------------------------------------------------------------)ç{®Gáz”?çš™™™™™©?çš™™™™™¹?r   c                 C   s$   g | ]\}}|d  |d dkf‘qS ©r   r   ÚAr   ©r   r   r"   r   r   r	   r
   >   r   r
   é
   é   z <<z +Ú z >r   z>4.0fz%  z>8.2fz>7.2fz>6.1fu<   HOME CLV: B365 opening > Pinnacle closing fair â€” by leagueÚB365Hc                 C   s$   g | ]\}}|d  |d dkf‘qS )r/   r   ÚHr   r+   r   r   r	   r
   P   r   u<   DRAW CLV: B365 opening > Pinnacle closing fair â€” by leagueÚB365Dc                 C   s$   g | ]\}}|d  |d dkf‘qS )r1   r   ÚDr   r+   r   r   r	   r
   b   r   u'   PER-SEASON Away CLV >2% â€” all leagues)Úendz>9gR¸…ëQð?c                 C   s$   g | ]\}}|d  |d dkf‘qS r)   r   r+   r   r   r	   r
   y   r   z>+8.1fú%zn/au!   COMBINED ALL LEAGUES â€” Away CLV)r   r&   r'   r(   g333333Ã?c                 C   s$   g | ]\}}|d  |d dkf‘qS r)   r   r+   r   r   r	   r
   Š   r   z  >z% edge  z bets  P&L=z>+9.2fz  ROI=z>+7.2fz%  WR=z.1f))ZpandasZpdZseasonsZleaguesr   r   Zall_league_dataÚitemsÚcodeÚnameZdfsÚsZread_csvr   ÚappendÚ	ExceptionÚeÚprintÚconcatZdfZdropnar   ÚcopyÚzipZapplyZtHZtDZtAZSeriesr$   ZedgeÚsubZiterrowsr   r   ÚpZroiÚwrZmarkerÚvaluesZcombinedr   r   r   r	   Ú<module>   sÐ   ú	26
 B
6
 B
6
 B
$

 