}L i%nddlZddlZddlZddlmZddlmZmZddl m Z ddl m Z edZ GddZy) N)utils) _BASE_URL_ _SENTINEL_)YfData)YFDataExceptionz/v10/finance/quoteSummarycfeZdZdZefdedefdZede jfdZ ede jfdZ ede jfdZ ede jfd Zede jfd Zede jfd Zd Zd ZedZdZdZdZdZdZdZdZy)Holderszhttps://finance.yahoo.com/quotedatasymbolc||_||_|tur-tjdt d|j |d|_d|_d|_ d|_ d|_ d|_ d|_ y)Nz=Set proxy via new config function: yf.set_config(proxy=proxy)) stacklevel)_data_symbolrwarningswarnDeprecationWarning _set_proxy_major_major_direct_holders_institutional _mutualfund_insider_transactions_insider_purchases_insider_roster)selfr r proxys _/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/yfinance/scrapers/holders.py__init__zHolders.__init__sn   " MMY[mz{ | OOE " %)""%)""&#returncR|j|j|jSN)r_fetch_and_parsers rmajorz Holders.majors" ;;   ! ! #{{r cR|j|j|jSr#)rr$r%s r institutionalzHolders.institutional%s&    &  ! ! #"""r cR|j|j|jSr#)rr$r%s r mutualfundzHolders.mutualfund+s&    #  ! ! #r cR|j|j|jSr#)rr$r%s rinsider_transactionszHolders.insider_transactions1s&  % % -  ! ! #)))r cR|j|j|jSr#)rr$r%s rinsider_purchaseszHolders.insider_purchases7s&  " " *  ! ! #&&&r cR|j|j|jSr#)rr$r%s rinsider_rosterzHolders.insider_roster=s&    '  ! ! ####r cdjgd}|ddd}|jjtd|j|}|S)N,)institutionOwnership fundOwnershipmajorDirectHoldersmajorHoldersBreakdowninsiderTransactionsinsiderHoldersnetSharePurchaseActivityzfinance.yahoo.comfalse)modules corsDomain formatted/)params)joinr get_raw_json_QUOTE_SUMMARY_URL_r)rr; params_dictresults r_fetchzHolders._fetchCsU(( jk")9L[bc ((,?+@$,,)PYd(e r cR |j} |ddd}|j)|j+di|j-|j+di|j/|j+di|j1|j+di|j3|j+di|j5|j+d iy#tjjj$r}t j jt||jjztj|_ tj|_tj|_tj|_tj|_tj|_tj|_Yd}~yd}~wwxYw#t6t8f$r t;d wxYw) N quoteSummaryrDrr3r4r6r7r8r9z"Failed to parse holders json data.)rE curl_cffirequests exceptions HTTPErrorr get_yf_loggererrorstrresponsetextpd DataFramerrrrrrr_parse_institution_ownershipget_parse_fund_ownership_parse_major_holders_breakdown_parse_insider_transactions_parse_insider_holders"_parse_net_share_purchase_activityKeyError IndexErrorr)rrDer s rr$zHolders._fetch_and_parseJs [[]F H.)(3A6D  - -dhh7Mr.R S  & &txx'D E  / /9PRT0U V  , ,TXX6KR-P Q  ' '1A2(F G  3 3DHH=WY[4\ ]-!!,,66     ! ' 'A(@ A,,.DK)+D &"$,,.D !||~D )+D &&(llnD ##%<<>D  .*% H!"FG G Hs$C%CH %'H C2HH H&c8t|tr d|vr|dS|S)Nraw) isinstancedict)r s r_parse_raw_valueszHolders._parse_raw_valuesgs! dD !etm;  r cN|jdi}|D]1}|jD]\}}|j|||<|d=3tj|}|j s5tj |dd|d<|jdddd d d ||_y N ownershipListmaxAge reportDatesunit Date ReportedHolderSharesValue)rf organizationpositionvalueTcolumnsinplace) rTitemsrarQrRempty to_datetimerenamerrr holdersownerkvdfs rrSz$Holders._parse_institution_ownershipms((?B/ E  5111!4a 5h \\' "xx!~~b.>SIB|  II_hdlw~JNI O r cN|jdi}|D]1}|jD]\}}|j|||<|d=3tj|}|j s5tj |dd|d<|jdddd d d ||_yrc) rTrtrarQrRrurvrwrrxs rrUzHolders._parse_fund_ownershipys((?B/ E  5111!4a 5h \\' "xx!~~b.>SIB|  II_hdlw~JNI Or cN|jdi}|D]1}|jD]\}}|j|||<|d=3tj|}|j s5tj |dd|d<|jdddd d d ||_y) Nryrerfrgrhrjrkrlrm)rfrnpositionDirect valueDirectTrq) rTrtrarQrRrurvrwrrxs r_parse_major_direct_holdersz#Holders._parse_major_direct_holderss((9b) E  5111!4a 5h \\' "xx!~~b.>SIB|  II_hjrDKLVZI [%'"r cd|vr|d=tjj|d}|js3d|j_|j |jddid||_y) Nreindex)orient BreakdownrrmTrq)rQrR from_dictrurrnamerwrrr r}s rrVz&Holders._parse_major_holders_breakdowns` t X \\ # #D # 9xx)BJJO IIrzz!}g6I E r c X|jdi}|D]1}|jD]\}}|j|||<|d=3tj|}|j s:tj |dd|d<|jdddd d d d d dd d||_y)N transactionsre startDatergrhz Start DateInsiderPositionURL TransactionTextrlrm Ownership) r filerName filerRelationfilerUrl moneyTexttransactionTextsharesrp ownershipTrq) rTrtrarQrRrurvrwrrxs rrWz#Holders._parse_insider_transactionss((>2. E  5111!4a 5h \\' "xx nnR _3GB{O II)&!+!*#)" (   &("r c z|jdi}|D]1}|jD]\}}|j|||<|d=3tj|}|j sd|vrtj |dd|d<d|vrtj |dd|d<|jddd d d d d ddd d|djt|d<|djt|d<|d jt|d <|d jt|d <||_ y)NryrepositionDirectDatergrhlatestTransDateNamerrzMost Recent TransactionzLatest Transaction DatezPosition Direct DatezShares Owned DirectlyzPosition Indirect DatezShares Owned Indirectly) rrelationurltransactionDescriptionrrrpositionIndirectDatepositionIndirectTrq) rTrtrarQrRrurvrwastyperNrrxs rrXzHolders._parse_insider_holderss[((9b) E  5111!4a 5h \\' "xx#r)+->>"=Q:RY\+]'( B&(*r:K7LSV(W$% II&*C#<&<"9(@$=   F**3/BvJ ^2237BzN5 ((-BuI,./H,I,P,PQT,UB( )!r cFtjd|jddzgdd|jd|jd|jd|jd |jd |jd |jd gd |jd|jd|jdtjtjtjtjgij }||_y)NzInsider Purchases Last period) PurchasesSaleszNet Shares Purchased (Sold)zTotal Insider Shares Heldz% Net Shares Purchased (Sold)z % Buy Sharesz % Sell Sharesrl buyInfoSharessellInfoShares netInfoSharestotalInsiderSharesnetPercentInsiderSharesbuyPercentInsiderSharessellPercentInsiderSharesTrans buyInfoCount sellInfoCount netInfoCount)rQrRrTNAconvert_dtypesrrs rrYz*Holders._parse_net_share_purchase_activitys \\)DHHXr,BBEHH_-HH-.HH_-HH12HH67HH67HH78HH^,HH_-HH^,EEEEEEEE'  < . = >#%r N)__name__ __module__ __qualname__ _SCRAPE_URL_rrrNrpropertyrQrRr&r(r*r,r.r0rEr$ staticmethodrarSrUrrVrWrXrYr rr r s4L8B$V$S$ r|| #r||##  BLL  *bll** '2<<'' $ $$ H: !  ((,"@ %r r )rHpandasrQryfinanceryfinance.constrr yfinance.dataryfinance.exceptionsrrBr rr rrs41 /# $=>d%d%r