
    j6                     .    d dl m Z mZ d Zd Zd Zd ZdS )    )datetimetimezonec                      ddl m}  d t          dd          D             } | |          }|j        |j        k    sJ |j        dk    sJ |j        dk    sJ |j        |j        k    sJ |j	        dk    sJ d S )Nr   )compute_chart_indicatorsc                 6    g | ]}||d z   |dz
  |dz   d|z   dS )      d   openhighlowclosevolume .0is     tests/test_market_context.py
<listcomp>z=test_compute_chart_indicators_for_uptrend.<locals>.<listcomp>   sG        AE!a%!a%3QR7SS      r	      2   )
market_contextr   rangesma_fastsma_slowrsi_14atr_14bollinger_upperbollinger_lowervwap)r   candles
indicatorss      r   )test_compute_chart_indicators_for_uptrendr%      s    777777 q"  G
 *)'22J!44444r!!!!q    %
(BBBBB?Qr   c                  @   ddl m}  d t          d          D             } | d|ddd	          }|j        dk    sJ |j        dk    sJ |j        j        |j        j        k    sJ d
|j        v sJ |j	        dk    sJ |
                                d         dk    sJ d S )Nr   )build_market_context_snapshotc                 <    g | ]}d |z   d|z   d|z   d|z   d|z   dS )r
   g   c   f   i  r   r   r   s     r   r   zCtest_context_snapshot_classifies_market_context.<locals>.<listcomp>   sM        q#'"q&37VZ]^V^__  r   (   BTCi@B g-C6?hyperliquid)coinr#   open_interest_usdfunding_ratesourcetrend_upg      ?
event_typer   )r   r'   r   r/   r2   r$   r   r   tagsreliability_scoreas_event)r'   r#   snapshots      r   /test_context_snapshot_classifies_market_contextr9      s    <<<<<< r  G
 -,#  H =E!!!!?m++++'(*=*FFFFF&&&&%++++|,0@@@@@@@r   c                      ddl m}  ddddddddddd	dd
dddg} | |          }|d         j        dk    sJ |d         j        dk    sJ |d         j        dk    sJ |d
         j        dk    sJ d S )Nr   )score_signal_reliabilitylisting_newsupg      @)r2   predicted_directionactual_return_pctg      ?downg       rumorg         g        )r   r;   sample_sizehit_rateavg_return_pct)r;   observationsscoress      r   8test_signal_reliability_scores_historical_predictivenessrH   -   s    777777 "$UXYY!$UXYY!&W[\\4dSS	L &%l33F.!-2222.!*c1111.!014444'?#s******r   c                     ddl m}m}m}  |t	          dddt
          j                  ddd |d	d
ddddd          dddd	  	        }| dz  } |||           |                                }d|v sJ d|v sJ d S )Nr   )MarketContextSnapshotChartIndicatorsappend_market_context_eventi  r	   )tzinfoETHr.   15m
   	   7   g333333?      gffffff$@)r   r   r   r   r    r!   r"   {   g{Gz?)r3   g?)	tsr/   r2   	timeframer$   r0   r1   r5   r6   zmarket_context.jsonlz"event_type": "market_context"z"coin": "ETH")r   rJ   rK   rL   r   r   utc	read_text)tmp_pathrJ   rK   rL   r8   pathtexts          r   -test_append_market_context_event_writes_jsonlr]   ?   s    bbbbbbbbbb$$D!Qx|444"?B2ccewx  @D  E  E  E
 
 
H ,,Dh///>>D+t3333d""""""r   N)r   r   r%   r9   rH   r]   r   r   r   <module>r^      sf    ' ' ' ' ' ' ' '  "A A A0+ + +$# # # # #r   