
    Wj                     @    S r SSKrS\R                  4S jrS\4S jrg)uS   
Парсеры CLI-аргументов и определение режимов.
    Nreturnc                  `   [         R                  " SS9n U R                  S[        SSS9  U R                  S[        S/ S	QS
9  U R                  S[        SSS9  U R                  SSSS9  U R                  SSSS9  U R                  S[        SSS9  U R                  SSSSSS9  U R                  SSSS9  U R                  SSSS9  U R                  SSS S9  U R                  S![        SS"S9  U R                  S#SS$S9  U R                  S%SS&S9  U R                  S'SS(S9  U R                  S)SS*S9  U R                  S+[        SS,S9  U R                  S-SS.S9  U R                  S/SS0S9  U R                  S1SS2S9  U R                  S3SS4S9  U R                  S5SS6S9  U R                  S7SS8S9  U R                  S9SS:S9  U R                  S;SS<S9  U R                  S=[        SS>S9  U R                  S?SS@S9  U R                  SASSBS9  U R                  SCSSDS9  U R                  SE[        SFSGS9  U $ )Hu3   Строит парсер аргументов CLI.zMOEX ML Trading Strategy)descriptionz--tickerSBERzTicker symbol)typedefaulthelpz--timeframeH1)r
   D1W1)r   r   choicesz--limitNz	Row limitz--cv
store_truezRun cross-validation)actionr	   z--listzList MOEX instrumentsz--savezSave model to pathz--3classz--three-classthree_classzRun 3-class outcome classifier)destr   r	   z--rlzRun DQN reinforcement learningz--directionalz<Run directional probability model (long/short success probs)z--multiz+Use multi-timeframe features (H1 + D1 + W1)z--train-tickersz9Comma-separated tickers to train on (e.g. SBER,GAZP,LKOH)z--lstmz$Run LSTM model with 50-period windowz--xgbz#Use XGBoost instead of RandomForestz
--ensemblezEnsemble RF + XGBoostz--importancez9Feature importance analysis with reduced model comparisonz--top-kzGUse only top K features (from importance ranking) for directional modelz
--stackingz6Stacking ensemble (RF + XGB + LightGBM + meta-learner)z
--lightgbmz$Use LightGBM instead of RandomForestz
--optimizez/Optuna hyperparameter optimization for LightGBMz--calibratez=Calibrate probabilities via Platt scaling on held-out val setz--autoencoderz3Unsupervised autoencoder anomaly detection strategyz	--expertsz2Train expert ensemble (parallel LSTM experts + RF)z	--cascadez Use cascaded expert architecturez--moezAMulti-Timeframe MoE: train separate ExpertEnsemble for H1, D1, W1z--loadz$Load pre-trained model for inferencez--benchmarkz;Run Walk-Forward CV benchmark for RF vs XGBoost vs LightGBMz--benchmark-expertsz<Include LSTM Expert Ensemble in benchmark (slow, 10-15 mins)z--select-featuresz.Run feature selection and collinearity removalz--k-features   z<Number of top features to keep (used with --select-features))argparseArgumentParseradd_argumentstrint)parsers    ,/home/ai/projects/AI_Strategy/cli/parsers.pybuild_parserr      s   $$1KLF

f?S
CGYZ
	TL
|:PQ
<ST
sD?ST

O-P\=  ?
|:Z[
[  ]
	,J  L
)TX  Z
<bc
;`a
\@WX
|X  Z
	Tf  h
\U  W
\@fg
\N  P
l\  ^
R  T
LQ  S
L?ab
`  b
sD?ef
lZ  \
-l[  ]
+LM  O
S"[  ]M    c                 @   U R                   (       a  U R                  (       a  gU R                   (       a  gU R                  (       a  U R                  (       a  gU R                  (       a  gU R                  (       a  gU R                  (       a  gU R
                  (       a  gU R                  (       a  gU R                  (       a  g	U R                  (       a  g
U R                  (       a  gU R                  (       a  gU R                  (       a  gU R                  (       a  gg)uf   Определяет активный режим из взаимоисключающих флагов.	moe_infer	moe_trainexperts_inferexperts_trainlstmdirectionallist
importancerlcv	benchmarkselect_features3classautoencoderpipeline)moeloadexpertsr!   r"   r#   r$   r%   r&   r'   r(   r   r*   )argss    r   select_moder0   ;   s    xxDIIxx||		||yyyywwww~~ r   )__doc__r   r   r   r   r0    r   r   <module>r3      s.    0h-- 0f r   