}L ixddlZddlZddlZddlZddlmZmZddlm Z ddl m Z m Z GddZ GddZy) N)utilsconst)YfData) YFExceptionYFNotImplementedErrorceZdZejfdedefdZed dZ ede fdZ ede jfdZy) Fundamentalsdatasymbolc|tjur-tjdtd|j |||_||_d|_d|_ d|_ d|_ d|_ d|_ t|||_ y)N=Set proxy via new config function: yf.set_config(proxy=proxy) stacklevelF)r _SENTINEL_warningswarnDeprecationWarning _set_proxy_data_symbol _earnings _financials_shares_financials_data_fin_data_quote_basics_already_scraped Financials)selfr r proxys d/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/yfinance/scrapers/fundamentals.py__init__zFundamentals.__init__ sz (( ( MMY[mz{ | OOE "   $#',$%dF3returnc|jSN)rrs r! financialszFundamentals.financialssr#c8tjdty)Nzf'Ticker.earnings' is deprecated as not available via API. Look for "Net Income" in Ticker.income_stmt.)rrrr's r!earningszFundamentals.earnings"s ACU Vr#cH|j td|jS)Nshares)rrr's r!r,zFundamentals.shares's! << '1 1||r#N)r$r)__name__ __module__ __qualname__rrrstrr"propertyr(dictr*pd DataFramer,r#r!r r sl8=8H8H4V4S4"  $ r#r ceZdZdedefdZdejfdejfdZ dejfdejfdZ dejfdejfdZ e jd Zd Zd edejfd Zy )rr r cJ||_||_i|_i|_i|_yr&)rr_income_time_series_balance_sheet_time_series_cash_flow_time_series)rr r s r!r"zFinancials.__init__/s(  #% *,'&(#r#yearlyr$c|tjur7tjdtd|j j ||j}||vr|jd|||<||S)Nr rrincome) rrrrrrrr8_fetch_time_seriesrfreqr ress r!get_income_time_seriesz!Financials.get_income_time_series6sg (( ( MMY[mz{ | JJ ! !% (&& s?//$?CI4yr#c|tjur7tjdtd|j j ||j}||vr|jd|||<||S)Nr rr balance-sheet) rrrrrrrr9r>r?s r!get_balance_sheet_time_seriesz(Financials.get_balance_sheet_time_series@sg (( ( MMY[mz{ | JJ ! !% (-- s?//FCI4yr#c|tjur7tjdtd|j j ||j}||vr|jd|||<||S)Nr rr cash-flow) rrrrrrrr:r>r?s r!get_cash_flow_time_seriesz$Financials.get_cash_flow_time_seriesJsg (( ( MMY[mz{ | JJ ! !% ()) s?// TBCI4yr#cgd}gd}||vrtd|||vrtd||dk(r|dvr td |j||}||S tjS#t$rR}tjj |j d|d |Yd}~tjSd}~wwxYw) N)r=rDrGr; quarterlytrailingz'Illegal argument: name must be one of: z,Illegal argument: timescale must be one of: rL)r=rGzSIllegal argument: frequency 'trailing' only available for cash-flow or income data.z: Failed to create z financials table for reason: ) ValueError_create_financials_tablerr get_yf_loggererrorrr3r4)rname timescale allowed_namesallowed_timescales statementes r!r>zFinancials._fetch_time_seriesTs A @ } $F}oVW W . .KL^K_`a a  "t3J'JMN N u55dIFI$  %||~ u    ! ' '4<<.8KD6Qopqor(s t t||~ usA-- C65CCcz|dk(rd}tj|} |j||S#t$rYywxYw)Nr=r()rfundamentals_keys_get_financials_time_series Exception)rrQrRkeyss r!rNz#Financials._create_financials_tablensI 8 D&&t, 33ItD D   s . ::r[cdddd}||}d|jd|j}|dzdj|Dcgc]}||z c}z}tjd d d }tjj j d }|d t|jdt|jz }|jj|j} tj| } | dd} | D]} | d=t} i}| D]9}|jD]$}|dk(r| j!||||||<&;t#t%| } tj&| d}tj(|t%|j}|j+D]Y\}}|tj(||g}|Dcic]!}tj|d|dd#c}|j,|<[|j.j0j3d|zdd|_|j4D]} || j7d|| <|j9|Dcgc]}||j.vs|c}}|t#|j4d}|dk(r|j:ddd gf}|Scc}wcc}wcc}w)!NannualrKrLrJzRhttps://query2.finance.yahoo.com/ws/fundamentals-timeseries/v1/finance/timeseries/z?symbol=z&type=,i Dz &period1=z &period2=)url timeseriesresultmeta timestamps)unit)columnsindexasOfDate reportedValueraw^T)regexfloat)reverser)rjoindatetimer3 Timestamputcnowceilintrfr cache_gettextjsonloadssetr[updatesortedlist to_datetimer4itemslocrjr0replaceriastypereindexiloc)rrRr[timescale_translation ts_url_basekrbstart_dtendjson_str json_datadata_rawd timestamps data_unpackedxdatesdfvs r!rYz&Financials._get_financials_time_serieszs+3+[e f))4 kkokwkwjxyABFBNBNAOP H$sxx0M1Q0M'NN$$T2r2ll!!#((- 3x11345Ys3==??S>TUU::''C'055JJx( \*84 A&   U   ,AVVX , #%%ad+'(tM!$  , , D,- z4 \\%tM4F4F4H/I J!'') \DAqz\\%s;YZ[TUa m4a6H6OO[BFF1I \ 88<<''i4'H *AqELL)BqE *ZZD:qAM: ; rzz40 1  #QCB ]1N<\;s K$ 1&K)K.$K.N)r-r.r/rr0r"rrr3r4rBrErHrlog_indent_decoratorr>rNrrYr5r#r!rr.s)V)S)+3%:J:Jr||2:AQAQVXVbVb.6U=M=MRTR^R^  2 444BLL4r#r)rtr{rpandasr3yfinancerr yfinance.dataryfinance.exceptionsrrr rr5r#r!rs1 ! B  F@@r#