
    k.j                       d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
  G d dee          Z G d d	ee          Z ed
           G d d                      Z ed
           G d d                      Z ed
           G d d                      Z ed
           G d d                      Z ed
           G d d                      Z ed
           G d d                      Z ed
           G d d                      Z ed
           G d d                      Z ed
           G d d                      ZdS )    )annotations)	dataclassfield)Decimal)Enum)Anyc                  "    e Zd ZdZdZdZdZdZdS )CandidateStatusresearch	watchlist	candidatelive_preview_readyblockedN)__name__
__module____qualname__RESEARCH	WATCHLIST	CANDIDATELIVE_PREVIEW_READYBLOCKED     I/home/agent/projects/CryptoTradingBot/Crypto_Agent/src/ctb_copy/models.pyr
   r
   	   s(        HII-GGGr   r
   c                      e Zd ZdZdZdS )SignalDecisionallow_shadowblockN)r   r   r   ALLOW_SHADOWBLOCKr   r   r   r   r      s        !LEEEr   r   T)frozenc                      e Zd ZU dZded<   ded<    ed          Zded<    ed          Zded<    ed          Zded	<    ed          Z	ded
<    ed          Z
ded<    ed          Zded<   dS )CopyCostInputz|Conservative follower cost model inputs.

    Percent fields are human percentages, e.g. Decimal("0.045") means 0.045%.
    r   notional_usdgross_pnl_usdz0.045entry_fee_pctexit_fee_pct0
spread_pctmodeled_slippage_pctfunding_usddelay_penalty_usdN)r   r   r   __doc____annotations__r   r&   r'   r)   r*   r+   r,   r   r   r   r#   r#      s          
 $WW--M----#GG,,L,,,,!'#,,J&&&&$+GCLL0000"73<<K''''!(------r   r#   c                  `    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded	<   d
S )CopyCostBreakdownr   r%   entry_fee_usdexit_fee_usdspread_cost_usdmodeled_slippage_usdr+   r,   net_pnl_usdNr   r   r   r.   r   r   r   r0   r0   '   sr         !!!!r   r0   c                     e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<    ed          Zded<    ed          Zded<    ed          Zded<    ed          Zded<    ed          Z	ded<   dZ
ded<    ed          Zded<    ed          Zded<    ed          Zded<    ed          Zded<    ed          Zded<    ed          Zded<   dZded<   dZded<   d S )!LeaderMetricsstr	leader_idintage_daysclosed_shadow_tradesshadow_daysr   realized_pnl_usdunrealized_pnl_sharemax_drawdown_pctprofit_factor_after_costsnet_pnl_after_costs_usdr(   top_leader_pnl_sharetop_coin_pnl_sharetop_trade_pnl_sharesingle_coin_pnl_share999avg_liquidation_distance_pctr   market_phases_observedleader_correlationcoin_overlapdirection_overlapregime_overlapdrawdown_overlapcrowding_scoreFboolabrupt_style_changehidden_hedge_riskN)r   r   r   r.   r   rD   rE   rF   rG   rI   rJ   rK   rL   rM   rN   rO   rP   rR   rS   r   r   r   r8   r8   3   s        NNNMMM!!!!&&&&$$$$$+GCLL0000")'#,,....#*73<<////%,WS\\1111,3GENN ::::"#####")'#,,....#GCLLL((((!(----%gcllN**** ',,,,%gcllN**** %%%%%#######r   r8   c                  8    e Zd ZU ded<   ded<   ded<   ded<   d	S )
LeaderScorecardr9   r:   r
   statustuple[str, ...]reasonsr8   metricsNr6   r   r   r   rU   rU   N   s?         NNNr   rU   c                      e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   dZd
ed<   dZd
ed<    ee          Zded<   dS )PositionCopySignalr9   r:   coinsider   position_age_hoursleader_profit_rdistance_to_leader_entry_pctr)   rQ   depth_okleader_liquidation_distance_pctfunding_rate_hourly_pctFduplicate_exposureTis_position_level)default_factorydict[str, Any]metadataN)	r   r   r   r.   rd   re   r   dictrh   r   r   r   r[   r[   V   s         NNNIIIIII))))NNN,,,,$$$$$$$$$"""""$uT:::H::::::r   r[   c                      e Zd ZU  ed          Zded<    ed          Zded<    ed          Zded<    ed          Zded	<    ed
          Z	ded<    ed          Z
ded<   dS )CopyGateConfig6r   min_position_age_hoursz0.5max_leader_profit_r_to_enterz0.75 max_distance_to_leader_entry_pctz0.08max_spread_pct8min_liquidation_distance_pctz0.02max_abs_funding_rate_hourly_pctN)r   r   r   r   rm   r.   rn   ro   rp   rr   rs   r   r   r   rk   rk   g   s         &-gcll2222,3GENN ::::07$????%gfooN----,3GCLL 8888/6wv#>>>>>>r   rk   c                  .    e Zd ZU ded<   ded<   ded<   dS )CopyGateDecisionr   decisionrW   rX   r[   signalNr6   r   r   r   ru   ru   q   s6         r   ru   c                  8    e Zd ZU ded<   ded<   ded<   ded<   dS )	VaultSnapshotr9   vault_idr;   observed_at_mssourcerg   rawNr6   r   r   r   ry   ry   x   s<         MMMKKKr   ry   c                  8    e Zd ZU ded<   ded<   ded<   ded<   dS )	WalletSnapshotr9   wallet_addressr;   r{   r|   rg   r}   Nr6   r   r   r   r   r      s?         KKKr   r   N)
__future__r   dataclassesr   r   decimalr   enumr   typingr   r9   r
   r   r#   r0   r8   rU   r[   rk   ru   ry   r   r   r   r   <module>r      s   " " " " " " ( ( ( ( ( ( ( (                      c4       S$   
 $. . . . . . . .  $        $$ $ $ $ $ $ $ $4 $        $; ; ; ; ; ; ; ;  $? ? ? ? ? ? ? ? $        $        $         r   