
    Tj>              	           S SK rS SKrS SKJrJr  S\S\\	   4S jr
S\S\R                  S\R                  4S jrS\S\R                  S\R                  4S jrSS\S\R                  S	\S\R                   4S
 jjrg)    N)
load_modelMODEL_FEATURESmodel_artifactreturnc                 X    U R                  S5      nUb  [        U5      S:  a  U$ [        $ )u   Извлекает список признаков из артефакта модели.
Приоритет: сохранённые features > MODEL_FEATURES по умолчанию.featuresr   )getlenr   )r   saveds     //home/ai/projects/AI_Strategy/models/predict.py_get_featuresr      s/     z*ESZ!^    dfc                    U S   nU R                  S5      n[        U 5      nU Vs/ s H  oUUR                  ;   d  M  UPM     nn[        U5      [        U5      :  a>  [	        U5      [	        U5      -
  n[        S[        U5       S[        U5      S S  S35        X   R                  S5      nU(       a  UR                  U5      nUR                  U5      $ s  snf Nmodelscaleru,     [WARN] predict.py: отсутствует u    признаков:    z...r   )
r	   r   columnsr
   setprintlistfillna	transformpredict	r   r   r   r   r   c	availablemissingXs	            r   r   r      s    7#E)F^,H$8HqRZZHI8
9~H%h-#i.0<S\NJ_`del`mnpop`q_rruvw
QAQ== 9
   CCc                    U S   nU R                  S5      n[        U 5      nU Vs/ s H  oUUR                  ;   d  M  UPM     nn[        U5      [        U5      :  a>  [	        U5      [	        U5      -
  n[        S[        U5       S[        U5      S S  S35        X   R                  S5      nU(       a  UR                  U5      nUR                  U5      $ s  snf r   )
r	   r   r   r
   r   r   r   r   r   predict_probar   s	            r   r#   r#      s    7#E)F^,H$8HqRZZHI8
9~H%h-#i.0<S\NJ_`del`mnpop`q_rruvw
QAQq!! 9r!   	thresholdc           	      j   [        X5      nUR                  S:X  a  UR                  S   S:  a
  US S 2S4   nOUR                  S:X  a	  US S 2S4   OUn[        R                  " XB:  S[        R                  " USU-
  :*  SS5      5      n[
        R                  " XQR                  [        U5      * S  S9$ )N      r   )index)	r#   ndimshapenpwherepdSeriesr)   r
   )r   r   r$   probsp1signalss         r   generate_signalr3   +   s    .-EzzQ5;;q>Q.1a4[!JJ!OU1a4[hhr288B!i-4GQ+OPG99WHHc'l]^$<==r   )g333333?)pandasr.   numpyr,   models.trainr   r   dictr   strr   	DataFramendarrayr   r#   floatr/   r3    r   r   <module>r=      s      3$ 49 D bll rzz "$ "BLL "RZZ ">D >bll >u >WYW`W` >r   