o
    çUjÑ  ã                   @  sT   d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZ dd
d„Zddd„ZdS )a"  Warren Buffett-style quality-value scoring.

Buffett buys wonderful businesses at fair prices: durable moats (high,
stable returns on equity and margins), conservative balance sheets (low
debt), owner earnings (strong free cash flow), and a margin of safety
versus a rough intrinsic value.
é    )Úannotationsé   )Ú	StockData)ÚSignalÚStrategyResultÚcombineÚhigher_betterÚlower_betterÚverdict_fromÚsdr   Úreturnú!tuple[float | None, float | None]c                 C  sì   |   d¡}|   d¡}| j}|r|r|dks|sdS |   d¡}|du r$dntdtd	|ƒƒ}d
}d}d}|}	d}
td|d ƒD ]}|	d| 9 }	|
|	d| |  7 }
q=|	d|  ||  }|
|d| |  7 }
|
| }|rp|| | nd}||fS )zOVery rough owner-earnings DCF. Returns (intrinsic_per_share, margin_of_safety).ÚfreeCashflowÚsharesOutstandingr   )NNÚearningsGrowthNçš™™™™™©?gš™™™™™©¿ç¸…ëQ¸¾?çš™™™™™¹?gš™™™™™™?é
   ç        é   )ÚgetÚpriceÚmaxÚminÚrange)r   ÚfcfÚsharesr   ÚgrowthÚgZdiscountZ
terminal_gÚyearsZcashÚpvÚyrZterminalZintrinsic_psÚmargin© r$   úWC:\Users\cheed\OneDrive\Desktop\Claude work\finance-tool\screener\strategies\buffett.pyÚ_intrinsic_dcf   s(   


r&   r   c                 C  sR  |   d¡}|   d¡}|   d¡}|   d¡}|   d¡}| j}|r$|r$|| nd }|   d¡}|   d¡}	|   d¡}
t| ƒ\}}td	|t|d
dƒddƒtd|t|ddƒddƒtd|t|ddƒdƒtd|t|d
dƒdƒtd|t|dd
ƒddƒtd|t|ddƒd
ƒtd|	t|	dd ƒdd!ƒtd"|
t|
d#d$ƒd%ƒtd&|t|dd'ƒd(d)ƒg	}t|ƒ}td*||t|ƒƒS )+NÚreturnOnEquityÚdebtToEquityÚgrossMarginsÚoperatingMarginsr   ÚrevenueGrowthÚ
trailingPEÚcurrentRatioZROEg{®Gáz´?g      Ð?g
×£p=
Ç?zreturn on equity, moat proxyzDebt/Equityé   é–   g333333Ã?zconservative balance sheetZGrossMargingš™™™™™É?gš™™™™™á?r   ZOpMarginr   Z	FCF_Yieldg{®Gáz„?zowner earningsZ	RevGrowthr   zP/Er   é#   z
fair priceZCurrentRatiog      ð?g       @r   ZMarginOfSafetygš™™™™™Ù?gìQ¸…ë±?zvs DCF intrinsic valueÚBuffett)	r   Ú
market_capr&   r   r   r	   r   r   r
   )r   ZroeZdteZgrossÚopr   ZmcapZ	fcf_yieldZ
rev_growthÚpeZcurrent_ratioÚ_Zmargin_of_safetyZsignalsÚscorer$   r$   r%   Úevaluate+   s>   







ÿÿÿÿôr7   N)r   r   r   r   )r   r   r   r   )Ú__doc__Ú
__future__r   Údatar   Zscoringr   r   r   r   r	   r
   r&   r7   r$   r$   r$   r%   Ú<module>   s     
