
    i                         S SK Jr  S SKJrJr  S SKJrJrJr  S SK	J
r
  S SKJrJrJrJr    SS\S\S	\S
\S\S\S\S\S\4S jjrg)    )simplefilter)	DataFrameSeries)DictLikeIntList)hlc3)v_datetime_orderedv_listv_offsetv_seriesNhighlowclosevolumeanchorbandsoffsetkwargsreturnc                 \   Sn[        X5      n [        X5      n[        X(5      n[        X85      nU b	  Ub  Ub  Uc  g[        U5      n[        U5      nU(       a5  [        U[        5      (       a   [        U5      S:  a  UR                  5       nOSn[        XUS9n	[        U5      (       a  [        U	5      (       d  [        S5        gSU 3n
X-  n[        S[        S9  UR                  UR                  R                  U5      5      R                  5       UR                  UR                  R                  U5      5      R                  5       -  nU(       a  [        U5      (       a  X9U-
  S	-  -  nUR                  UR                  R                  U5      5      R                  5       nUR                  UR                  R                  U5      5      R                  5       nX-  S
-  nXl        SUl        U(       a  [%        UR                   U0UR                  S9nU H_  nUUW-  -
  UU
 SU 3'   UUU-  -   UU
 SU 3'   U
=UU
 SU 3   l        UU
 SU 3   l        SUU
 SU 3   l        SUU
 SU 3   l        Ma     U
Ul        SUl        US:w  a:  U(       a"  WR&                  (       d  UR)                  U5      nUR)                  U5      nSU;   a?  U(       a%  WR&                  (       d  UR+                  US   SS9  OUR+                  US   SS9  U(       a  WR&                  (       d  U$ U$ )a  Volume Weighted Average Price

This indicator computes the Volume Weighted Average Price.

Sources:
    * [tradingview](https://www.tradingview.com/wiki/Volume_Weighted_Average_Price_(VWAP))
    * [Trading Technologies](https://www.tradingtechnologies.com/help/x-study/technical-indicator-definitions/volume-weighted-average-price-vwap/)
    * [Stockcharts](https://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:vwap_intraday)
    * [Sierra Chart](https://www.sierrachart.com/index.php?page=doc/StudiesReference.php&ID=108&Name=Volume_Weighted_Average_Price_-_VWAP_-_with_Standard_Deviation_Lines)

Parameters:
    high (Series): ```high``` Series
    low (Series): ```low``` Series
    close (Series): ```close``` Series
    volume (Series): ```volume``` Series
    anchor (str): VWAP Anchor. Default: ```"D"```.
    bands (list): List of positive ```IntFloat``` deviations.
        Default: ```[]```
    offset (int): Post shift. Default: ```0```

Other Parameters:
    fillna (value): ```pd.DataFrame.fillna(value)```

Returns:
    (Series | pd.DataFrame): ```DataFrame``` when ```bands``` is set.
        Default: ```Series```

Note:
    * Commonly used with intraday charts to identify general direction.
    * Depending on the index values, it will implement various
      [Timeseries Offset Aliases](https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#timeseries-offset-aliases)

Tip:
    * Negative bands are computed automatically.
   ND)r   r   r   z+[!] VWAP requires an ordered DatetimeIndex.VWAP_ignore)actioncategory   g      ?overlap)index_L__U_r   fillnaT)inplace)r   r   r   
isinstancestrlenupperr	   r
   printr   UserWarninggroupbyr    	to_periodcumsumnamer   r   emptyshiftr#   )r   r   r   r   r   r   r   r   _lengthtypical_price_propswpvwapvwap_varvwap_var_sumvwap_volume_sumstd_volume_weighteddfis                      P/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/volume/vwap.pyr5   r5   
   s   R GD"D
3
 CU$Ef&F|s{emv~5MEfF*VS))c&kQ.>d59Mf%%}--;< VHF		B;7::bhh((0188:
..//7
8
?
?
ABD UT1a77WX^^--f56vvx 	 WV\\++F34VVX 	+=#E IDM		4(<A$(1/B+B$BB&QC !$(1/B+B$BB&QC !FLLB&QC !&vhc!,=)>)C-6B&QC !*-6B&QC !*   {&!Bzz&! 6IIfX&I5KKx($K7RXX	K    )NNN)warningsr   pandasr   r   pandas_ta._typingr   r   r   pandas_ta.overlapr	   pandas_ta.utilsr
   r   r   r   r&   r5    r=   r<   <module>rD      s    ! $ 1 1 " J J '+n
nn&,n6<nn#n n #+n 	nr=   